Salome HOME
SMH: Preparation version 3.0.0 - merge (HEAD+POLYWORK)
[modules/smesh.git] / src / SMESHDS / SMESHDS_Command.cxx
index 4e7dc3f3bfd0a89df0d86a2dc43224acecf9404f..b55b5af1c3694f09d57b5d540711f252dd094804 100644 (file)
@@ -224,6 +224,57 @@ void SMESHDS_Command::AddVolume(int NewVolID,
        myNumber++;
 }
 
+//=======================================================================
+//function : AddPolygonalFace
+//purpose  : 
+//=======================================================================
+void SMESHDS_Command::AddPolygonalFace (const int        ElementID,
+                                        std::vector<int> nodes_ids)
+{
+  if (!myType == SMESHDS_AddPolygon) {
+    MESSAGE("SMESHDS_Command::AddPolygonalFace : Bad Type");
+    return;
+  }
+  myIntegers.push_back(ElementID);
+
+  int i, nbNodes = nodes_ids.size();
+  myIntegers.push_back(nbNodes);
+  for (i = 0; i < nbNodes; i++) {
+    myIntegers.push_back(nodes_ids[i]);
+  }
+
+  myNumber++;
+}
+
+//=======================================================================
+//function : AddPolyhedralVolume
+//purpose  : 
+//=======================================================================
+void SMESHDS_Command::AddPolyhedralVolume (const int        ElementID,
+                                           std::vector<int> nodes_ids,
+                                           std::vector<int> quantities)
+{
+  if (!myType == SMESHDS_AddPolyhedron) {
+    MESSAGE("SMESHDS_Command::AddPolyhedralVolume : Bad Type");
+    return;
+  }
+  myIntegers.push_back(ElementID);
+
+  int i, nbNodes = nodes_ids.size();
+  myIntegers.push_back(nbNodes);
+  for (i = 0; i < nbNodes; i++) {
+    myIntegers.push_back(nodes_ids[i]);
+  }
+
+  int nbFaces = quantities.size();
+  myIntegers.push_back(nbFaces);
+  for (i = 0; i < nbFaces; i++) {
+    myIntegers.push_back(quantities[i]);
+  }
+
+  myNumber++;
+}
+
 //=======================================================================
 //function : 
 //purpose  : 
@@ -263,7 +314,7 @@ void SMESHDS_Command::ChangeElementNodes(int ElementID, int nodes[], int nbnodes
 {
   if (!myType == SMESHDS_ChangeElementNodes)
   {
-    MESSAGE("SMESHDS_Command::RemoveElement : Bad Type");
+    MESSAGE("SMESHDS_Command::ChangeElementNodes : Bad Type");
     return;
   }
   myIntegers.push_back(ElementID);
@@ -274,6 +325,36 @@ void SMESHDS_Command::ChangeElementNodes(int ElementID, int nodes[], int nbnodes
   myNumber++;
 }
 
+//=======================================================================
+//function : ChangePolyhedronNodes
+//purpose  : 
+//=======================================================================
+void SMESHDS_Command::ChangePolyhedronNodes (const int ElementID,
+                                             std::vector<int> nodes_ids,
+                                             std::vector<int> quantities)
+{
+  if (myType != SMESHDS_ChangePolyhedronNodes)
+  {
+    MESSAGE("SMESHDS_Command::ChangePolyhedronNodes : Bad Type");
+    return;
+  }
+  myIntegers.push_back(ElementID);
+
+  int i, nbNodes = nodes_ids.size();
+  myIntegers.push_back(nbNodes);
+  for (i = 0; i < nbNodes; i++) {
+    myIntegers.push_back(nodes_ids[i]);
+  }
+
+  int nbFaces = quantities.size();
+  myIntegers.push_back(nbFaces);
+  for (i = 0; i < nbFaces; i++) {
+    myIntegers.push_back(quantities[i]);
+  }
+
+  myNumber++;
+}
+
 //=======================================================================
 //function : Renumber
 //purpose  :