1 // File : SPlot2d_CurveContainer.cxx
2 // Author : Sergey RUIN
5 #include "SPlot2d_CurveContainer.h"
11 SPlot2d_CurveContainer::SPlot2d_CurveContainer()
13 myCurves.setAutoDelete( false );
18 SPlot2d_CurveContainer::~SPlot2d_CurveContainer()
23 Adds curve if not exist yet in the container
25 void SPlot2d_CurveContainer::addCurve( Plot2d_Curve* curve )
27 if ( myCurves.find( curve ) < 0 )
28 myCurves.append( curve );
31 Removes curve form the container ( and deletes it if <alsoDelete> is true )
33 void SPlot2d_CurveContainer::removeCurve( const int index, bool alsoDelete )
35 Plot2d_Curve* curve = myCurves.take( index );
36 if ( curve && alsoDelete )
40 Clears container contents ( removes and deletes all curves )
42 void SPlot2d_CurveContainer::clear( bool alsoDelete )
44 while( myCurves.count() > 0 ) {
45 Plot2d_Curve* curve = myCurves.take( 0 );
46 if ( curve && alsoDelete )
51 Gets nb of curves in container
53 int SPlot2d_CurveContainer::count()
55 return myCurves.count();
58 Returns true if contains no curves
60 bool SPlot2d_CurveContainer::isEmpty() const
62 return myCurves.isEmpty();
67 Plot2d_Curve* SPlot2d_CurveContainer::curve( const int index )
69 return myCurves.at( index );