00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef _SMESHDS_Command_HeaderFile
00028 #define _SMESHDS_Command_HeaderFile
00029
00030 #include "SMESH_SMESHDS.hxx"
00031
00032 #include "SMESHDS_CommandType.hxx"
00033 #include <list>
00034 #include <vector>
00035
00036 class SMESHDS_EXPORT SMESHDS_Command
00037 {
00038
00039 public:
00040 SMESHDS_Command(const SMESHDS_CommandType aType);
00041 void AddNode(int NewNodeID, double x, double y, double z);
00042 void Add0DElement(int New0DElementID, int idnode);
00043 void AddEdge(int NewEdgeID, int idnode1, int idnode2);
00044 void AddFace(int NewFaceID, int idnode1, int idnode2, int idnode3);
00045 void AddFace(int NewFaceID, int idnode1, int idnode2, int idnode3,
00046 int idnode4);
00047 void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
00048 int idnode4);
00049 void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
00050 int idnode4, int idnode5);
00051 void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
00052 int idnode4, int idnode5, int idnode6);
00053 void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
00054 int idnode4, int idnode5, int idnode6, int idnode7, int idnode8);
00055 void AddPolygonalFace (const int ElementID,
00056 std::vector<int> nodes_ids);
00057 void AddPolyhedralVolume (const int ElementID,
00058 std::vector<int> nodes_ids,
00059 std::vector<int> quantities);
00060
00061 void AddEdge(int NewEdgeID, int n1, int n2, int n12);
00062 void AddFace(int NewFaceID, int n1, int n2, int n3,
00063 int n12, int n23, int n31);
00064 void AddFace(int NewFaceID, int n1, int n2, int n3, int n4,
00065 int n12, int n23, int n34, int n41);
00066 void AddVolume(int NewVolID, int n1, int n2, int n3, int n4,
00067 int n12, int n23, int n31, int n14, int n24, int n34);
00068 void AddVolume(int NewVolID, int n1, int n2, int n3, int n4, int n5,
00069 int n12, int n23, int n34, int n41,
00070 int n15, int n25, int n35, int n45);
00071 void AddVolume(int NewVolID, int n1, int n2, int n3,
00072 int n4, int n5, int n6,
00073 int n12, int n23, int n31,
00074 int n45, int n56, int n64,
00075 int n14, int n25, int n36);
00076 void AddVolume(int NewVolID, int n1, int n2, int n3, int n4,
00077 int n5, int n6, int n7, int n8,
00078 int n12, int n23, int n34, int n41,
00079 int n56, int n67, int n78, int n85,
00080 int n15, int n26, int n37, int n48);
00081
00082 void MoveNode(int NewNodeID, double x, double y, double z);
00083 void RemoveNode(int NodeID);
00084 void RemoveElement(int ElementID);
00085 void ChangeElementNodes(int ElementID, int nodes[], int nbnodes);
00086 void ChangePolyhedronNodes(const int ElementID,
00087 std::vector<int> nodes_ids,
00088 std::vector<int> quantities);
00089 void Renumber (const bool isNodes, const int startID, const int deltaID);
00090 SMESHDS_CommandType GetType();
00091 int GetNumber();
00092 const std::list<int> & GetIndexes();
00093 const std::list<double> & GetCoords();
00094 ~SMESHDS_Command();
00095 private:
00096 SMESHDS_CommandType myType;
00097 int myNumber;
00098 std::list<double> myReals;
00099 std::list<int> myIntegers;
00100 };
00101 #endif