VTK  9.0.1
vtkMatrixToHomogeneousTransform.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkMatrixToHomogeneousTransform.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
29 #ifndef vtkMatrixToHomogeneousTransform_h
30 #define vtkMatrixToHomogeneousTransform_h
31 
32 #include "vtkCommonTransformsModule.h" // For export macro
34 
35 class vtkMatrix4x4;
36 
37 class VTKCOMMONTRANSFORMS_EXPORT vtkMatrixToHomogeneousTransform : public vtkHomogeneousTransform
38 {
39 public:
42  void PrintSelf(ostream& os, vtkIndent indent) override;
43 
44  // Set the input matrix. Any modifications to the matrix will be
45  // reflected in the transformation.
46  virtual void SetInput(vtkMatrix4x4*);
47  vtkGetObjectMacro(Input, vtkMatrix4x4);
48 
53  void Inverse() override;
54 
58  vtkMTimeType GetMTime() override;
59 
64 
65 protected:
68 
69  void InternalUpdate() override;
70  void InternalDeepCopy(vtkAbstractTransform* transform) override;
71 
74 
75 private:
77  void operator=(const vtkMatrixToHomogeneousTransform&) = delete;
78 };
79 
80 #endif
vtkHomogeneousTransform
superclass for homogeneous transformations
Definition: vtkHomogeneousTransform.h:34
vtkHomogeneousTransform::InternalDeepCopy
void InternalDeepCopy(vtkAbstractTransform *transform) override
Perform any subclass-specific DeepCopy.
vtkAbstractTransform
superclass for all geometric transformations
Definition: vtkAbstractTransform.h:50
vtkAbstractTransform::Inverse
virtual void Inverse()=0
Invert the transformation.
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkAbstractTransform::InternalUpdate
virtual void InternalUpdate()
Perform any subclass-specific Update.
Definition: vtkAbstractTransform.h:317
vtkMatrixToHomogeneousTransform
convert a matrix to a transform
Definition: vtkMatrixToHomogeneousTransform.h:37
vtkMatrixToHomogeneousTransform::Input
vtkMatrix4x4 * Input
Definition: vtkMatrixToHomogeneousTransform.h:73
vtkHomogeneousTransform.h
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:35
vtkAbstractTransform::GetMTime
vtkMTimeType GetMTime() override
Override GetMTime necessary because of inverse transforms.
vtkHomogeneousTransform::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkAbstractTransform::MakeTransform
virtual vtkAbstractTransform * MakeTransform()=0
Make another transform of the same type.
vtkMatrixToHomogeneousTransform::InverseFlag
int InverseFlag
Definition: vtkMatrixToHomogeneousTransform.h:72
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:293