00001 /**************************************************************************************** 00002 THIS CODE IS PUBLISHED AS A SAMPLE ONLY AND IS PROVIDED "AS IS". 00003 IN NO EVENT SHALL SOFTIMAGE, AVID TECHNOLOGY, INC. AND/OR THEIR RESPECTIVE 00004 SUPPLIERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 00005 DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 00006 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 00007 CONNECTION WITH THE USE OR PERFORMANCE OF THIS CODE . 00008 00009 COPYRIGHT NOTICE. Copyright © 1999-2002 Avid Technology Inc. . All rights reserved. 00010 00011 SOFTIMAGE is a registered trademark of Avid Technology Inc. or its subsidiaries 00012 or divisions. Windows NT is a registered trademark of Microsoft Corp. All other 00013 trademarks contained herein are the property of their respective owners. 00014 ****************************************************************************************/ 00015 00016 /******************************************************************************\ 00017 * 00018 * File: SurfaceMesh.h 00019 * Creation date: January 15, 2002 00020 * Purpose: Declaration of class 'CSLSurfaceMesh' 00021 * 00022 \******************************************************************************/ 00023 #ifndef _SURFACEMESH_H 00024 #define _SURFACEMESH_H 00025 00026 #include "Primitive.h" 00027 00028 00029 class CSLNurbsSurface; 00030 00037 class XSIEXPORT CSLSurfaceMesh 00038 : public CSLPrimitive 00039 { 00040 public: 00041 CSLSurfaceMesh(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00042 virtual ~CSLSurfaceMesh(); 00043 00047 CSLNurbsSurface* AddSurface(); 00048 00052 SI_Int GetSurfaceCount(); 00053 00057 CSLNurbsSurface **Surfaces(); 00058 00063 SI_Error RemoveSurface(SI_Int in_nIndex); 00064 00069 SI_Error RemoveSurface(CSLNurbsSurface* in_pSurface); 00070 00074 SI_Error ClearSurfaces(); 00075 00076 // Connection functions. 00077 CSLNurbsSurface* ConnectSurface(CSLNurbsSurface* in_pNewSurface); 00078 00079 virtual SI_Error Synchronize(); 00080 virtual ETemplateType Type(); 00081 00082 private: 00083 CSIBCArray<CSLNurbsSurface *> m_Surfaces; 00084 00085 void *m_pReserved; // reserved for future extension 00086 }; 00087 00088 #endif