#include "CurveCreator_UtilsICurve.hxx"
#include "CurveCreator.hxx"
+#include <gp_Pnt.hxx>
const double LOCAL_SELECTION_TOLERANCE = 0.0001;
-int CurveCreator_UtilsICurve::findLocalPointIndex( CurveCreator_ICurve* theCurve,
+int CurveCreator_UtilsICurve::findLocalPointIndex( const CurveCreator_ICurve* theCurve,
int theSectionId, float theX, float theY )
{
int aPntIndex = -1;
return aPntIndex;
}
-void CurveCreator_UtilsICurve::findSectionsToPoints( CurveCreator_ICurve* theCurve,
+void CurveCreator_UtilsICurve::findSectionsToPoints( const CurveCreator_ICurve* theCurve,
const double theX, const double theY,
CurveCreator_ICurve::SectionToPointList& thePoints )
{
}
}
-/**
- * Returns whethe the container has the value
- * \param theList a container of values
- * \param theValue a value
- */
+#include "CurveCreator_Curve.hxx" // TODO
+void CurveCreator_UtilsICurve::getPoint( const CurveCreator_ICurve* theCurve, const int theISection,
+ const int theIPoint, gp_Pnt& thePoint )
+{
+ double anX, anY, aZ;
+ // TODO
+ const CurveCreator_Curve* aCurve = dynamic_cast<const CurveCreator_Curve*>( theCurve );
+ if ( aCurve )
+ aCurve->getCoordinates( theISection, theIPoint, anX, anY, aZ );
+ thePoint = gp_Pnt( anX, anY, aZ);
+}
+
+std::string CurveCreator_UtilsICurve::getUniqSectionName( CurveCreator_ICurve* theCurve )
+{
+ for( int i = 0 ; i < 1000000 ; i++ ){
+ char aBuffer[255];
+ sprintf( aBuffer, "Section_%d", i+1 );
+ std::string aName(aBuffer);
+ int j;
+ for( j = 0 ; j < theCurve->getNbSections() ; j++ ){
+ if( theCurve->getSectionName(j) == aName )
+ break;
+ }
+ if( j == theCurve->getNbSections() )
+ return aName;
+ }
+ return "";
+}
+
bool CurveCreator_UtilsICurve::contains( const CurveCreator_ICurve::SectionToPointList& theList,
const CurveCreator_ICurve::SectionToPoint& theValue )
{