Salome HOME
Make generated by SWIG python script installed: refs #17
[modules/shaper.git] / src / Model / Model_Iterator.cxx
index 917d892884cbf90d019a3480121baa70721fc270..001ebdff8146c3d2bab6e71cc80cbca487696fa2 100644 (file)
@@ -4,34 +4,36 @@
 
 #include "Model_Iterator.h"
 #include "Model_Document.h"
+#include "ModelAPI_Feature.h"
+#include "Model_Data.h"
 #include <TDataStd_Comment.hxx>
 #include <TDataStd_Name.hxx>
 
 using namespace std;
 
-void Model_Iterator::Next()
+void Model_Iterator::next()
 {
   return myIter.Next();
 }
 
-bool Model_Iterator::More()
+bool Model_Iterator::more()
 {
-  return myIter.More();
+  return myIter.More() == Standard_True;
 }
 
-shared_ptr<ModelAPI_Feature> Model_Iterator::Current()
+shared_ptr<ModelAPI_Feature> Model_Iterator::current()
 {
   TDF_Label aLab = myIter.Value()->Label();
   return myDoc->feature(aLab);
 }
 
-string Model_Iterator::CurrentKind()
+string Model_Iterator::currentKind()
 {
   return string(TCollection_AsciiString(
     Handle(TDataStd_Comment)::DownCast(myIter.Value())->Get()).ToCString());
 }
 
-string Model_Iterator::CurrentName()
+string Model_Iterator::currentName()
 {
   TDF_Label aLab = myIter.Value()->Label();
   Handle(TDataStd_Name) aName;
@@ -40,6 +42,26 @@ string Model_Iterator::CurrentName()
   return ""; // name is not found
 }
 
+int Model_Iterator::numIterationsLeft()
+{
+  int aResult = 0;
+  TDF_ChildIDIterator aTempIter(myIter);
+  for(; aTempIter.More(); aTempIter.Next())
+    aResult++;
+  return aResult;
+}
+
+bool Model_Iterator::isEqual(std::shared_ptr<ModelAPI_Feature> theFeature)
+{
+  return (myIter.Value()->Label() == 
+    dynamic_pointer_cast<Model_Data>(theFeature->data())->label()) == Standard_True;
+
+}
+
+Model_Iterator::Model_Iterator()
+{
+}
+
 Model_Iterator::Model_Iterator(std::shared_ptr<Model_Document> theDoc, TDF_Label theLab)
   : myDoc(theDoc), myIter(theLab, TDataStd_Comment::GetID(), Standard_False)
 {}