V-ART
sgpath.h
Go to the documentation of this file.
1 
5 #ifndef VART_SGPATH_H
6 #define VART_SGPATH_H
7 
8 #include <list>
9 #include <iostream>
10 
11 #include "vart/snoperator.h"
12 
13 
14 namespace VART {
15  class Transform;
16  class SceneNode;
17  class Joint;
23  class SGPath {
24  friend std::ostream& operator<<(std::ostream& output, const SGPath& path);
25  public:
26  SGPath();
27  SGPath& operator=(const SGPath& path);
29  void Clear() { graphPath.clear(); }
31  void PushFront(SceneNode* nodePtr) { graphPath.push_front(nodePtr); }
33  void GetTransform(Transform* resultPtr) const;
37  SceneNode* FrontPtr() const;
39  void Traverse(SNOperator* operatorPtr) const;
40  protected:
41  std::list<SceneNode*> graphPath;
42  }; // end class declaration
43 } // end namespace
44 
45 #endif // VART_SGPATH_H
Base class for objects that compose a scene graph.
Definition: scenenode.h:25
Representation of joints.
Definition: joint.h:34
void Traverse(SNOperator *operatorPtr) const
Process all nodes in path.
Definition: sgpath.cpp:65
Objects that process scene nodes.
Definition: snoperator.h:19
Geometric transformations.
Definition: transform.h:24
std::list< SceneNode * > graphPath
Definition: sgpath.h:41
Header file for V-ART class "SnOperator".
void GetTransform(Transform *resultPtr) const
Combines and returns the multiplication of all transforms in a path.
Definition: sgpath.cpp:23
void PushFront(SceneNode *nodePtr)
Adds a node to the path beginning.
Definition: sgpath.h:31
void Clear()
Erases all elements.
Definition: sgpath.h:29
Scene Graph Path.
Definition: sgpath.h:23
friend std::ostream & operator<<(std::ostream &output, const SGPath &path)
Joint * PointerToLastJoint()
Returns a pointer to the last joint in the path.
Definition: sgpath.cpp:44
SGPath & operator=(const SGPath &path)
Definition: sgpath.cpp:17
SceneNode * FrontPtr() const
Returns a pointer to the first node.
Definition: sgpath.cpp:59