VTK  9.3.20240328
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
53 #ifndef vtkAssemblyNode_h
54 #define vtkAssemblyNode_h
55 
56 #include "vtkObject.h"
57 #include "vtkRenderingCoreModule.h" // For export macro
58 
59 VTK_ABI_NAMESPACE_BEGIN
60 class vtkProp;
61 class vtkMatrix4x4;
62 
63 class VTKRENDERINGCORE_EXPORT vtkAssemblyNode : public vtkObject
64 {
65 public:
69  static vtkAssemblyNode* New();
70 
71  vtkTypeMacro(vtkAssemblyNode, vtkObject);
72  void PrintSelf(ostream& os, vtkIndent indent) override;
73 
75 
78  virtual void SetViewProp(vtkProp* prop);
79  vtkGetObjectMacro(ViewProp, vtkProp);
81 
83 
90  void SetMatrix(vtkMatrix4x4* matrix);
91  vtkGetObjectMacro(Matrix, vtkMatrix4x4);
93 
98  vtkMTimeType GetMTime() override;
99 
100 protected:
102  ~vtkAssemblyNode() override;
103 
104 private:
105  vtkProp* ViewProp; // reference to vtkProp
106  vtkMatrix4x4* Matrix; // associated matrix
107 
108  void operator=(const vtkAssemblyNode&) = delete;
109  vtkAssemblyNode(const vtkAssemblyNode&) = delete;
110 };
111 
112 VTK_ABI_NAMESPACE_END
113 #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:108
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:140
abstract base class for most VTK objects
Definition: vtkObject.h:161
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:65
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270