00001
00002
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;
00100 };
00101
00102 #endif
00103