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
43 #ifndef vtkAssemblyNode_h
44 #define vtkAssemblyNode_h
45 
46 #include "vtkObject.h"
47 #include "vtkRenderingCoreModule.h" // For export macro
48 
49 VTK_ABI_NAMESPACE_BEGIN
50 class vtkProp;
51 class vtkMatrix4x4;
52 
53 class VTKRENDERINGCORE_EXPORT vtkAssemblyNode : public vtkObject
54 {
55 public:
59  static vtkAssemblyNode* New();
60 
61  vtkTypeMacro(vtkAssemblyNode, vtkObject);
62  void PrintSelf(ostream& os, vtkIndent indent) override;
63 
65 
68  virtual void SetViewProp(vtkProp* prop);
69  vtkGetObjectMacro(ViewProp, vtkProp);
71 
73 
80  void SetMatrix(vtkMatrix4x4* matrix);
81  vtkGetObjectMacro(Matrix, vtkMatrix4x4);
83 
88  vtkMTimeType GetMTime() override;
89 
90 protected:
92  ~vtkAssemblyNode() override;
93 
94 private:
95  vtkProp* ViewProp; // reference to vtkProp
96  vtkMatrix4x4* Matrix; // associated matrix
97 
98  void operator=(const vtkAssemblyNode&) = delete;
99  vtkAssemblyNode(const vtkAssemblyNode&) = delete;
100 };
101 
102 VTK_ABI_NAMESPACE_END
103 #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:38
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:40
abstract base class for most VTK objects
Definition: vtkObject.h:61
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:55
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270