VTK  9.3.0
vtkAssemblyNode.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
34 #ifndef vtkAssemblyNode_h
35 #define vtkAssemblyNode_h
36 
37 #include "vtkObject.h"
38 #include "vtkRenderingCoreModule.h" // For export macro
39 
40 VTK_ABI_NAMESPACE_BEGIN
41 class vtkProp;
42 class vtkMatrix4x4;
43 
44 class VTKRENDERINGCORE_EXPORT vtkAssemblyNode : public vtkObject
45 {
46 public:
50  static vtkAssemblyNode* New();
51 
52  vtkTypeMacro(vtkAssemblyNode, vtkObject);
53  void PrintSelf(ostream& os, vtkIndent indent) override;
54 
56 
59  virtual void SetViewProp(vtkProp* prop);
60  vtkGetObjectMacro(ViewProp, vtkProp);
62 
64 
71  void SetMatrix(vtkMatrix4x4* matrix);
72  vtkGetObjectMacro(Matrix, vtkMatrix4x4);
74 
79  vtkMTimeType GetMTime() override;
80 
81 protected:
83  ~vtkAssemblyNode() override;
84 
85 private:
86  vtkProp* ViewProp; // reference to vtkProp
87  vtkMatrix4x4* Matrix; // associated matrix
88 
89  void operator=(const vtkAssemblyNode&) = delete;
90  vtkAssemblyNode(const vtkAssemblyNode&) = delete;
91 };
92 
93 VTK_ABI_NAMESPACE_END
94 #endif
represent a node in an assembly
void SetMatrix(vtkMatrix4x4 *matrix)
Specify a transformation matrix associated with the prop.
~vtkAssemblyNode() override
static vtkAssemblyNode * New()
Create an assembly node.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkMTimeType GetMTime() override
Override the standard GetMTime() to check for the modified times of the prop and matrix.
virtual void SetViewProp(vtkProp *prop)
Set/Get the prop that this assembly node refers to.
a simple class to control print indentation
Definition: vtkIndent.h:29
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:31
abstract base class for most VTK objects
Definition: vtkObject.h:52
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:46
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270