VTK: Common/Transforms/vtkMatrixToHomogeneousTransform.h Source File

| VTK 9.3.1

vtkMatrixToHomogeneousTransform.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
3
20 #ifndef vtkMatrixToHomogeneousTransform_h
21 #define vtkMatrixToHomogeneousTransform_h
22
23 #include "vtkCommonTransformsModule.h" // For export macro
24 #include "vtkHomogeneousTransform.h"
25
26 VTK_ABI_NAMESPACE_BEGIN
27 class vtkMatrix4x4;
28
29 class VTKCOMMONTRANSFORMS_EXPORT vtkMatrixToHomogeneousTransform : public vtkHomogeneousTransform
30 {
31 public:
32 static vtkMatrixToHomogeneousTransform* New();
33 vtkTypeMacro(vtkMatrixToHomogeneousTransform, vtkHomogeneousTransform);
34 void PrintSelf(ostream& os, vtkIndent indent) override;
35
36 // Set the input matrix. Any modifications to the matrix will be
37 // reflected in the transformation.
38 virtual void SetInput(vtkMatrix4x4*);
39 vtkGetObjectMacro(Input, vtkMatrix4x4);
40
45 void Inverse() override;
46
50 vtkMTimeType GetMTime() override;
51
55 vtkAbstractTransform* MakeTransform() override;
56
57 protected:
58 vtkMatrixToHomogeneousTransform();
59 ~vtkMatrixToHomogeneousTransform() override;
60
61 void InternalUpdate() override;
62 void InternalDeepCopy(vtkAbstractTransform* transform) override;
63
64 vtkTypeBool InverseFlag;
65 vtkMatrix4x4* Input;
66
67 private:
68 vtkMatrixToHomogeneousTransform(const vtkMatrixToHomogeneousTransform&) = delete;
69 void operator=(const vtkMatrixToHomogeneousTransform&) = delete;
70 };
71
72 VTK_ABI_NAMESPACE_END
73 #endif
vtkAbstractTransform
superclass for all geometric transformations
Definition: vtkAbstractTransform.h:39
vtkHomogeneousTransform
superclass for homogeneous transformations
Definition: vtkHomogeneousTransform.h:24
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:40
vtkMatrixToHomogeneousTransform
convert a matrix to a transform
Definition: vtkMatrixToHomogeneousTransform.h:30
vtkMatrixToHomogeneousTransform::MakeTransform
vtkAbstractTransform * MakeTransform() override
Make a new transform of the same type.
vtkMatrixToHomogeneousTransform::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkMatrixToHomogeneousTransform::Inverse
void Inverse() override
The input matrix is left as-is, but the transformation matrix is inverted.
vtkMatrixToHomogeneousTransform::Input
vtkMatrix4x4 * Input
Definition: vtkMatrixToHomogeneousTransform.h:65
vtkMatrixToHomogeneousTransform::New
static vtkMatrixToHomogeneousTransform * New()
vtkMatrixToHomogeneousTransform::InternalDeepCopy
void InternalDeepCopy(vtkAbstractTransform *transform) override
Perform any subclass-specific DeepCopy.
vtkMatrixToHomogeneousTransform::GetMTime
vtkMTimeType GetMTime() override
Get the MTime: this is the bit of magic that makes everything work.
vtkMatrixToHomogeneousTransform::~vtkMatrixToHomogeneousTransform
~vtkMatrixToHomogeneousTransform() override
vtkMatrixToHomogeneousTransform::vtkMatrixToHomogeneousTransform
vtkMatrixToHomogeneousTransform()
vtkMatrixToHomogeneousTransform::InverseFlag
vtkTypeBool InverseFlag
Definition: vtkMatrixToHomogeneousTransform.h:64
vtkMatrixToHomogeneousTransform::SetInput
virtual void SetInput(vtkMatrix4x4 *)
vtkMatrixToHomogeneousTransform::InternalUpdate
void InternalUpdate() override
Perform any subclass-specific Update.
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:64
vtkHomogeneousTransform.h
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270