FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
RegionOfInterest.hpp
1#ifndef FISH_POND_ANEMONEFISH_REGIONOFINTEREST_HPP
2#define FISH_POND_ANEMONEFISH_REGIONOFINTEREST_HPP
3
4#include <grid/Representation.hpp>
5#include <grid/SkeletonID.hpp>
6#include <aerie/BoundingBox.hpp>
7
8#include <ocean/plankton/StdValues.hpp>
9#include <ocean/Anemonia/Anemone.hpp>
10#include <ocean/Anemonia/Seagrass.hpp>
11#include <ocean/Anemonia/RenderNamespace.hpp>
12
13#include "anemonefishDllApi.h"
14
15namespace Wizt
16{
17
18class FloatingAnemone;
19
20#if 0
21#define USE_CXX_PTRS
22#endif
23
28#ifdef USE_CXX_PTRS
29 std::enable_shared_from_this<RegionOfInterest>
30#else
31 MemCore::ReferenceBase<RegionOfInterest>
32#endif
33{
36
37 RegionOfInterest(const RegionOfInterest&) = delete;
38
39 virtual bool validateFragment(
42 const Fiber::SkeletonID&LevelID ,
46
47
58static Eagle::tvector3 getFloatingOrigin(const RefPtr<AnemoneCreatorBase>&AC);
59
64//[[deprecated("This is actually the vertex offset")]]
65//static const RenderNamespace::glsl
66// getFloatingOrigin(const FloatingAnemone&FA);
67
68 virtual bool initializeAnemone(Anemone&RenderAnemone
71 ) const;
72
73
74static const char void_vish_defineRegionOfInterestClipping[];
75static const char bool_vish_validateRegionOfInterest[];
76
77
93 virtual RenderNamespace::glsl setupRegionOfInterest(VRenderContext&Context, const FloatingAnemone&FA);
94
95};
96
97#ifdef USE_CXX_PTRS
99#else
101#endif
102
104template <>
106{
107static bool setValueFromText(pRegionOfInterest&i, const string&s);
108static string Text(const pRegionOfInterest&);
109};
110
111template <>
113{
114static pRegionOfInterest copy(const pRegionOfInterest&Source)
115 {
116 return Source;
117 }
118};
119} // namespace Wizt
120
121#endif // FISH_POND_ANEMONEFISH_REGIONOFINTEREST_HPP
constexpr _OI copy(_II __first, _II __last, _OI __result)
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
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
Definition FloatingAnemone.hpp:57
A functor to limit rendering.
Definition RegionOfInterest.hpp:33