1 #ifndef OPENMW_COMPONENTS_SCENEUTIL_CONTROLLER_H
2 #define OPENMW_COMPONENTS_SCENEUTIL_CONTROLLER_H
5 #include <osg/NodeVisitor>
14 virtual float getValue(osg::NodeVisitor* nv) = 0;
21 virtual float getValue(osg::NodeVisitor* nv);
30 virtual float calculate(
float input)
const = 0;
47 void setSource(std::shared_ptr<ControllerSource> source);
48 void setFunction(std::shared_ptr<ControllerFunction>
function);
50 std::shared_ptr<ControllerSource>
getSource()
const;
51 std::shared_ptr<ControllerFunction>
getFunction()
const;
54 std::shared_ptr<ControllerSource>
mSource;
66 virtual void apply(osg::Node& node);
70 virtual void apply(osg::MatrixTransform& node);
71 virtual void apply(osg::Geometry& node);
FrameTimeSource()
Definition: controller.cpp:53
std::shared_ptr< ControllerSource > mToAssign
Definition: controller.hpp:89
void applyNode(osg::Node &node)
Definition: controller.cpp:83
virtual void visit(osg::Node &node, Controller &ctrl)=0
virtual float getValue(osg::NodeVisitor *nv)
Definition: controller.cpp:57
Finds the maximum of all controller functions in the given scene graph.
Definition: controller.hpp:93
virtual void visit(osg::Node &, Controller &ctrl)
Definition: controller.cpp:130
float getMaxLength() const
Definition: controller.cpp:136
FindMaxControllerLengthVisitor()
Definition: controller.cpp:124
virtual ~ControllerFunction()=default
void setFunction(std::shared_ptr< ControllerFunction > function)
Definition: controller.cpp:38
float mMaxLength
Definition: controller.hpp:103
std::shared_ptr< ControllerSource > mSource
Definition: controller.hpp:54
Pure virtual base class - visit() all controllers that are attached as UpdateCallbacks in a scene gra...
Definition: controller.hpp:61
virtual ~Controller()
Definition: controller.hpp:41
virtual float getValue(osg::NodeVisitor *nv)=0
float getInputValue(osg::NodeVisitor *nv)
Definition: controller.cpp:25
Controller()
Definition: controller.cpp:16
virtual void visit(osg::Node &node, Controller &ctrl)
Definition: controller.cpp:118
Definition: controller.hpp:37
virtual float getMaximum() const =0
AssignControllerSourcesVisitor()
Definition: controller.cpp:107
virtual ~ControllerSource()
Definition: controller.hpp:13
std::shared_ptr< ControllerFunction > getFunction() const
Definition: controller.cpp:48
ControllerVisitor()
Definition: controller.cpp:62
Definition: controller.hpp:17
void setSource(std::shared_ptr< ControllerSource > source)
Definition: controller.cpp:33
Definition: controller.hpp:25
bool hasInput() const
Definition: controller.cpp:20
Definition: controller.hpp:10
virtual float calculate(float input) const =0
std::shared_ptr< ControllerFunction > mFunction
Definition: controller.hpp:57
Definition: controller.hpp:78
std::shared_ptr< ControllerSource > getSource() const
Definition: controller.cpp:43
virtual void apply(osg::Node &node)
Definition: controller.cpp:68