SurfaceMesh.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _SURFACEMESH_H
00015 #define _SURFACEMESH_H
00016 
00017 #include "Primitive.h"
00018 
00019 
00020 class CSLNurbsSurface;
00021 
00025 class XSIEXPORT CSLSurfaceMesh
00026     : public CSLPrimitive
00027 {
00028 public:
00029     CSLSurfaceMesh(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00030     virtual ~CSLSurfaceMesh();
00031 
00035     CSLNurbsSurface* AddSurface();
00036 
00040     SI_Int GetSurfaceCount();
00041 
00045     CSLNurbsSurface **Surfaces();
00046 
00051     SI_Error RemoveSurface(SI_Int in_nIndex);
00052 
00057     SI_Error RemoveSurface(CSLNurbsSurface* in_pSurface);
00058 
00062     SI_Error ClearSurfaces();
00063 
00064     // Connection functions.
00065     CSLNurbsSurface* ConnectSurface(CSLNurbsSurface* in_pNewSurface);
00066 
00067     virtual SI_Error Synchronize();
00068 
00072     virtual ETemplateType Type();
00073 
00074 private:
00075     CSIBCArray<CSLNurbsSurface *> m_Surfaces;
00076 
00077     void *m_pReserved;  // reserved for future extension
00078 };
00079 
00080 #endif