FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
SceneGraph.hpp
Go to the documentation of this file.
1 #ifndef SCENEGRAPH_HPP_
2 #define SCENEGRAPH_HPP_
3 
5 #include "FAST/Object.hpp"
6 
7 namespace fast {
8 
9 
10 class FAST_EXPORT SceneGraphNode : public Object {
12  public:
13  void setTransformation(AffineTransformation::pointer transformation);
14  void setParent(SceneGraphNode::pointer parent);
15  SceneGraphNode::pointer getParent() const;
16  AffineTransformation::pointer getTransformation() const;
17  void reset();
18  bool isDataNode() const;
19  bool isRootNode() const;
20  private:
22 
24  bool mIsRootNode;
25  AffineTransformation::pointer mTransformation;
26 };
27 
28 class SpatialDataObject;
29 
30 namespace SceneGraph {
33  FAST_EXPORT AffineTransformation::pointer getAffineTransformationFromData(std::shared_ptr<SpatialDataObject> node);
34  FAST_EXPORT Affine3f getEigenAffineTransformationFromData(std::shared_ptr<SpatialDataObject> node);
35  FAST_EXPORT void setParentNode(std::shared_ptr<SpatialDataObject> child, std::shared_ptr<SpatialDataObject> parent);
36  FAST_EXPORT SceneGraphNode::pointer insertParentNodeToData(std::shared_ptr<SpatialDataObject> child, AffineTransformation::pointer transform);
38 };
39 
40 } // end namespace fast
41 
42 
43 
44 #endif /* SCENEGRAPH_HPP_ */
AffineTransformation.hpp
Object.hpp
fast::SceneGraph::getAffineTransformationBetweenNodes
FAST_EXPORT AffineTransformation::pointer getAffineTransformationBetweenNodes(SceneGraphNode::pointer nodeA, SceneGraphNode::pointer nodeB)
fast::SceneGraph::getAffineTransformationFromData
FAST_EXPORT AffineTransformation::pointer getAffineTransformationFromData(std::shared_ptr< SpatialDataObject > node)
fast
Definition: AffineTransformation.hpp:7
fast::Object
Definition: Object.hpp:34
FAST_OBJECT
#define FAST_OBJECT(className)
Definition: Object.hpp:9
fast::SceneGraph::getEigenAffineTransformationFromData
FAST_EXPORT Affine3f getEigenAffineTransformationFromData(std::shared_ptr< SpatialDataObject > node)
fast::Object::pointer
std::shared_ptr< Object > pointer
Definition: Object.hpp:36
fast::SceneGraph::insertParentNodeToNode
FAST_EXPORT SceneGraphNode::pointer insertParentNodeToNode(SceneGraphNode::pointer child, AffineTransformation::pointer transform)
fast::SceneGraphNode
Definition: SceneGraph.hpp:10
fast::DataObject::pointer
std::shared_ptr< DataObject > pointer
Definition: DataObject.hpp:16
fast::SceneGraph::getAffineTransformationFromNode
FAST_EXPORT AffineTransformation::pointer getAffineTransformationFromNode(SceneGraphNode::pointer node)
fast::SceneGraph::setParentNode
FAST_EXPORT void setParentNode(std::shared_ptr< SpatialDataObject > child, std::shared_ptr< SpatialDataObject > parent)
fast::SceneGraph::insertParentNodeToData
FAST_EXPORT SceneGraphNode::pointer insertParentNodeToData(std::shared_ptr< SpatialDataObject > child, AffineTransformation::pointer transform)
fast::SpatialDataObject
Definition: SpatialDataObject.hpp:10