X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHDS%2FSMESHDS_Command.cxx;h=b55b5af1c3694f09d57b5d540711f252dd094804;hp=64b85565edca1db6c6ecfd48cede0c0e6dbe3921;hb=9d28d73b09e96b23cf9937afa17474f98508df18;hpb=789d7f7415a1e465aee36232e7633eea548ff1fb diff --git a/src/SMESHDS/SMESHDS_Command.cxx b/src/SMESHDS/SMESHDS_Command.cxx index 64b85565e..b55b5af1c 100644 --- a/src/SMESHDS/SMESHDS_Command.cxx +++ b/src/SMESHDS/SMESHDS_Command.cxx @@ -26,188 +26,252 @@ // Module : SMESH // $Header: -using namespace std; -#include "SMESHDS_Command.ixx" -#include "SMESHDS_CommandType.hxx" +#include "SMESHDS_Command.hxx" + #include "utilities.h" +using namespace std; + //======================================================================= //function : //purpose : //======================================================================= -SMESHDS_Command::SMESHDS_Command(const SMESHDS_CommandType aType) - : myType(aType), myNumber(0) -{} +SMESHDS_Command::SMESHDS_Command(const SMESHDS_CommandType aType):myType(aType), +myNumber(0) +{ +} //======================================================================= //function : //purpose : //======================================================================= -void SMESHDS_Command::AddNode(const Standard_Integer NewNodeID, - const Standard_Real x, - const Standard_Real y, - const Standard_Real z) +void SMESHDS_Command::AddNode(int NewNodeID, double x, double y, double z) { - if (!myType == SMESHDS_AddNode) { - MESSAGE("SMESHDS_Command::AddNode : Bad Type"); - return; - } - myIntegers.Append(NewNodeID); - myReals.Append(x); - myReals.Append(y); - myReals.Append(z); - myNumber++; + if (!myType == SMESHDS_AddNode) + { + MESSAGE("SMESHDS_Command::AddNode : Bad Type"); + return; + } + myIntegers.push_back(NewNodeID); + myReals.push_back(x); + myReals.push_back(y); + myReals.push_back(z); + myNumber++; } //======================================================================= //function : //purpose : //======================================================================= -void SMESHDS_Command::MoveNode(const Standard_Integer NodeID, - const Standard_Real x, - const Standard_Real y, - const Standard_Real z) +void SMESHDS_Command::MoveNode(int NodeID, double x, double y, double z) { - if (!myType == SMESHDS_MoveNode) { - MESSAGE("SMESHDS_Command::MoveNode : Bad Type"); - return; - } - myIntegers.Append(NodeID); - myReals.Append(x); - myReals.Append(y); - myReals.Append(z); - myNumber++; + if (!myType == SMESHDS_MoveNode) + { + MESSAGE("SMESHDS_Command::MoveNode : Bad Type"); + return; + } + myIntegers.push_back(NodeID); + myReals.push_back(x); + myReals.push_back(y); + myReals.push_back(z); + myNumber++; } //======================================================================= //function : //purpose : //======================================================================= -void SMESHDS_Command::AddEdge(const Standard_Integer NewEdgeID, - const Standard_Integer idnode1, - const Standard_Integer idnode2) +void SMESHDS_Command::AddEdge(int NewEdgeID, int idnode1, int idnode2) { - if (!myType == SMESHDS_AddEdge) { - MESSAGE("SMESHDS_Command::AddEdge : Bad Type"); - return; - } - myIntegers.Append(NewEdgeID); - myIntegers.Append(idnode1); - myIntegers.Append(idnode2); - myNumber++; + if (!myType == SMESHDS_AddEdge) + { + MESSAGE("SMESHDS_Command::AddEdge : Bad Type"); + return; + } + myIntegers.push_back(NewEdgeID); + myIntegers.push_back(idnode1); + myIntegers.push_back(idnode2); + myNumber++; } //======================================================================= //function : //purpose : //======================================================================= -void SMESHDS_Command::AddFace(const Standard_Integer NewFaceID, - const Standard_Integer idnode1, - const Standard_Integer idnode2, - const Standard_Integer idnode3) +void SMESHDS_Command::AddFace(int NewFaceID, + int idnode1, int idnode2, int idnode3) { - if (!myType == SMESHDS_AddTriangle) { - MESSAGE("SMESHDS_Command::AddFace : Bad Type"); - return; - } - myIntegers.Append(NewFaceID); - myIntegers.Append(idnode1); - myIntegers.Append(idnode2); - myIntegers.Append(idnode3); - myNumber++; + if (!myType == SMESHDS_AddTriangle) + { + MESSAGE("SMESHDS_Command::AddFace : Bad Type"); + return; + } + myIntegers.push_back(NewFaceID); + myIntegers.push_back(idnode1); + myIntegers.push_back(idnode2); + myIntegers.push_back(idnode3); + myNumber++; } //======================================================================= //function : //purpose : //======================================================================= -void SMESHDS_Command::AddFace(const Standard_Integer NewFaceID, - const Standard_Integer idnode1, - const Standard_Integer idnode2, - const Standard_Integer idnode3, - const Standard_Integer idnode4) +void SMESHDS_Command::AddFace(int NewFaceID, + int idnode1, int idnode2, int idnode3, int idnode4) { - if (!myType == SMESHDS_AddQuadrangle) { - MESSAGE("SMESHDS_Command::AddFace : Bad Type"); - return; - } - myIntegers.Append(NewFaceID); - myIntegers.Append(idnode1); - myIntegers.Append(idnode2); - myIntegers.Append(idnode3); - myIntegers.Append(idnode4); - myNumber++; + if (!myType == SMESHDS_AddQuadrangle) + { + MESSAGE("SMESHDS_Command::AddFace : Bad Type"); + return; + } + myIntegers.push_back(NewFaceID); + myIntegers.push_back(idnode1); + myIntegers.push_back(idnode2); + myIntegers.push_back(idnode3); + myIntegers.push_back(idnode4); + myNumber++; } //======================================================================= //function : //purpose : //======================================================================= -void SMESHDS_Command::AddVolume(const Standard_Integer NewVolID, - const Standard_Integer idnode1, - const Standard_Integer idnode2, - const Standard_Integer idnode3, - const Standard_Integer idnode4) +void SMESHDS_Command::AddVolume(int NewVolID, + int idnode1, int idnode2, int idnode3, int idnode4) { - if (!myType == SMESHDS_AddTetrahedron) { - MESSAGE("SMESHDS_Command::AddVolume : Bad Type"); - return; - } - myIntegers.Append(NewVolID); - myIntegers.Append(idnode1); - myIntegers.Append(idnode2); - myIntegers.Append(idnode3); - myIntegers.Append(idnode4); - myNumber++; + if (!myType == SMESHDS_AddTetrahedron) + { + MESSAGE("SMESHDS_Command::AddVolume : Bad Type"); + return; + } + myIntegers.push_back(NewVolID); + myIntegers.push_back(idnode1); + myIntegers.push_back(idnode2); + myIntegers.push_back(idnode3); + myIntegers.push_back(idnode4); + myNumber++; +} + +//======================================================================= +//function : +//purpose : +//======================================================================= +void SMESHDS_Command::AddVolume(int NewVolID, + int idnode1, int idnode2, int idnode3, int idnode4, int idnode5) +{ + if (!myType == SMESHDS_AddPyramid) + { + MESSAGE("SMESHDS_Command::AddVolume : Bad Type"); + return; + } + myIntegers.push_back(NewVolID); + myIntegers.push_back(idnode1); + myIntegers.push_back(idnode2); + myIntegers.push_back(idnode3); + myIntegers.push_back(idnode4); + myIntegers.push_back(idnode5); + myNumber++; +} + +//======================================================================= +//function : +//purpose : +//======================================================================= +void SMESHDS_Command::AddVolume(int NewVolID, + int idnode1, + int idnode2, int idnode3, int idnode4, int idnode5, int idnode6) +{ + if (!myType == SMESHDS_AddPrism) + { + MESSAGE("SMESHDS_Command::AddVolume : Bad Type"); + return; + } + myIntegers.push_back(NewVolID); + myIntegers.push_back(idnode1); + myIntegers.push_back(idnode2); + myIntegers.push_back(idnode3); + myIntegers.push_back(idnode4); + myIntegers.push_back(idnode5); + myIntegers.push_back(idnode6); + myNumber++; } //======================================================================= //function : //purpose : //======================================================================= -void SMESHDS_Command::AddVolume(const Standard_Integer NewVolID, - const Standard_Integer idnode1, - const Standard_Integer idnode2, - const Standard_Integer idnode3, - const Standard_Integer idnode4, - const Standard_Integer idnode5) +void SMESHDS_Command::AddVolume(int NewVolID, + int idnode1, + int idnode2, + int idnode3, + int idnode4, int idnode5, int idnode6, int idnode7, int idnode8) { - if (!myType == SMESHDS_AddPyramid) { - MESSAGE("SMESHDS_Command::AddVolume : Bad Type"); + if (!myType == SMESHDS_AddHexahedron) + { + MESSAGE("SMESHDS_Command::AddVolume : Bad Type"); + return; + } + myIntegers.push_back(NewVolID); + myIntegers.push_back(idnode1); + myIntegers.push_back(idnode2); + myIntegers.push_back(idnode3); + myIntegers.push_back(idnode4); + myIntegers.push_back(idnode5); + myIntegers.push_back(idnode6); + myIntegers.push_back(idnode7); + myIntegers.push_back(idnode8); + myNumber++; +} + +//======================================================================= +//function : AddPolygonalFace +//purpose : +//======================================================================= +void SMESHDS_Command::AddPolygonalFace (const int ElementID, + std::vector nodes_ids) +{ + if (!myType == SMESHDS_AddPolygon) { + MESSAGE("SMESHDS_Command::AddPolygonalFace : Bad Type"); return; } - myIntegers.Append(NewVolID); - myIntegers.Append(idnode1); - myIntegers.Append(idnode2); - myIntegers.Append(idnode3); - myIntegers.Append(idnode4); - myIntegers.Append(idnode5); + 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 : +//function : AddPolyhedralVolume //purpose : //======================================================================= -void SMESHDS_Command::AddVolume(const Standard_Integer NewVolID, - const Standard_Integer idnode1, - const Standard_Integer idnode2, - const Standard_Integer idnode3, - const Standard_Integer idnode4, - const Standard_Integer idnode5, - const Standard_Integer idnode6) +void SMESHDS_Command::AddPolyhedralVolume (const int ElementID, + std::vector nodes_ids, + std::vector quantities) { - if (!myType == SMESHDS_AddPrism) { - MESSAGE("SMESHDS_Command::AddVolume : Bad Type"); + if (!myType == SMESHDS_AddPolyhedron) { + MESSAGE("SMESHDS_Command::AddPolyhedralVolume : Bad Type"); return; } - myIntegers.Append(NewVolID); - myIntegers.Append(idnode1); - myIntegers.Append(idnode2); - myIntegers.Append(idnode3); - myIntegers.Append(idnode4); - myIntegers.Append(idnode5); - myIntegers.Append(idnode6); + 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++; } @@ -215,57 +279,97 @@ void SMESHDS_Command::AddVolume(const Standard_Integer NewVolID, //function : //purpose : //======================================================================= -void SMESHDS_Command::AddVolume(const Standard_Integer NewVolID, - const Standard_Integer idnode1, - const Standard_Integer idnode2, - const Standard_Integer idnode3, - const Standard_Integer idnode4, - const Standard_Integer idnode5, - const Standard_Integer idnode6, - const Standard_Integer idnode7, - const Standard_Integer idnode8) +void SMESHDS_Command::RemoveNode(int NodeID) +{ + if (!myType == SMESHDS_RemoveNode) + { + MESSAGE("SMESHDS_Command::RemoveNode : Bad Type"); + return; + } + myIntegers.push_back(NodeID); + myNumber++; +} + +//======================================================================= +//function : +//purpose : +//======================================================================= +void SMESHDS_Command::RemoveElement(int ElementID) +{ + if (!myType == SMESHDS_RemoveElement) + { + MESSAGE("SMESHDS_Command::RemoveElement : Bad Type"); + return; + } + myIntegers.push_back(ElementID); + myNumber++; +} + +//======================================================================= +//function : ChangeElementNodes +//purpose : +//======================================================================= + +void SMESHDS_Command::ChangeElementNodes(int ElementID, int nodes[], int nbnodes) { - if (!myType == SMESHDS_AddHexahedron) { - MESSAGE("SMESHDS_Command::AddVolume : Bad Type"); + if (!myType == SMESHDS_ChangeElementNodes) + { + MESSAGE("SMESHDS_Command::ChangeElementNodes : Bad Type"); return; } - myIntegers.Append(NewVolID); - myIntegers.Append(idnode1); - myIntegers.Append(idnode2); - myIntegers.Append(idnode3); - myIntegers.Append(idnode4); - myIntegers.Append(idnode5); - myIntegers.Append(idnode6); - myIntegers.Append(idnode7); - myIntegers.Append(idnode8); + myIntegers.push_back(ElementID); + myIntegers.push_back(nbnodes); + for ( int i = 0; i < nbnodes; i++ ) + myIntegers.push_back( nodes[ i ] ); + myNumber++; } //======================================================================= -//function : +//function : ChangePolyhedronNodes //purpose : //======================================================================= -void SMESHDS_Command::RemoveNode(const Standard_Integer NodeID) +void SMESHDS_Command::ChangePolyhedronNodes (const int ElementID, + std::vector nodes_ids, + std::vector quantities) { - if (!myType == SMESHDS_RemoveNode) { - MESSAGE("SMESHDS_Command::RemoveNode : Bad Type"); + if (myType != SMESHDS_ChangePolyhedronNodes) + { + MESSAGE("SMESHDS_Command::ChangePolyhedronNodes : Bad Type"); return; } - myIntegers.Append(NodeID); + 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 : +//function : Renumber //purpose : //======================================================================= -void SMESHDS_Command::RemoveElement(const Standard_Integer ElementID) + +void SMESHDS_Command::Renumber (const bool isNodes, const int startID, const int deltaID) { - if (!myType == SMESHDS_RemoveElement) { - MESSAGE("SMESHDS_Command::RemoveElement : Bad Type"); + if (!myType == SMESHDS_Renumber) + { + MESSAGE("SMESHDS_Command::Renumber : Bad Type"); return; } - myIntegers.Append(ElementID); + myIntegers.push_back(isNodes); + myIntegers.push_back(startID); + myIntegers.push_back(deltaID); myNumber++; } @@ -275,32 +379,32 @@ void SMESHDS_Command::RemoveElement(const Standard_Integer ElementID) //======================================================================= SMESHDS_CommandType SMESHDS_Command::GetType() { - return myType; + return myType; } //======================================================================= //function : //purpose : //======================================================================= -Standard_Integer SMESHDS_Command::GetNumber() +int SMESHDS_Command::GetNumber() { - return myNumber; + return myNumber; } //======================================================================= //function : //purpose : //======================================================================= -const TColStd_ListOfInteger& SMESHDS_Command::GetIndexes() +const list < int >&SMESHDS_Command::GetIndexes() { - return myIntegers; + return myIntegers; } //======================================================================= //function : //purpose : //======================================================================= -const TColStd_ListOfReal& SMESHDS_Command::GetCoords() +const list < double >&SMESHDS_Command::GetCoords() { - return myReals; + return myReals; }