gramods
Loading...
Searching...
No Matches
Transform.hh
1
2#ifndef GRAMODS_GRAPHICS_TRANSFORM
3#define GRAMODS_GRAPHICS_TRANSFORM
4
5#include <gmGraphics/Group.hh>
6
7BEGIN_NAMESPACE_GMGRAPHICS;
8
12class Transform : public Group {
13
14public:
15 virtual Eigen::Affine3f getTransform() = 0;
16
17 void accept(Visitor *visitor) override {
18 if (auto *ts_visitor =
19 dynamic_cast<Node::TransformStackVisitor *>(visitor)) {
20 ts_visitor->apply(this, getTransform());
21 } else
22 visitor->apply(this);
23 }
24};
25
26END_NAMESPACE_GMGRAPHICS;
27
28#endif
The scenegraph group base.
Definition Group.hh:12
The scenegraph transform base.
Definition Transform.hh:12
void accept(Visitor *visitor) override
Calls the visitors apply method with this as argument.
Definition Transform.hh:17
The visitor of a design pattern for automatic traversal.
Definition Object.hh:75
virtual void apply(Object *node)
This method is called for each visited objects.
Definition Object.hh:79
Base for Visitor:s that need to track the space transform through traversal.
Definition Node.hh:36