X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHDS%2FSMESHDS_Command.cxx;h=b55b5af1c3694f09d57b5d540711f252dd094804;hb=5467bb25d4a8ca4a84de65bc44b725bdd9d69a29;hp=05f529d0e064e4da753b6e05ea2306a6ab9e08fd;hpb=2d46bce2985c40bfac0593abad88d590a8efca48;p=modules%2Fsmesh.git diff --git a/src/SMESHDS/SMESHDS_Command.cxx b/src/SMESHDS/SMESHDS_Command.cxx index 05f529d0e..b55b5af1c 100644 --- a/src/SMESHDS/SMESHDS_Command.cxx +++ b/src/SMESHDS/SMESHDS_Command.cxx @@ -26,10 +26,12 @@ // Module : SMESH // $Header: -using namespace std; #include "SMESHDS_Command.hxx" + #include "utilities.h" +using namespace std; + //======================================================================= //function : //purpose : @@ -222,6 +224,57 @@ void SMESHDS_Command::AddVolume(int NewVolID, 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.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 nodes_ids, + std::vector 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 : @@ -252,6 +305,74 @@ void SMESHDS_Command::RemoveElement(int ElementID) myNumber++; } +//======================================================================= +//function : ChangeElementNodes +//purpose : +//======================================================================= + +void SMESHDS_Command::ChangeElementNodes(int ElementID, int nodes[], int nbnodes) +{ + if (!myType == SMESHDS_ChangeElementNodes) + { + MESSAGE("SMESHDS_Command::ChangeElementNodes : Bad Type"); + return; + } + myIntegers.push_back(ElementID); + myIntegers.push_back(nbnodes); + for ( int i = 0; i < nbnodes; i++ ) + myIntegers.push_back( nodes[ i ] ); + + myNumber++; +} + +//======================================================================= +//function : ChangePolyhedronNodes +//purpose : +//======================================================================= +void SMESHDS_Command::ChangePolyhedronNodes (const int ElementID, + std::vector nodes_ids, + std::vector 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 : +//======================================================================= + +void SMESHDS_Command::Renumber (const bool isNodes, const int startID, const int deltaID) +{ + if (!myType == SMESHDS_Renumber) + { + MESSAGE("SMESHDS_Command::Renumber : Bad Type"); + return; + } + myIntegers.push_back(isNodes); + myIntegers.push_back(startID); + myIntegers.push_back(deltaID); + myNumber++; +} + //======================================================================= //function : //purpose :