|
ALBA
|
#include <albaMatrix.h>


Public Member Functions | |
| albaTypeMacro (albaMatrix, albaReferenceCounted) | |
| virtual void | Print (std::ostream &os, const int indent=0) const |
| albaMatrix () | |
| virtual | ~albaMatrix () |
| albaMatrix (const albaMatrix &mat) | |
| albaMatrix & | operator= (const albaMatrix &mat) |
| bool | operator== (const albaMatrix &mat) const |
| bool | Equals (const albaMatrix *mat) const |
| void | DeepCopy (const albaMatrix *mat) |
| albaMatrixElements | GetElements () const |
| void | SetElement (const int i, const int j, double value) |
| double | GetElement (const int i, const int j) const |
| vtkMTimeType | GetMTime () const |
| void | Modified () |
| void | SetTimeStamp (albaTimeStamp t) |
| albaTimeStamp | GetTimeStamp () const |
| void | GetVersor (const int axis, double versor[3]) const |
| void | CopyRotation (const albaMatrix &source) |
| void | Zero () |
| void | Identity () |
| bool | IsIdentity () |
| albaMatrix * | Invert () |
| albaMatrix | GetInverse () |
| double | Determinant () const |
| void | Adjoint (const albaMatrix &inMat, albaMatrix &outMat) |
| void | Adjoint () |
| void | Transpose () |
| void | MultiplyPoint (const double in[4], double out[4]) const |
| albaVect3d | MultiplyPoint (albaVect3d point) |
| double * | operator[] (const unsigned int i) |
| const double * | operator[] (unsigned int i) const |
| operator vtkMatrix4x4 * () const | |
| void | SetFromDirectionCosines (const double orientation[6]) |
Public Member Functions inherited from albaReferenceCounted | |
| albaReferenceCounted () | |
| virtual | ~albaReferenceCounted () |
| albaAbstractTypeMacro (albaReferenceCounted, albaObject) | |
| virtual void | Delete () |
| void | Register (void *obj) |
| virtual void | UnRegister (void *obj) |
| int | GetReferenceCount () |
| void | SetReferenceCount (int) |
Public Member Functions inherited from albaObject | |
| albaObject () | |
| virtual | ~albaObject () |
| virtual void | Delete () |
| virtual const char * | GetTypeName () const |
| virtual bool | IsA (const char *type_name) const |
| virtual bool | IsA (const albaTypeID &type_id) const |
| virtual albaObject * | NewObjectInstance () const =0 |
| virtual const albaTypeID & | GetTypeId () const |
| virtual void | Print (std::ostream &os, const int indent=0) const |
| albaObject (const albaObject &c) | |
Static Public Member Functions | |
| static void | GetVersor (const int axis, const albaMatrix &matrix, double versor[3]) |
| static void | CopyRotation (const albaMatrix &source, albaMatrix &target) |
| static void | Zero (double elements[16]) |
| static void | Identity (double elements[16]) |
| static void | Invert (const albaMatrix &in, albaMatrix &out) |
| static void | Invert (const double inElements[16], double outElements[16]) |
| static double | Determinant (const double Elements[16]) |
| static void | Adjoint (const double inElements[16], double outElements[16]) |
| static void | Transpose (const albaMatrix &in, albaMatrix &out) |
| static void | Transpose (const double inElements[16], double outElements[16]) |
| static void | MultiplyPoint (const double Elements[16], const double in[4], double out[4]) |
| static void | Multiply4x4 (const albaMatrix &a, const albaMatrix &b, albaMatrix &c) |
| static void | Multiply4x4 (const double a[16], const double b[16], double c[16]) |
| static void | PointMultiply (const double Elements[16], const float in[4], float out[4]) |
| static void | PointMultiply (const double Elements[16], const double in[4], double out[4]) |
Static Public Member Functions inherited from albaObject | |
| static const char * | GetStaticTypeName () |
| static bool | IsStaticType (const char *type_name) |
| static bool | IsStaticType (const albaTypeID &type_id) |
| static const albaTypeID & | GetStaticTypeId () |
| static albaObject * | SafeDownCast (albaObject *o) |
Protected Attributes | |
| albaTimeStamp | m_TimeStamp |
| double | m_Elements [4][4] |
| albaMTime | m_MTime |
Protected Attributes inherited from albaReferenceCounted | |
| int | m_ReferenceCount |
Protected Attributes inherited from albaObject | |
| bool | m_HeapFlag |
albaMatrix - Time stamped 4x4 Matrix.
This class defines a TimeStamped 4x4 Matrix class. If ALBA has been compiled with VTK support, this class can be used wherever a vtkMatrix4x4 is requested, and indeed the internal representation is a vtkMatrix4x4. Also GetVTKMatrix() explicitly return a vtkMatrix4x4 pointer. Also albaMatrix can reference a vtkMatrix4x4, i.e. register it and share the same Elements vector, with SetVTKMatrix.
Definition at line 44 of file albaMatrix.h.
| albaMatrix::albaMatrix | ( | ) |
|
virtual |
| albaMatrix::albaMatrix | ( | const albaMatrix & | mat | ) |
| albaMatrix::albaTypeMacro | ( | albaMatrix | , |
| albaReferenceCounted | |||
| ) |
|
virtual |
print debug information for this object
Reimplemented from albaObject.
| albaMatrix & albaMatrix::operator= | ( | const albaMatrix & | mat | ) |
| bool albaMatrix::operator== | ( | const albaMatrix & | mat | ) | const |
| bool albaMatrix::Equals | ( | const albaMatrix * | mat | ) | const |
|
inline |
Definition at line 61 of file albaMatrix.h.
| albaMatrixElements albaMatrix::GetElements | ( | ) | const |
return pointer to elements matrix: returned type is a double [4][4] object
Referenced by Adjoint(), Invert(), Multiply4x4(), and Transpose().
|
inline |
Sets the element i,j in the matrix.
Remember to call explicitly Modified when using this function.
Definition at line 89 of file albaMatrix.h.
|
inline |
Returns the element i,j from the matrix.
Definition at line 92 of file albaMatrix.h.
| vtkMTimeType albaMatrix::GetMTime | ( | ) | const |
return modification time for this object
| void albaMatrix::Modified | ( | ) |
update modification time stamp for this object
Referenced by Adjoint(), Invert(), Multiply4x4(), and Transpose().
|
inline |
Set the TimeStamp for this matrix.
Definition at line 101 of file albaMatrix.h.
References albaEquals().

