# Shape.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 _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;  // reserved for future extension
    00097 };
    00098
    00099 #endif
    00100