ColorRGB.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 __COLORRGB_H__
00013 #define __COLORRGB_H__
00014 
00015 #include "SL_Float.h"           // CSLFloatProxy
00016 #include <SIBCVector.h>         // CSIBCVector3D
00017 #include <SIBCColor.h>          // CSIBCColorf
00018 class CCOLLADATemplate;
00019 
00022 class XSIEXPORT CSLColorRGBProxy
00023 {
00024 public:
00025 
00032     CSLColorRGBProxy
00033     (
00034         CdotXSITemplate *in_pTemplate,
00035         SI_Long in_lIndexR,
00036         SI_Long in_lIndexG,
00037         SI_Long in_lIndexB
00038     );
00039 
00044     CSLColorRGBProxy& operator =(const CSIBCColorf &in_rColor);
00045 
00048     operator CSIBCColorf();
00049 
00053     CSLFloatProxy& R();
00054 
00058     CSLFloatProxy& G();
00059 
00063     CSLFloatProxy& B();
00064 
00065     void    Connect ( CdotXSITemplate *in_pTemplate, SI_Long in_lIndexR, SI_Long in_lIndexG, SI_Long in_lIndexB );
00066     void    Connect ( CSLTemplate *in_pTemplate, CCOLLADATemplate *in_pOwner, SI_Long in_lIndexR, SI_Long in_lIndexG, SI_Long in_lIndexB, CSLCOLLADAScene* in_pScene, int in_CurveType[], const char* in_XSIName[] );
00067 
00068 protected:
00069     CSLFloatProxy m_fR;
00070     CSLFloatProxy m_fG;
00071     CSLFloatProxy m_fB;
00072 };
00073 
00074 #endif //__COLORRGB_H__