RiAffineTMatrix3

An abstract class that represents a homegeneous transform matrix and its inverse.

[ Geometry | Source | Search | Keywords | Summary | Ancestors | All Members | Descendants ]

Quick Index

DESCRIPTION
WARNING

Class Summary

class RiAffineTMatrix3
{
public:
friend RiTMatrix3Factory;
RiAffineTMatrix3();
RiVector3 ApplyLocation( const RiVector3& v ) const;
RiVector3 ApplyDirection( const RiVector3& v ) const;
RiVector3 ApplyNormal( const RiVector3& v ) const;
RiVector3 ApplyInverseLocation( const RiVector3& v ) const;
RiVector3 ApplyInverseDirection( const RiVector3& v ) const;
RiVector3 ApplyInverseNormal( const RiVector3& v ) const;
RiAffineTMatrix3 operator*( const RiAffineTMatrix3& ) const;
RiReal GetData( int row, int col ) const;
RiReal GetDeterminant() const;
protected:
RiReal data[3][4];
RiReal idata[3][4];
}; // RiAffineTMatrix3


DESCRIPTION

This class is the base class for all transforms. It uses column vectors and right-multiplication, so vnew = M*vold. Individual entries are gotten via the getData() member, which takes two indices and has the following pattern for rows and colums- getData(row,col): | 00 01 02 03 | | 10 11 12 13 | | 20 21 22 23 | | 30 31 32 33 | For affine transforms, row 3 is implictly 0 0 0 1. There are three types of transforms for three types of data: locations, directions, and normals. These get more efficient for more and more specific vector types.


WARNING

RiAffineTMatrix3 currently stores 24 floats, so something such as a compact translate matrix cannot be derived effectively.

friend RiTMatrix3Factory;

nd RiTMatrix3Factory;No documentation available.

    friend RiTMatrix3Factory;

RiAffineTMatrix3();

fineTMatrix3();No documentation available.

    RiAffineTMatrix3();

RiVector3 ApplyLocation( const RiVector3& v ) const;

changes a location (point)

    RiVector3 ApplyLocation( const RiVector3& v ) const;

RiVector3 ApplyDirection( const RiVector3& v ) const;

changes a direction (offset)

    RiVector3 ApplyDirection( const RiVector3& v ) const;

RiVector3 ApplyNormal( const RiVector3& v ) const;

changes a perpendicular (offset)

    RiVector3 ApplyNormal( const RiVector3& v ) const;

RiVector3 ApplyInverseLocation( const RiVector3& v ) const;

changes a location (point)

    RiVector3 ApplyInverseLocation( const RiVector3& v ) const;

RiVector3 ApplyInverseDirection( const RiVector3& v ) const;

changes a direction (offset)

    RiVector3 ApplyInverseDirection( const RiVector3& v ) const;

RiVector3 ApplyInverseNormal( const RiVector3& v ) const;

changes a perpendicular (offset)

    RiVector3 ApplyInverseNormal( const RiVector3& v ) const;

RiAffineTMatrix3 operator*( const RiAffineTMatrix3& ) const;

    RiAffineTMatrix3 operator*( const RiAffineTMatrix3& ) const;

RiReal GetData( int row, int col ) const;

    RiReal GetData( int row, int col ) const;

RiReal GetDeterminant() const;

    RiReal GetDeterminant() const;

RiReal data[3][4];

al data[3][4];No documentation available.

    RiReal data[3][4];

RiReal idata[3][4];

al idata[3][4];No documentation available.

    RiReal idata[3][4];

All Members

public:
friend RiTMatrix3Factory;
RiVector3 ApplyLocation( const RiVector3& v ) const;
RiVector3 ApplyDirection( const RiVector3& v ) const;
RiVector3 ApplyNormal( const RiVector3& v ) const;
RiVector3 ApplyInverseLocation( const RiVector3& v ) const;
RiVector3 ApplyInverseDirection( const RiVector3& v ) const;
RiVector3 ApplyInverseNormal( const RiVector3& v ) const;
RiAffineTMatrix3 operator*( const RiAffineTMatrix3& ) const;
RiReal GetData( int row, int col ) const;
RiReal GetDeterminant() const;
protected:
RiReal data[3][4];
RiReal idata[3][4];

Ancestors

Class does not inherit from any other class.


Descendants

Class is not inherited by any others.


Generated from source by the Cocoon utilities on Fri Feb 25 15:15:07 2000 .