00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _CURVELIST_H 00015 #define _CURVELIST_H 00016 00017 #include "Primitive.h" 00018 00019 // Forward declaration 00020 class CSLNurbsCurve; 00021 00027 class XSIEXPORT CSLCurveList 00028 : public CSLPrimitive 00029 { 00030 public: 00031 00038 CSLCurveList(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00039 00042 virtual ~CSLCurveList(); 00043 00047 CSLNurbsCurve* AddCurve(); 00048 00052 SI_Int GetCurveCount(); 00053 00057 CSLNurbsCurve** Curves(); 00058 00063 SI_Error RemoveCurve(SI_Int in_nIndex); 00064 00069 SI_Error RemoveCurve(CSLNurbsCurve* in_pCurve); 00070 00074 SI_Error ClearCurves(); 00075 00080 CSLNurbsCurve* ConnectCurve(CSLNurbsCurve* in_pNewCurve); 00081 00085 virtual SI_Error Synchronize(); 00086 00090 virtual ETemplateType Type(); 00091 00092 private: 00093 CSIBCArray<CSLNurbsCurve *> m_Curves; 00094 00095 void *m_pReserved; // reserved for future extension 00096 }; 00097 00098 #endif