VTK  9.7.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 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
40 
41 VTK_ABI_NAMESPACE_BEGIN
42 class vtkProp;
43 class vtkMatrix4x4;
44 
45 class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkAssemblyNode : public vtkObject
46 {
47 public:
51  static vtkAssemblyNode* New();
52 
53  vtkTypeMacro(vtkAssemblyNode, vtkObject);
54  void PrintSelf(ostream& os, vtkIndent indent) override;
55 
57 
60  virtual void SetViewProp(vtkProp* prop);
61  vtkGetObjectMacro(ViewProp, vtkProp);
63 
65 
72  void SetMatrix(vtkMatrix4x4* matrix);
73  vtkGetObjectMacro(Matrix, vtkMatrix4x4);
75 
80  vtkMTimeType GetMTime() override;
81 
82 protected:
84  ~vtkAssemblyNode() override;
85 
86 private:
87  vtkProp* ViewProp; // reference to vtkProp
88  vtkMatrix4x4* Matrix; // associated matrix
89 
90  void operator=(const vtkAssemblyNode&) = delete;
91  vtkAssemblyNode(const vtkAssemblyNode&) = delete;
92 };
93 
94 VTK_ABI_NAMESPACE_END
95 #endif
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:49
abstract base class for most VTK objects
Definition: vtkObject.h:52
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:31
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:318
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual vtkMTimeType GetMTime()
Return this object's modified time.
#define VTK_MARSHALAUTO
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