Salome HOME
Save for a list of the local selected points.
[modules/hydro.git] / src / HYDROCurveCreator / CurveCreator_UtilsICurve.cxx
index 979a246d9aa1a6d91a75a0bf301c5532a362ad7d..cc717a08d449fe7f5c91405139f7520976b1a257 100644 (file)
@@ -23,7 +23,7 @@
 
 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;
@@ -43,7 +43,7 @@ int CurveCreator_UtilsICurve::findLocalPointIndex( CurveCreator_ICurve* theCurve
   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 )
 {
@@ -94,11 +94,23 @@ void CurveCreator_UtilsICurve::getPoint( const CurveCreator_ICurve* theCurve, co
   thePoint = gp_Pnt( anX, anY, aZ);
 }
 
-/**
- * Returns whethe the container has the value
- * \param theList a container of values
- * \param theValue a value
- */
+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 )
 {