Salome HOME
Merge branch 'master' of newgeom:newgeom.git
[modules/shaper.git] / src / ModelAPI / ModelAPI_Iterator.h
index 84afc7381d3a1800639f63303a2ae953f7c2568a..73187982f5e4269907a827353c924bbffc05a428 100644 (file)
@@ -22,15 +22,21 @@ class MODELAPI_EXPORT ModelAPI_Iterator
 {
 public:
   /// Iterates to the next feature
-  virtual void Next() = 0;
+  virtual void next() = 0;
   /// Returns true if the current iteration is valid and next iteration is possible
-  virtual bool More() = 0;
+  virtual bool more() = 0;
   /// Returns the currently iterated feature
-  virtual std::shared_ptr<ModelAPI_Feature> Current() = 0;
+  virtual std::shared_ptr<ModelAPI_Feature> current() = 0;
   /// Returns the kind of the current feature (faster than Current()->getKind())
-  virtual std::string CurrentKind() = 0;
+  virtual std::string currentKind() = 0;
   /// Returns the name of the current feature (faster than Current()->getName())
-  virtual std::string CurrentName() = 0;
+  virtual std::string currentName() = 0;
+  /// Don't changes the current position of iterator. Not fast: iterates the left items.
+  /// \returns number of left iterations
+  virtual int numIterationsLeft() = 0;
+  /// Compares the current feature with the given one
+  /// \returns true if given feature equals to the current one
+  virtual bool is(std::shared_ptr<ModelAPI_Feature> theFeature) = 0;
 
 protected:
   /// Use plugin manager for features creation: this method is