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 #ifndef _SMESHDS_Script_HeaderFile
00027 #define _SMESHDS_Script_HeaderFile
00028
00029 #include "SMESH_SMESHDS.hxx"
00030
00031 #include "SMESHDS_Command.hxx"
00032
00033 #include <list>
00034 #include <vector>
00035
00036
00037 class SMESHDS_EXPORT SMESHDS_Script
00038 {
00039 public:
00040 SMESHDS_Script(bool theIsEmbeddedMode);
00041 ~SMESHDS_Script();
00042
00043 void SetModified(bool theModified);
00044 bool IsModified();
00045
00046 void AddNode(int NewNodeID, double x, double y, double z);
00047 void Add0DElement(int New0DElementID, int idnode);
00048 void AddEdge(int NewEdgeID, int idnode1, int idnode2);
00049 void AddFace(int NewFaceID, int idnode1, int idnode2, int idnode3);
00050 void AddFace(int NewFaceID, int idnode1, int idnode2, int idnode3,
00051 int idnode4);
00052 void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
00053 int idnode4);
00054 void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
00055 int idnode4, int idnode5);
00056 void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
00057 int idnode4, int idnode5, int idnode6);
00058 void AddVolume(int NewVolID, int idnode1, int idnode2, int idnode3,
00059 int idnode4, int idnode5, int idnode6, int idnode7, int idnode8);
00060
00061 void AddPolygonalFace (const int NewFaceID,
00062 std::vector<int> nodes_ids);
00063 void AddPolyhedralVolume (const int NewVolID,
00064 std::vector<int> nodes_ids,
00065 std::vector<int> quantities);
00066
00067
00068 void AddEdge(int NewEdgeID, int n1, int n2, int n12);
00069 void AddFace(int NewFaceID, int n1, int n2, int n3,
00070 int n12, int n23, int n31);
00071 void AddFace(int NewFaceID, int n1, int n2, int n3, int n4,
00072 int n12, int n23, int n34, int n41);
00073 void AddVolume(int NewVolID, int n1, int n2, int n3, int n4,
00074 int n12, int n23, int n31, int n14, int n24, int n34);
00075 void AddVolume(int NewVolID, int n1, int n2, int n3, int n4, int n5,
00076 int n12, int n23, int n34, int n41,
00077 int n15, int n25, int n35, int n45);
00078 void AddVolume(int NewVolID, int n1, int n2, int n3,
00079 int n4, int n5, int n6,
00080 int n12, int n23, int n31,
00081 int n45, int n56, int n64,
00082 int n14, int n25, int n36);
00083 void AddVolume(int NewVolID, int n1, int n2, int n3, int n4,
00084 int n5, int n6, int n7, int n8,
00085 int n12, int n23, int n34, int n41,
00086 int n56, int n67, int n78, int n85,
00087 int n15, int n26, int n37, int n48);
00088 void MoveNode(int NewNodeID, double x, double y, double z);
00089 void RemoveNode(int NodeID);
00090 void RemoveElement(int ElementID);
00091 void ChangeElementNodes(int ElementID, int nodes[], int nbnodes);
00092 void ChangePolyhedronNodes(const int ElementID,
00093 std::vector<int> nodes_ids,
00094 std::vector<int> quantities);
00095 void Renumber (const bool isNodes, const int startID, const int deltaID);
00096 void ClearMesh();
00097 void Clear();
00098 const std::list<SMESHDS_Command*> & GetCommands();
00099
00100 private:
00101 SMESHDS_Command* getCommand(const SMESHDS_CommandType aType);
00102
00103 std::list<SMESHDS_Command*> myCommands;
00104
00105 bool myIsEmbeddedMode;
00106 bool myIsModified;
00107 };
00108
00109 #endif