Shape.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _SHAPE_H
00015 #define _SHAPE_H
00016 
00017 #include "BaseShape.h"
00018 
00025 class XSIEXPORT CSLShape
00026     : public CSLBaseShape
00027 {
00028 public:
00029 
00037     CSLShape(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate, EShapeType in_Type);
00038 
00041     virtual ~CSLShape();
00042 
00046     CSLVector2DArray*               CreateUVCoords();
00047 
00051     CSLIndexedVector2DArray*        CreateIndexedUVCoords();
00052 
00056     SI_Int                          GetUVCoordCount();
00057 
00061     CSLVector2DArray*               GetUVCoordList();
00062 
00066     CSIBCVector2D*                  GetUVCoordListPtr();
00067 
00071     CSLIndexedVector2DArray*        GetIndexedUVCoordList();
00072 
00076     SLIndexedVector2D*              GetIndexedUVCoordListPtr();
00077 
00081     SI_Error                        DestroyUVCoords();
00082 
00086     virtual ETemplateType           Type() { return SI_SHAPE; };
00087 
00091     virtual SI_Error                Synchronize();
00092 
00093 private:
00094     CSLVector2DArray*               m_pUVCoords;
00095     CSLIndexedVector2DArray*        m_pIndexedUVCoords;
00096     CSLIntProxy*                    m_iNbUVCoords;
00097     CSLStringProxy*                 m_pUVStringProxy;
00098 
00099     void *m_pReserved;  // reserved for future extension
00100 };
00101 
00102 #endif
00103