FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
FieldOperatorObject.hpp
1#ifndef __FISH_FIELDOPERATOROBJECT_HPP
2#define __FISH_FIELDOPERATOROBJECT_HPP
3
4#include "fishboneDllApi.h"
5
6#include <ocean/plankton/VCreator.hpp>
7#include <ocean/shrimp/VObjectStatus.hpp>
8#include <ocean/shrimp/VChart.hpp>
9
10#include <bundle/Bundle.hpp>
11
12#include "FishSkeleton.hpp"
13#include "FishField.hpp"
14
15namespace Wizt
16{
17
41 , public Fish<Fiber::Field>
42 , public VChartDependent
43 , public StatusIndicator
44{
45public:
54 FieldOperatorObject(const string&name,
55 const string&fieldname,
56 int p = 0, const RefPtr<VCreationPreferences>&VP = NullPtr());
57
58
65 void publishInputField();
66
68 ~FieldOperatorObject() noexcept;
69
70static VAcceptInfoList_t accept(const RefPtr<VObject>&vobj);
71
72 bool update(VRequest&R, double precision);
73
74 virtual bool preFieldOperation(VRequest&Context);
75
86// , Fiber::Representation&FieldIDSource) = 0;
87
88 virtual bool postFieldOperation(VRequest&Context, int newlyCreatedFields);
89
90};
91
92
93#if 0
98template <class FieldOperationObject>
99struct FieldOperationCreator : VCreator<FieldOperationObject, AcceptList<Fiber::Field> >
100{
102
106 FieldOperationCreator(const string&name, int p=0,
108 : Base_t(name, p, VP)
109 {}
110
114 template <unsigned ID>
115 FieldOperationCreator(const VCreatorProperty<ID>&CreatorProperties, int p = 0,
116 const RefPtr<VCreationPreferences>&VP=NullPtr() )
117 : Base_t(CreatorProperties, p, VP)
118 {}
119
120/*
121 RefPtr<VAcceptInfo> accept(const RefPtr<VObject>&vobj) const override
122 {
123 if (RefPtr<VAcceptInfo> VAI = Base_t::accept(vobj))
124 {
125 return VAI;
126 }
127
128 return NullPtr();
129 }
130*/
131};
132#endif
133
134} // namespace Wizt
135
136#endif /* __FISH_FISHOPERATOROBJECT_HPP */
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
A Field is a collection of CreativeArrayBase reference pointers which are accessed via FragmentID obj...
Definition Field.hpp:245
A Representation is a set of Field objects, each of them accessed via some FieldID identifier.
Definition Representation.hpp:101
Base class for objects that operate on Field objects and create new fields.
Definition FieldOperatorObject.hpp:44
virtual bool FieldOperation(VRequest &Context, Fiber::Field &, Fiber::Representation &)=0
The operation to be performed on the given field, to be overloaded in a subclass.
std::nullptr_t NullPtr
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...