FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
ShadedFieldAnemone.hpp
1#ifndef __ANEMONEFISH_SHADEDFIELDANEMONE_HPP
2#define __ANEMONEFISH_SHADEDFIELDANEMONE_HPP
3
4
5#include <ocean/Anemonia/FloatOrigin.hpp>
6#include <ocean/Anemonia/Programmable.hpp>
7
8#include "FieldAnemone.hpp"
9#include "FloatingAnemone.hpp"
10
11namespace Wizt
12{
13
14
22 , public Programmable
23 , public FloatingAnemone
24{
25public:
27
29
31 getAnemoneExplorer(VRenderContext&Context) const override
32 {
33 return FloatingAnemone::getAnemoneExplorer( this->self(), Context);
34 }
35
36
37 virtual bool initializeVertexAnemone(Anemone&RenderAnemone,
38 const RefPtr<RenderBasin::Program>&ShaderProgram,
40 AnemoneCreator<>&AC) const = 0;
41
48 Anemone&RenderAnemone,
51
52 virtual bool isValidVertexAnemone(const Anemone&RenderAnemone,
54 const AnemoneCreator<>&AC) const = 0;
55
56
57 virtual string getShaderConditionals(Anemone&RenderAnemone,
60
61 GridAnemone::AnemoneRenderStatus
62 initializeAnemone(Anemone&RenderAnemone,
64 const RefPtr<FieldAnemone::AnemoneExplorer>&AE) const override;
65
75 bool isValidAnemone(const Anemone&RenderAnemone,
77 const RefPtr<FieldAnemone::AnemoneExplorer>&AE) const override;
78
79
84 bool updateAnemone(Anemone&RenderAnemone,
86 const RefPtr<GridAnemone::AnemoneExplorer>&AE) const override;
87
88protected:
90};
91
92} // namespace
93
94#endif // __ANEMONEFISH_SHADEDFIELDANEMONE_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 objects that render information given on a Field.
Definition FieldAnemone.hpp:39
A FieldAnemone with shader support.
Definition ShadedFieldAnemone.hpp:24
bool updateAnemone(Anemone &RenderAnemone, const GridAnemone::AnemoneCreationContext &ARC, const RefPtr< GridAnemone::AnemoneExplorer > &AE) const override
Updating a valid Render Anemone, which is setting a possibly modified translation vector.
Definition ShadedFieldAnemone.cpp:135
virtual RenderBasin::Program::Parameters setProgramParameters(RenderBasin::Program::Parameters P, Anemone &RenderAnemone, const GridAnemone::AnemoneCreationContext &ARC, const RefPtr< GridAnemone::AnemoneExplorer > &AE) const
Callback function to set for instance the number of output vertices for a geometry shader.
Definition ShadedFieldAnemone.cpp:85
bool isValidAnemone(const Anemone &RenderAnemone, const FieldAnemone::AnemoneCreationContext &ARC, const RefPtr< FieldAnemone::AnemoneExplorer > &AE) const override
Check the validity of the current render anemone by calling the TypedFieldAnemone's isValidAnemone() ...
Definition ShadedFieldAnemone.cpp:95
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
RenderCategory
Definition FloatingAnemone.hpp:57
RefPtr< GridAnemone::AnemoneExplorer > getAnemoneExplorer(const WeakPtr< GridAnemone > &theGridAnemone, VRenderContext &Context) const
Definition FloatingAnemone.cpp:364
The context of creating a RenderAnemone.
Definition AnemoneCreationContext.hpp:58