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