1 // SMESH SMESHDS : management of mesh data and SMESH document
3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
24 // File : SMESHDS_Command.hxx
27 #ifndef _SMESHDS_Command_HeaderFile
28 #define _SMESHDS_Command_HeaderFile
30 #include "SMESHDS_CommandType.hxx"
38 SMESHDS_Command(const SMESHDS_CommandType aType);
39 void AddNode(int NewNodeID, double x, double y, double z);
40 void AddEdge(int NewEdgeID, int idnode1, int idnode2);
41 void AddFace(int NewFaceID, int idnode1, int idnode2, int idnode3);
42 void AddFace(int NewFaceID, int idnode1, int idnode2, int idnode3,
44 void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
46 void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
47 int idnode4, int idnode5);
48 void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
49 int idnode4, int idnode5, int idnode6);
50 void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
51 int idnode4, int idnode5, int idnode6, int idnode7, int idnode8);
52 void AddPolygonalFace (const int ElementID,
53 std::vector<int> nodes_ids);
54 void AddPolyhedralVolume (const int ElementID,
55 std::vector<int> nodes_ids,
56 std::vector<int> quantities);
57 void MoveNode(int NewNodeID, double x, double y, double z);
58 void RemoveNode(int NodeID);
59 void RemoveElement(int ElementID);
60 void ChangeElementNodes(int ElementID, int nodes[], int nbnodes);
61 void ChangePolyhedronNodes(const int ElementID,
62 std::vector<int> nodes_ids,
63 std::vector<int> quantities);
64 void Renumber (const bool isNodes, const int startID, const int deltaID);
65 SMESHDS_CommandType GetType();
67 const std::list<int> & GetIndexes();
68 const std::list<double> & GetCoords();
71 SMESHDS_CommandType myType;
73 std::list<double> myReals;
74 std::list<int> myIntegers;