# CurveList.h

    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