VTK
9.1.0
|
represent and manipulate 4x4 transformation matrices More...
#include <vtkMatrix4x4.h>
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. More... | |
vtkMatrix4x4 * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. More... | |
void | DeepCopy (const vtkMatrix4x4 *source) |
Set the elements of the matrix to the same values as the elements of the given source matrix. More... | |
void | DeepCopy (const double elements[16]) |
Non-static member function. More... | |
void | Zero () |
Set all of the elements to zero. More... | |
void | Identity () |
Set equal to Identity matrix. More... | |
bool | IsIdentity () |
Returns true if this matrix is equal to the identity matrix. More... | |
void | Invert () |
void | Transpose () |
void | MultiplyPoint (const float in[4], float out[4]) |
Multiply a homogeneous coordinate by this matrix, i.e. More... | |
void | MultiplyPoint (const double in[4], double out[4]) |
float * | MultiplyPoint (const float in[4]) |
For use in Java or Python. More... | |
double * | MultiplyPoint (const double in[4]) |
float * | MultiplyFloatPoint (const float in[4]) |
double * | MultiplyDoublePoint (const double in[4]) |
void | Adjoint (const vtkMatrix4x4 *in, vtkMatrix4x4 *out) |
Compute adjoint of the matrix and put it into out. More... | |
double | Determinant () |
Compute the determinant of the matrix and return it. More... | |
void | SetElement (int i, int j, double value) |
Sets the element i,j in the matrix. More... | |
double | GetElement (int i, int j) const |
Returns the element i,j from the matrix. More... | |
double * | GetData () |
Returns the raw double array holding the matrix. More... | |
const double * | GetData () const |
Returns the raw double array holding the matrix. More... | |
![]() | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. More... | |
virtual void | DebugOff () |
Turn debugging output off. More... | |
bool | GetDebug () |
Get the value of the debug flag. More... | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. More... | |
virtual void | Modified () |
Update the modification time for this object. More... | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. More... | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. More... | |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
vtkTypeBool | HasObserver (unsigned long event) |
vtkTypeBool | HasObserver (const char *event) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. More... | |
int | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
int | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
![]() | |
const char * | GetClassName () const |
Return the class name as a string. More... | |
virtual vtkTypeBool | IsA (const char *name) |
Return 1 if this class is the same type of (or a subclass of) the named class. More... | |
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More... | |
virtual void | Delete () |
Delete a VTK object. More... | |
virtual void | FastDelete () |
Delete a reference to this object. More... | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. More... | |
virtual void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). More... | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). More... | |
int | GetReferenceCount () |
Return the current reference count of this object. More... | |
void | SetReferenceCount (int) |
Sets the reference count. More... | |
bool | GetIsInMemkind () const |
A local state flag that remembers whether this object lives in the normal or extended memory space. More... | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
Static Public Member Functions | |
static vtkMatrix4x4 * | New () |
Construct a 4x4 identity matrix. More... | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkMatrix4x4 * | SafeDownCast (vtkObjectBase *o) |
static void | DeepCopy (double destination[16], const vtkMatrix4x4 *source) |
Set the elements of the given destination buffer to the same values as the elements of the given source matrix. More... | |
static void | DeepCopy (double destination[16], const double source[16]) |
Copies the given source buffer to the given destination buffer. More... | |
static void | Zero (double elements[16]) |
static void | Identity (double elements[16]) |
static void | Invert (const vtkMatrix4x4 *in, vtkMatrix4x4 *out) |
Matrix Inversion (adapted from Richard Carling in "Graphics Gems," Academic Press, 1990). More... | |
static void | Invert (const double inElements[16], double outElements[16]) |
static void | Transpose (const vtkMatrix4x4 *in, vtkMatrix4x4 *out) |
Transpose the matrix and put it into out. More... | |
static void | Transpose (const double inElements[16], double outElements[16]) |
static void | MultiplyPoint (const double elements[16], const float in[4], float out[4]) |
static void | MultiplyPoint (const double elements[16], const double in[4], double out[4]) |
static void | Adjoint (const double inElements[16], double outElements[16]) |
static double | Determinant (const double elements[16]) |
static void | Multiply4x4 (const vtkMatrix4x4 *a, const vtkMatrix4x4 *b, vtkMatrix4x4 *c) |
Multiplies matrices a and b and stores the result in c. More... | |
static void | Multiply4x4 (const double a[16], const double b[16], double c[16]) |
Multiplies matrices a and b and stores the result in c. More... | |
static void | Multiply4x4 (const double a[16], const double b[16], float c[16]) |
Multiplies matrices a and b and stores the result in c. More... | |
static void | MultiplyAndTranspose4x4 (const double a[16], const double b[16], float c[16]) |
Multiplies matrices a and b and stores the result in c. More... | |
![]() | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. More... | |
static void | SetGlobalWarningDisplay (int val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static int | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
![]() | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. More... | |
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name) |
Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More... | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | SetMemkindDirectory (const char *directoryname) |
The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. More... | |
static bool | GetUsingMemkind () |
A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. More... | |
Public Attributes | |
double | Element [4][4] |
The internal data is public for historical reasons. Do not use! More... | |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkMatrix4x4 () | |
~vtkMatrix4x4 () override=default | |
![]() | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
These methods allow a command to exclusively grab all events. More... | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. More... | |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
float | FloatPoint [4] |
double | DoublePoint [4] |
![]() | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
![]() | |
std::atomic< int32_t > | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Additional Inherited Members | |
![]() | |
static vtkMallocingFunction | GetCurrentMallocFunction () |
static vtkReallocingFunction | GetCurrentReallocFunction () |
static vtkFreeingFunction | GetCurrentFreeFunction () |
static vtkFreeingFunction | GetAlternateFreeFunction () |
represent and manipulate 4x4 transformation matrices
vtkMatrix4x4 is a class to represent and manipulate 4x4 matrices. Specifically, it is designed to work on 4x4 transformation matrices found in 3D rendering using homogeneous coordinates [x y z w]. Many of the methods take an array of 16 doubles in row-major format. Note that OpenGL stores matrices in column-major format, so the matrix contents must be transposed when they are moved between OpenGL and VTK.
Definition at line 144 of file vtkMatrix4x4.h.
typedef vtkObject vtkMatrix4x4::Superclass |
Definition at line 155 of file vtkMatrix4x4.h.
|
inlineprotected |
Definition at line 322 of file vtkMatrix4x4.h.
|
overrideprotecteddefault |
|
static |
Construct a 4x4 identity matrix.
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class.
Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObjectBase.
|
static |
|
protectedvirtual |
vtkMatrix4x4 * vtkMatrix4x4::NewInstance | ( | ) | const |
|
overridevirtual |
|
inline |
Set the elements of the matrix to the same values as the elements of the given source matrix.
Definition at line 162 of file vtkMatrix4x4.h.
|
inlinestatic |
Set the elements of the given destination buffer to the same values as the elements of the given source matrix.
Definition at line 172 of file vtkMatrix4x4.h.
|
static |
Copies the given source buffer to the given destination buffer.
The memory ranges must not overlap. Does not affect any matrix.
|
inline |
Non-static member function.
Assigns to the matrix from the given elements array.
Definition at line 187 of file vtkMatrix4x4.h.
|
inline |
Set all of the elements to zero.
Definition at line 196 of file vtkMatrix4x4.h.
|
static |
|
inline |
Set equal to Identity matrix.
Definition at line 206 of file vtkMatrix4x4.h.
|
static |
|
inline |
Returns true if this matrix is equal to the identity matrix.
Definition at line 401 of file vtkMatrix4x4.h.
|
inlinestatic |
Matrix Inversion (adapted from Richard Carling in "Graphics Gems," Academic Press, 1990).
Definition at line 222 of file vtkMatrix4x4.h.
|
inline |
Definition at line 227 of file vtkMatrix4x4.h.
|
static |
|
inlinestatic |
Transpose the matrix and put it into out.
Definition at line 233 of file vtkMatrix4x4.h.
|
inline |
Definition at line 238 of file vtkMatrix4x4.h.
|
static |
|
inline |
Multiply a homogeneous coordinate by this matrix, i.e.
out = A*in. The in[4] and out[4] can be the same array.
Definition at line 245 of file vtkMatrix4x4.h.
|
inline |
Definition at line 249 of file vtkMatrix4x4.h.
|
static |
|
static |
|
inline |
For use in Java or Python.
Definition at line 260 of file vtkMatrix4x4.h.
|
inline |
Definition at line 261 of file vtkMatrix4x4.h.
|
inline |
Definition at line 265 of file vtkMatrix4x4.h.
|
inline |
Definition at line 270 of file vtkMatrix4x4.h.
|
inlinestatic |
Multiplies matrices a and b and stores the result in c.
Definition at line 385 of file vtkMatrix4x4.h.
|
inlinestatic |
Multiplies matrices a and b and stores the result in c.
Definition at line 335 of file vtkMatrix4x4.h.
|
inlinestatic |
Multiplies matrices a and b and stores the result in c.
Definition at line 356 of file vtkMatrix4x4.h.
|
inlinestatic |
Multiplies matrices a and b and stores the result in c.
Definition at line 370 of file vtkMatrix4x4.h.
|
inline |
Compute adjoint of the matrix and put it into out.
Definition at line 289 of file vtkMatrix4x4.h.
|
static |
|
inline |
Compute the determinant of the matrix and return it.
Definition at line 298 of file vtkMatrix4x4.h.
|
static |
|
inline |
Sets the element i,j in the matrix.
Definition at line 391 of file vtkMatrix4x4.h.
|
inline |
Returns the element i,j from the matrix.
Definition at line 309 of file vtkMatrix4x4.h.
|
inline |
Returns the raw double array holding the matrix.
Definition at line 314 of file vtkMatrix4x4.h.
|
inline |
Returns the raw double array holding the matrix.
Definition at line 319 of file vtkMatrix4x4.h.
double vtkMatrix4x4::Element[4][4] |
The internal data is public for historical reasons. Do not use!
Definition at line 148 of file vtkMatrix4x4.h.
|
protected |
Definition at line 325 of file vtkMatrix4x4.h.
|
protected |
Definition at line 326 of file vtkMatrix4x4.h.