# Matrix4x4.h

    00001 //***************************************************************************************
    00002 //
    00003 // File supervisor: Crosswalk team
    00004 //
    00005 // Copyright 2008 Autodesk, Inc.  All rights reserved.
    00006 // Use of this software is subject to the terms of the Autodesk license agreement
    00007 // provided at the time of installation or download, or which otherwise accompanies
    00008 // this software in either electronic or hard copy form.
    00009 //
    00010 //***************************************************************************************
    00011
    00012 #ifndef __MATRIX4X4_H__
    00013 #define __MATRIX4X4_H__
    00014
    00015 #include "SL_Float.h"   // CSLFloatProxy
    00016 #include <SIBCMatrix.h> // CSIBCMatrix4x4
    00017
    00022 class XSIEXPORT CSLMatrix4x4Proxy
    00023 {
    00024 public:
    00025     CSLMatrix4x4Proxy
    00026     (
    00027         CdotXSITemplate *in_pTemplate,
    00028         SI_Long in_lIndex11,
    00029         SI_Long in_lIndex12,
    00030         SI_Long in_lIndex13,
    00031         SI_Long in_lIndex14,
    00032         SI_Long in_lIndex21,
    00033         SI_Long in_lIndex22,
    00034         SI_Long in_lIndex23,
    00035         SI_Long in_lIndex24,
    00036         SI_Long in_lIndex31,
    00037         SI_Long in_lIndex32,
    00038         SI_Long in_lIndex33,
    00039         SI_Long in_lIndex34,
    00040         SI_Long in_lIndex41,
    00041         SI_Long in_lIndex42,
    00042         SI_Long in_lIndex43,
    00043         SI_Long in_lIndex44
    00044     );
    00045
    00047     CSLMatrix4x4Proxy& operator =(const CSIBCMatrix4x4 &in_rMatrix);
    00048
    00050     operator CSIBCMatrix4x4();
    00051
    00053     CSLFloatProxy& Element(SI_Long in_lColumn, SI_Long in_lRow);
    00054
    00055 protected:
    00056     CSLFloatProxy m_f11;
    00057     CSLFloatProxy m_f12;
    00058     CSLFloatProxy m_f13;
    00059     CSLFloatProxy m_f14;
    00060     CSLFloatProxy m_f21;
    00061     CSLFloatProxy m_f22;
    00062     CSLFloatProxy m_f23;
    00063     CSLFloatProxy m_f24;
    00064     CSLFloatProxy m_f31;
    00065     CSLFloatProxy m_f32;
    00066     CSLFloatProxy m_f33;
    00067     CSLFloatProxy m_f34;
    00068     CSLFloatProxy m_f41;
    00069     CSLFloatProxy m_f42;
    00070     CSLFloatProxy m_f43;
    00071     CSLFloatProxy m_f44;
    00072 };
    00073
    00074 #endif //__MATRIX4X4_H__