CurveList.h

Go to the documentation of this file.
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