|
inline |
Definition at line 102 of file albaMatrix.h.
Referenced by albaTransform::SetMatrix().
|
static |
|
inline |
Get the given matrix versor.
Definition at line 107 of file albaMatrix.h.
References GetVersor().
Referenced by GetVersor().

|
inline |
Copy the 3x3 rotation matrix from another 4x4 matrix.
Definition at line 110 of file albaMatrix.h.
References CopyRotation().
Referenced by CopyRotation().

|
static |
Copy the 3x3 rotation matrix from a 4x4 matrix to another.
Static version.
|
inline |
Set all of the elements to zero.
Static version.
Definition at line 115 of file albaMatrix.h.
References Zero().
Referenced by Zero().

|
static |
Set all of the elements to zero.
|
inline |
Set equal to Identity matrix.
Definition at line 120 of file albaMatrix.h.
References Identity().
Referenced by Identity().

|
static |
| bool albaMatrix::IsIdentity | ( | ) |
Return true if is an Identity Matrix.
|
inlinestatic |
Matrix Inversion (adapted from Richard Carling in "Graphics Gems," Academic Press, 1990).
static version.
Definition at line 129 of file albaMatrix.h.
References GetElements(), Invert(), and Modified().

|
inline |
Matrix Inversion (adapted from Richard Carling in "Graphics Gems," Academic Press, 1990).
This method modifies the matrix
Definition at line 133 of file albaMatrix.h.
References Invert().
Referenced by GetInverse(), and Invert().

|
inline |
Return the inverse matrix without modifying the original.
Definition at line 135 of file albaMatrix.h.
References Invert().

|
static |
Matrix Inversion, (adapted from Richard Carling in "Graphics Gems," Academic Press, 1990).
static version.
|
static |
Matrix determinant.
|
inline |
Definition at line 144 of file albaMatrix.h.
References Determinant().
Referenced by Determinant().

|
static |
Matrix adjoint.
|
inline |
Definition at line 148 of file albaMatrix.h.
References Adjoint(), GetElements(), and Modified().
Referenced by Adjoint().

|
inline |
Definition at line 149 of file albaMatrix.h.
References Adjoint().
Referenced by Adjoint().

|
inlinestatic |
Transpose the matrix and put it into out.
static version.
Definition at line 152 of file albaMatrix.h.
References GetElements(), Modified(), and Transpose().

|
inline |
Transpose the matrix and put it into out.
Definition at line 155 of file albaMatrix.h.
References Transpose().
Referenced by Transpose().

|
static |
Transpose the matrix and put it into out.
static version.
|
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 162 of file albaMatrix.h.
References MultiplyPoint().
Referenced by MultiplyPoint().

| albaVect3d albaMatrix::MultiplyPoint | ( | albaVect3d | point | ) |
Multiply an albaVect3d to this matrix, i.e.
out = A*in.
|
static |
Multiply a homogeneous coordinate by this matrix, i.e.
out = A*in. The in[4] and out[4] can be the same array.
|
inlinestatic |
Multiplies matrices a and b and stores the result in c.
Definition at line 177 of file albaMatrix.h.
References GetElements(), Modified(), and Multiply4x4().
Referenced by Multiply4x4().

|
static |
Multiplies matrices a and b and stores the result in c.
this works with arrays.
|
inline |
bracket operator to access & write single elements
Definition at line 184 of file albaMatrix.h.
|
inline |
bracket operator to access single elements
Definition at line 187 of file albaMatrix.h.
|
inline |
Definition at line 190 of file albaMatrix.h.
|
static |
Multiply a homogeneous coordinate by this matrix, i.e.
out = in*A. The in[4] and out[4] can be the same array.
|
static |
Multiply a homogeneous coordinate by this matrix, i.e.
out = in*A. The in[4] and out[4] can be the same array.
| void albaMatrix::SetFromDirectionCosines | ( | const double | orientation[6] | ) |
|
protected |
Definition at line 209 of file albaMatrix.h.
|
protected |
has its own internal representation
Definition at line 214 of file albaMatrix.h.
|
protected |
Definition at line 215 of file albaMatrix.h.