00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef _SHAPE_H
00013 #define _SHAPE_H
00014
00015 #include "BaseShape.h"
00016
00021 class XSIEXPORT CSLShape
00022 : public CSLBaseShape
00023 {
00024 public:
00025
00033 CSLShape(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate, EShapeType in_Type);
00034
00037 virtual ~CSLShape();
00038
00042 CSLVector2DArray* CreateUVCoords();
00043
00047 CSLIndexedVector2DArray* CreateIndexedUVCoords();
00048
00052 SI_Int GetUVCoordCount();
00053
00057 CSLVector2DArray* GetUVCoordList();
00058
00062 CSIBCVector2D* GetUVCoordListPtr();
00063
00067 CSLIndexedVector2DArray* GetIndexedUVCoordList();
00068
00072 SLIndexedVector2D* GetIndexedUVCoordListPtr();
00073
00077 SI_Error DestroyUVCoords();
00078
00082 virtual ETemplateType Type() { return SI_SHAPE; };
00083
00088 virtual SI_Error Synchronize();
00089
00090 private:
00091 CSLVector2DArray* m_pUVCoords;
00092 CSLIndexedVector2DArray* m_pIndexedUVCoords;
00093 CSLIntProxy* m_iNbUVCoords;
00094 CSLStringProxy* m_pUVStringProxy;
00095
00096 void *m_pReserved;
00097 };
00098
00099 #endif
00100