VTK  9.3.1
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
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:45
abstract base class for most VTK objects
Definition: vtkObject.h:51
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:30
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual vtkMTimeType GetMTime()
Return this object's modified time.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
represent a node in an assembly