FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
AnemoneCreationContext.hpp
1#ifndef FISH_POND_ANEMONEFISH_AnemoneCreationContext_HPP
2#define FISH_POND_ANEMONEFISH_AnemoneCreationContext_HPP
3
4#include "anemonefishDllApi.h"
5
6namespace Wizt
7{
8
9
29
30
36{
41 double ApparentCellSize2;
42
44
45 AnemoneParameters(const Eagle::metric33&theCellTensor,
47
49
50 void setOptionalParameters(RenderBasin::Program&) const;
51};
52
53
58{
59 RefPtr<GridAnemoneRenderObject> myRenderGridAnemone;
60
61// RefPtr<AnemoneCreatorBase> myAnemoneCreator;
62
69
70 RefPtr<Fiber::Skeleton> mySkeleton;
72
73 AnemoneParameters myAnemoneParameters;
74
75 RefPtr<Fiber::Representation> getChartRepresentation() const
76 {
77 if (!mySkeleton) return nullptr;
78 return (*mySkeleton)(myChart);
79 }
80
81// AnemoneCreationContext(const AnemoneCreationContext&) = default;
84
87 VRenderContext &theContext,
95
97
98 operator const WeakPtr<ValuePool>& () const
99 {
100 return myContext;
101 }
102
103 RefPtr<BoundingBox> getMyBBox() const;
104
110 {
111 return &myContext;
112 }
113
114
121 {
122 if (myFragmentID)
123 return myFragmentID->Name();
124
125 return string();
126 }
127
128 RefPtr<VObject::State> getState() const
129 {
130 return myRenderGridAnemone->getState( myContext );
131 }
132
133 bool isVisible() const;
134
138 RefPtr<Fiber::Representation> getVertices(const Fiber::SkeletonID&L) const;
139
144 {
145 return getVertices( mySkeletonID );
146 }
147
156 getCompatibleVertexDataCreator(const string&VertexFieldname,
157 const Fiber::SkeletonID&L) const;
158
163 getCompatibleVertexData(const string&VertexFieldname,
164 const Fiber::SkeletonID&L) const;
165
171 const Fiber::SkeletonID&L) const
172 {
174 getCompatibleVertexData(VertexFieldname, L) )
175 {
176 return Mb->getChunk();
177 }
178 return nullptr;
179 }
180
182 createVertexAttribute(const string&VertexFieldname,
183 const string&VertexAttributeName) const;
184};
185
186
187#if 0
188
189Future base class for list of injectors
190
191struct AnemoneEducator
192{
193 using AnemoneRenderStatus = AnemoneRenderFields::AnemoneRenderStatus;
194
195 virtual AnemoneRenderStatus initializeAnemone(Anemone&RenderAnemone,
196 const AnemoneCreationContext&ARC,
197 const RefPtr<AnemoneExplorer>&AE) const = 0;
198
199 virtual bool isValidAnemone (const Anemone&RenderAnemone, const AnemoneCreationContext&ARC, const RefPtr<AnemoneExplorer>&AE) const;
200
207 virtual bool updateAnemone(Anemone&RenderAnemone, const AnemoneCreationContext&ARC, const RefPtr<AnemoneExplorer>&AE) const;
208};
209#endif
210
211
212using AnemoneCreationContext = GridAnemoneCreationContext;
213
214
215} // namespace Wizt
216
217
218#endif // FISH_POND_ANEMONEFISH_AnemoneCreationContext_HPP
basic_string< char > string
Base class for multidimensional arrays that employ deferred storage, i.e.
Definition CreativeArrayBase.hpp:75
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
Identifier for Skeletons within a Grid.
Definition SkeletonID.hpp:24
Definition AnemoneCreationContext.hpp:11
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
Special properties that are available optionally in shader code.
Definition AnemoneCreationContext.hpp:36
Eagle::Quadratic< 3, float > CellTensor
Must store as explicit matrix for OpenGL uniform variables, which doesn't know anything about symmetr...
Definition AnemoneCreationContext.hpp:40
Definition AnemoneRenderFields.hpp:57
The context of creating a RenderAnemone.
Definition AnemoneCreationContext.hpp:58
RefPtr< Fiber::Representation > getVertices() const
Get all the vertex fields for the current refinement level.
Definition AnemoneCreationContext.hpp:143
std::string getCurrentFragmentName() const
Return the textual identifier of the current fragment or an empty string if no fragment ID is availab...
Definition AnemoneCreationContext.hpp:120
RefPtr< Fiber::ChunkBase > getCompatibleVertexChunk(const string &VertexFieldname, const Fiber::SkeletonID &L) const
Get the data chunk associated with a vertex field.
Definition AnemoneCreationContext.hpp:170
RefPtr< BoundingBox > myBoundingBox
Bounding box of this fragment under the given conditions.
Definition AnemoneCreationContext.hpp:68
VRenderContext * operator->() const
Convenience operator for easy access to VRenderContext member functions.
Definition AnemoneCreationContext.hpp:109