FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
VertexRenderObject.hpp
1#ifndef __VERTEXRENDEROBJECT_HPP
2#define __VERTEXRENDEROBJECT_HPP
3
4#include <bone/FishSlice.hpp>
5#include <bone/FishGrid.hpp>
6#include <bone/FishSkeleton.hpp>
7#include <bone/FishField.hpp>
8
9#include <ocean/GLvish/BoundingBox.hpp>
10#include <ocean/GLvish/ArrayTypes.hpp>
11#include <ocean/GLvish/Shader.hpp>
12#include <ocean/GLvish/VGLRenderObject.hpp>
13
14#include <ocean/shrimp/VEnum.hpp>
15
16#include <GL/fieldGL.hpp>
17#include <GL/FieldBuffer.hpp>
18
19#include <bone/FishSkeleton.hpp>
20#include <bone/FishFragmentCluster.hpp>
21
22#include "VertexField.hpp"
23#include "FragmentPainter.hpp"
24
25namespace Wizt
26{
27using namespace Fiber;
28using namespace Eagle;
29
106class
107[[deprecated("This class has been replaced by the AnemoneFish classes")]]
109 , public Fish<Fiber::Slice>
110 , public Fish<Fiber::Skeleton>
112 , public FragmentPainter
113{
114public:
116
117// typedef Fiber::GridInspector<Fiber::hasCartesianCoordinates> GridInspector;
118
119 typedef ClusterState VertexRenderState;
120 typedef ClusterState State;
121
122 // create at least fragment cluster state object if not overriden in child class
123 RefPtr<VObject::State> newState() const override
124 {
125 return Fish<Fiber::FragmentCluster>::newState();
126 }
127
129 bool update(VRequest&Context, double precision);
130
137 VertexRenderObject(const string&name, int Q, const RefPtr<VCreationPreferences>&VP, int SelectionEL = 5);
138
141
146 int iterate(const RefPtr<ValuePool>&VP, FragmentCluster::Iterator&RFI) const;
147
152
153 RefPtr<ValueSet> CacheableVariables(const RefPtr<ValuePool>&Context) const;
154
158 bool renderGL(VGLRenderContext&Context) const override;
159};
160
161} // namespace
162
163#endif // __VERTEXRENDEROBJECT_HPP
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
Base class for object that render data given on vertices.
Definition VertexRenderObject.hpp:113
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
Iterator object for iterating over a fragment cluster.
Definition FragmentCluster.hpp:76
A helper class that supports rendering of a collection of fragments from various fields.
Definition FragmentPainter.hpp:53