VTK
vtkAssemblyPath.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAssemblyPath.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
29 #ifndef vtkAssemblyPath_h
30 #define vtkAssemblyPath_h
31 
32 #include "vtkRenderingCoreModule.h" // For export macro
33 #include "vtkCollection.h"
34 #include "vtkAssemblyNode.h" // used for inlines
35 
36 class vtkMatrix4x4;
37 class vtkTransform;
38 class vtkProp;
39 
41 {
42 public:
44  void PrintSelf(ostream& os, vtkIndent indent);
45 
47  static vtkAssemblyPath *New();
48 
53 
60 
65 
69 
72 
75 
78  virtual unsigned long GetMTime();
79 
80  //BTX
82 
85  { return static_cast<vtkAssemblyNode *>(this->GetNextItemAsObject(cookie)); }
86  //ETX
88 
89 protected:
92 
93  void AddNode(vtkAssemblyNode *n); //Internal method adds assembly node
94  vtkTransform *Transform; //Used to perform matrix concatentation
95  vtkProp *TransformedProp; //A transformed prop used to do the rendering
96 
97 private:
98  // hide the standard AddItem from the user and the compiler.
99  void AddItem(vtkObject *o)
100  { this->vtkCollection::AddItem(o); }
101 
102 private:
103  vtkAssemblyPath(const vtkAssemblyPath&); // Not implemented.
104  void operator=(const vtkAssemblyPath&); // Not implemented.
105 };
106 
107 #endif
vtkAssemblyNode.h
vtkAssemblyPath::GetFirstNode
vtkAssemblyNode * GetFirstNode()
vtkAssemblyPath::ShallowCopy
void ShallowCopy(vtkAssemblyPath *path)
vtkAssemblyNode
represent a node in an assembly
Definition: vtkAssemblyNode.h:55
vtkCollectionSimpleIterator
void * vtkCollectionSimpleIterator
Definition: vtkCollection.h:47
vtkAssemblyPath::Transform
vtkTransform * Transform
Definition: vtkAssemblyPath.h:94
vtkgl::m
const GLfloat * m
Definition: vtkgl.h:18169
vtkCollection.h
vtkAssemblyPath::GetMTime
virtual unsigned long GetMTime()
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkgl::n
GLclampd n
Definition: vtkgl.h:14370
vtkAssemblyPath::GetNextNode
vtkAssemblyNode * GetNextNode(vtkCollectionSimpleIterator &cookie)
Definition: vtkAssemblyPath.h:84
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkAssemblyPath::TransformedProp
vtkProp * TransformedProp
Definition: vtkAssemblyPath.h:95
vtkAssemblyPath::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkTransform
describes linear transformations via a 4x4 matrix
Definition: vtkTransform.h:60
vtkAssemblyPath
a list of nodes that form an assembly path
Definition: vtkAssemblyPath.h:41
vtkCollection::GetNextItemAsObject
vtkObject * GetNextItemAsObject()
Definition: vtkCollection.h:156
vtkAssemblyPath::~vtkAssemblyPath
~vtkAssemblyPath()
vtkCollection
create and manipulate unsorted lists of objects
Definition: vtkCollection.h:53
vtkAssemblyPath::vtkAssemblyPath
vtkAssemblyPath()
vtkAssemblyPath::GetLastNode
vtkAssemblyNode * GetLastNode()
vtkAssemblyPath::New
static vtkAssemblyPath * New()
vtkAssemblyPath::AddNode
void AddNode(vtkProp *p, vtkMatrix4x4 *m)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:39
vtkRenderingCoreModule.h
vtkAssemblyPath::GetNextNode
vtkAssemblyNode * GetNextNode()
vtkgl::path
GLsizei const GLchar ** path
Definition: vtkgl.h:13835
vtkAssemblyPath::DeleteLastNode
void DeleteLastNode()
vtkProp
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:50
vtkCollection::AddItem
void AddItem(vtkObject *)
vtkgl::p
GLfloat GLfloat p
Definition: vtkgl.h:15717
VTKRENDERINGCORE_EXPORT
#define VTKRENDERINGCORE_EXPORT
Definition: vtkRenderingCoreModule.h:15
vtkAssemblyPath::AddNode
void AddNode(vtkAssemblyNode *n)