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 _CURVELIST_H 00013 #define _CURVELIST_H 00014 00015 #include "Primitive.h" 00016 00017 // Forward declaration 00018 class CSLNurbsCurve; 00019 00023 class XSIEXPORT CSLCurveList 00024 : public CSLPrimitive 00025 { 00026 public: 00027 00034 CSLCurveList(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00035 00038 virtual ~CSLCurveList(); 00039 00043 CSLNurbsCurve* AddCurve(); 00044 00048 SI_Int GetCurveCount(); 00049 00053 CSLNurbsCurve** Curves(); 00054 00059 SI_Error RemoveCurve(SI_Int in_nIndex); 00060 00065 SI_Error RemoveCurve(CSLNurbsCurve* in_pCurve); 00066 00070 SI_Error ClearCurves(); 00071 00076 CSLNurbsCurve* ConnectCurve(CSLNurbsCurve* in_pNewCurve); 00077 00082 virtual SI_Error Synchronize(); 00083 00087 virtual ETemplateType Type(); 00088 00089 private: 00090 CSIBCArray<CSLNurbsCurve *> m_Curves; 00091 00092 void *m_pReserved; // reserved for future extension 00093 }; 00094 00095 #endif