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