FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
FloatingAnemoneExplorer.hpp
1#ifndef __ANEMONEFISH_FLOATING_ANEMONE_EXPLORER_HPP
2#define __ANEMONEFISH_FLOATING_ANEMONE_EXPLORER_HPP
3
4#include <ocean/Anemonia/FloatOrigin.hpp>
5
6#include "GridAnemone.hpp"
7//#include "FloatingOriginShaderFunctions.hpp"
8
9namespace Wizt
10{
11
27{
28 Eagle::tvector3 myVertexOffset, oldVertexOffset;
29 VRenderContext::ModelViewState myModelViewState;
30
35
36 bool hasChangedAbsoluteTranslationVector() const;
37
38/*
39 superceded by LayeredMultiViews::updateTranslatedViews()
40
41
42 struct anemonefish_API TranslationInterface : Interface<TranslationInterface>
43 {
44 // TODO revise into view arrays
45 WeakPtr<RenderBasin::RenderParameter>
46 TranslationVectorParameter, // this one is per view, should be array
47 CenterShiftVectorParameter, // this one is constant
48
49 RelativeObserver; // observer relative to CenterShift
50 // should be array and part of the views
51
52 TranslationInterface(const WeakPtr<RenderBasin::RenderParameter>&theTranslationVectorParameter,
53 const WeakPtr<RenderBasin::RenderParameter>&theCenterShiftVectorParameter,
54 const WeakPtr<RenderBasin::RenderParameter>&theRelativeObserver)
55 : TranslationVectorParameter( theTranslationVectorParameter )
56 , CenterShiftVectorParameter( theCenterShiftVectorParameter )
57 , RelativeObserver( theRelativeObserver )
58 {}
59
60 protected:
61 ~TranslationInterface();
62 };
63*/
64
65 /*
66 TODO rename to something like translateVertices,
67 these functions will translate the given points by the
68 given translation vector.
69 */
70
73 const Eagle::PhysicalSpace::tvector&myVertexOffset,
75
83 const BoundingBox&BBox,
85
87 computeCenterShift(const RefPtr<Fiber::MemBase>&Coordinates,
88 const BoundingBox&BBox,
90 const MemCore::Attributes&Attribs) const;
97static bool initializeTranslation(Anemone&RenderAnemone,
100
101 /*
102 Calls LayeredMultiViews::updateTranslatedViews() .
103 */
104static bool updateTranslation(Anemone&RenderAnemone,
107
108
109
110protected:
112};
113
114
115} // namespace
116
117#endif // __ANEMONEFISH_FLOATING_ANEMONE_EXPLORER_HPP
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
An Anemone explorer that takes care of a floating origin.
Definition FloatingAnemoneExplorer.hpp:27
The context of creating a RenderAnemone.
Definition AnemoneCreationContext.hpp:58
The Anemone Explorer is an object that lives throughout rendering of a set of Anemones.
Definition GridAnemone.hpp:204