FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
AnemoneRenderFields.hpp
1#ifndef __FISH_POND_ANEMONEFISH_AnemoneRenderFields_HPP
2#define __FISH_POND_ANEMONEFISH_AnemoneRenderFields_HPP
3
4#include <ocean/Anemonia/AnemoneCreatorContext.hpp>
5
6#include <forward_list>
7
8#include "RenderFields.hpp"
9
10namespace Wizt
11{
12
14{
17
18 enum class AnemoneRenderStatus
19 {
20 AllFine,
21 Invisible,
22 CouldNotUpdate,
23 CouldNotInitialize,
24 InvalidVertexCoordinates,
25 InvalidRefinementData,
26 InvalidPrimitiveData,
27 InconsistentData,
28 NoFieldState,
29 DataUnderCreation // will fill AnemoneCreatorDependency&
30 };
31
32 using getTextureUnit_t = std::function<int (const string&Name)>;
33
34 using DataFilter_t =
35 std::function<RefPtr<ChunkBase>(const RefPtr<Fiber::MemBase>&FieldDataArray,
36 const std::string&FieldName)>;
37
38 using anemone_data_validator_t = std::function<bool(VRenderContext&theContext,
42
44 {}
45
48 {}
49
51
52static const char*getAnemoneRenderStatusDescription(AnemoneRenderStatus);
53
54 bool createAnemoneDependency(const RefinementIndex&RI, const RefPtr<Fiber::FragmentID>&theFragmentID, AnemoneCreatorDependency&ACD) const;
55
57 {
58 Fiber::CreativeArrayBase &myPrimaryDataFragment;
59 Fiber::SkeletonID mySkeletonID;
60 RefPtr<Fiber::FragmentID> myFragmentID;
61 };
62
63 AnemoneRenderStatus
64 initializeAnemoneFields(VRenderContext&theContext
65 , Anemone&RenderAnemone
69 , getTextureUnit_t getTextureUnit
73 , const anemone_data_validator_t&anemone_data_validator
74 );
75};
76
77
78
79} // namespace Wizt
80
81#endif // __FISH_POND_ANEMONEFISH_AnemoneRenderFields_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
Handling a hierarchy of fields.
Definition RenderFields.hpp:21
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
Definition AnemoneRenderFields.hpp:57
Definition AnemoneRenderFields.hpp:14