VTK
|
represent and manipulate 4x4 transformation matrices More...
#include <vtkMatrix4x4.h>
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual int | 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... | |
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, Python or Tcl. More... | |
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... | |
Public Member Functions inherited from vtkObject | |
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 | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | 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... | |
int | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
int | 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... | |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
Return the class name as a string. 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... | |
void | PrintRevisions (ostream &) |
Legacy. 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 int | 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 Public Member Functions inherited from vtkObject | |
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 Public Member Functions inherited from vtkObjectBase | |
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 vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. 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 | |
Protected Member Functions inherited from vtkObject | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
These methods allow a command to exclusively grab all events. More... | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. More... | |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
float | FloatPoint [4] |
double | DoublePoint [4] |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
static void | PointMultiply (const double[16], const float[4], float[4]) |
Legacy methods. More... | |
static void | PointMultiply (const double[16], const double[4], double[4]) |
Legacy methods. More... | |
double * | operator[] (const unsigned int i) |
Legacy methods. More... | |
const double * | operator[] (unsigned int i) const |
Legacy methods. More... | |
void | Adjoint (vtkMatrix4x4 &in, vtkMatrix4x4 &out) |
Legacy methods. More... | |
double | Determinant (vtkMatrix4x4 &in) |
Legacy methods. More... | |
double | Determinant (vtkMatrix4x4 *) |
Legacy methods. More... | |
void | Invert (vtkMatrix4x4 &in, vtkMatrix4x4 &out) |
Legacy methods. More... | |
void | Transpose (vtkMatrix4x4 &in, vtkMatrix4x4 &out) |
Legacy methods. More... | |
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 41 of file vtkMatrix4x4.h.
typedef vtkObject vtkMatrix4x4::Superclass |
Definition at line 52 of file vtkMatrix4x4.h.
|
inlineprotected |
Definition at line 192 of file vtkMatrix4x4.h.
|
inlineoverrideprotected |
Definition at line 193 of file vtkMatrix4x4.h.
|
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 59 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 66 of file vtkMatrix4x4.h.
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 79 of file vtkMatrix4x4.h.
|
inline |
Set all of the elements to zero.
Definition at line 85 of file vtkMatrix4x4.h.
|
static |
|
inline |
Set equal to Identity matrix.
Definition at line 92 of file vtkMatrix4x4.h.
|
static |
|
inlinestatic |
Matrix Inversion (adapted from Richard Carling in "Graphics Gems," Academic Press, 1990).
Definition at line 100 of file vtkMatrix4x4.h.
|
inline |
Definition at line 102 of file vtkMatrix4x4.h.
|
inlinestatic |
Transpose the matrix and put it into out.
Definition at line 109 of file vtkMatrix4x4.h.
|
inline |
Definition at line 111 of file vtkMatrix4x4.h.
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 119 of file vtkMatrix4x4.h.
Definition at line 121 of file vtkMatrix4x4.h.
|
static |
|
static |
For use in Java, Python or Tcl.
The default MultiplyPoint() uses a single-precision point.
Definition at line 133 of file vtkMatrix4x4.h.
Definition at line 135 of file vtkMatrix4x4.h.
Definition at line 137 of file vtkMatrix4x4.h.
|
inlinestatic |
Multiplies matrices a and b and stores the result in c.
Definition at line 228 of file vtkMatrix4x4.h.
|
inlinestatic |
Multiplies matrices a and b and stores the result in c.
Definition at line 205 of file vtkMatrix4x4.h.
|
inline |
Compute adjoint of the matrix and put it into out.
Definition at line 153 of file vtkMatrix4x4.h.
|
inline |
Compute the determinant of the matrix and return it.
Definition at line 160 of file vtkMatrix4x4.h.
Sets the element i,j in the matrix.
Definition at line 235 of file vtkMatrix4x4.h.
Returns the element i,j from the matrix.
Definition at line 171 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Adjoint | ( | vtkMatrix4x4 & | in, |
vtkMatrix4x4 & | out | ||
) |
Legacy methods.
Do not use.
double vtkMatrix4x4::Determinant | ( | vtkMatrix4x4 & | in | ) |
Legacy methods.
Do not use.
double vtkMatrix4x4::Determinant | ( | vtkMatrix4x4 * | ) |
Legacy methods.
Do not use.
void vtkMatrix4x4::Invert | ( | vtkMatrix4x4 & | in, |
vtkMatrix4x4 & | out | ||
) |
Legacy methods.
Do not use.
void vtkMatrix4x4::Transpose | ( | vtkMatrix4x4 & | in, |
vtkMatrix4x4 & | out | ||
) |
Legacy methods.
Do not use.
Legacy methods.
Do not use.
Legacy methods.
Do not use.
double vtkMatrix4x4::Element[4][4] |
The internal data is public for historical reasons. Do not use!
Definition at line 45 of file vtkMatrix4x4.h.
|
protected |
Definition at line 195 of file vtkMatrix4x4.h.
|
protected |
Definition at line 196 of file vtkMatrix4x4.h.