UVCoordArray.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 _UVCOORDARRAY_H
00013 #define _UVCOORDARRAY_H
00014 
00015 #include "BaseShape.h"
00016 
00020 class XSIEXPORT CSLUVCoordArray
00021 {
00022 public:
00023     CSLUVCoordArray(CdotXSITemplate *in_pTemplate, SI_Int in_nFirstIndex, CSLBaseShape::EShapeType in_Type);
00024     virtual ~CSLUVCoordArray();
00025 
00029     SI_Int                                  GetUVCoordCount();
00030 
00034     CSLBaseShape::CSLVector2DArray*         GetUVCoordList();
00035 
00039     CSIBCVector2D*                          GetUVCoordListPtr();
00040 
00044     CSLBaseShape::CSLIndexedVector2DArray*  GetIndexedUVCoordList();
00045 
00049     SLIndexedVector2D*                      GetIndexedUVCoordListPtr();
00050 
00054     SI_Char*                                GetTextureProjection();
00055 
00060     SI_Void                                 SetTextureProjection(SI_Char* in_szValue);
00061 
00065     SI_Error                                Synchronize();
00066 
00067 private:
00068     CSLIntProxy                             m_NbUVCoords;
00069     CSLStringProxy                          m_TextureProjection;
00070     CSLBaseShape::CSLVector2DArray*         m_pUVCoords;
00071     CSLBaseShape::CSLIndexedVector2DArray*  m_pIndexedUVCoords;
00072 
00073     void *m_pReserved;  // reserved for future extension
00074     CSIBCVector2D*                                  GetUVCoords();
00075 };
00076 
00077 #endif