1 #ifndef __HexDocument_impl__
2 #define __HexDocument_impl__
4 #include <SALOMEconfig.h>
5 #include CORBA_SERVER_HEADER(Document)
6 #include "SALOME_GenericObj_i.hh"
8 #include "hexa_base.hxx"
9 #include "HexDocument.hxx"
12 // #define HEXA_NS Hex
13 using namespace HEXABLOCK_ORB;
16 public POA_HEXABLOCK_ORB::Document,
17 public SALOME::GenericObj_i
21 Document_impl(HEXA_NS::Document *ptrCpp);
23 HEXA_NS::Document* GetImpl() throw (SALOME::SALOME_Exception);
25 void purge() throw (SALOME::SALOME_Exception);
27 ::CORBA::Long saveVtk(const char* fname) throw (SALOME::SALOME_Exception);
29 char* getFile() throw (SALOME::SALOME_Exception);
30 void setFile(const char* fileName) throw (SALOME::SALOME_Exception);
31 ::CORBA::Boolean isSavedFile() throw (SALOME::SALOME_Exception);
32 ::CORBA::Long saveFile() throw (SALOME::SALOME_Exception);
33 void setTolerance(::CORBA::Double tol) throw (SALOME::SALOME_Exception);
34 ::CORBA::Double getTolerance() throw (SALOME::SALOME_Exception);
35 Vertex_ptr addVertex(::CORBA::Double x, ::CORBA::Double y, ::CORBA::Double z) throw (SALOME::SALOME_Exception);
36 ::CORBA::Long countVertex() throw (SALOME::SALOME_Exception);
37 Vertex_ptr getVertex(::CORBA::Long i) throw (SALOME::SALOME_Exception);
38 Vertex_ptr findVertex(::CORBA::Double x, ::CORBA::Double y, ::CORBA::Double z) throw (SALOME::SALOME_Exception);
39 Edge_ptr addEdge(Vertex_ptr v0, Vertex_ptr v1) throw (SALOME::SALOME_Exception);
40 ::CORBA::Long countEdge() throw (SALOME::SALOME_Exception);
41 Edge_ptr getEdge(::CORBA::Long i) throw (SALOME::SALOME_Exception);
42 Edge_ptr findEdge(Vertex_ptr p1, Vertex_ptr p2) throw (SALOME::SALOME_Exception);
43 Quad_ptr addQuad(Edge_ptr e0, Edge_ptr e1, Edge_ptr e2, Edge_ptr e3) throw (SALOME::SALOME_Exception);
44 Quad_ptr addQuadVertices(Vertex_ptr v0, Vertex_ptr v1, Vertex_ptr v2, Vertex_ptr v3) throw (SALOME::SALOME_Exception);
45 ::CORBA::Long countQuad() throw (SALOME::SALOME_Exception);
46 Quad_ptr getQuad(::CORBA::Long i) throw (SALOME::SALOME_Exception);
47 Quad_ptr findQuad(Vertex_ptr v1, Vertex_ptr v2) throw (SALOME::SALOME_Exception);
48 Hexa_ptr addHexa(Quad_ptr q0, Quad_ptr q1, Quad_ptr q2, Quad_ptr q3, Quad_ptr q4, Quad_ptr q5) throw (SALOME::SALOME_Exception);
49 Hexa_ptr addHexaVertices(Vertex_ptr v0, Vertex_ptr v1, Vertex_ptr v2, Vertex_ptr v3, Vertex_ptr v4, Vertex_ptr v5, Vertex_ptr v6, Vertex_ptr v7) throw (SALOME::SALOME_Exception);
50 ::CORBA::Long countHexa() throw (SALOME::SALOME_Exception);
51 Hexa_ptr getHexa(::CORBA::Long i) throw (SALOME::SALOME_Exception);
52 Hexa_ptr findHexa(Vertex_ptr p1, Vertex_ptr p2) throw (SALOME::SALOME_Exception);
53 Vector_ptr addVector(::CORBA::Double dx, ::CORBA::Double dy, ::CORBA::Double dz) throw (SALOME::SALOME_Exception);
54 Vector_ptr addVectorVertices(Vertex_ptr v1, Vertex_ptr v2) throw (SALOME::SALOME_Exception);
55 // ::CORBA::Long countVector() throw (SALOME::SALOME_Exception);
56 // Vector_ptr getVector(::CORBA::Long i) throw (SALOME::SALOME_Exception);
57 Cylinder_ptr addCylinder(Vertex_ptr base, Vector_ptr direction, ::CORBA::Double radius, ::CORBA::Double height) throw (SALOME::SALOME_Exception);
58 // ::CORBA::Long countCylinder() throw (SALOME::SALOME_Exception);
59 // Cylinder_ptr getCylinder(::CORBA::Long i) throw (SALOME::SALOME_Exception);
60 Pipe_ptr addPipe(Vertex_ptr base, Vector_ptr direction, ::CORBA::Double int_radius, ::CORBA::Double ext_radius, ::CORBA::Double height) throw (SALOME::SALOME_Exception);
61 // ::CORBA::Long countPipe() throw (SALOME::SALOME_Exception);
62 // Pipe_ptr getPipe(::CORBA::Long i) throw (SALOME::SALOME_Exception);
63 ::CORBA::Boolean removeHexa(Hexa_ptr h) throw (SALOME::SALOME_Exception);
64 ::CORBA::Boolean removeConnectedHexa(Hexa_ptr h) throw (SALOME::SALOME_Exception);
65 Elements_ptr makeCartesian(Vertex_ptr pt, Vector_ptr vx, Vector_ptr vy, Vector_ptr vz, ::CORBA::Long nx, ::CORBA::Long ny, ::CORBA::Long nz) throw (SALOME::SALOME_Exception);
66 Elements_ptr makeCartesian1(Vertex_ptr v, Vector_ptr v1, ::CORBA::Long px, ::CORBA::Long py, ::CORBA::Long pz, ::CORBA::Long mx, ::CORBA::Long my, ::CORBA::Long mz) throw (SALOME::SALOME_Exception);
67 Elements_ptr makeCylindrical(Vertex_ptr pt, Vector_ptr vex, Vector_ptr vez, ::CORBA::Double dr, ::CORBA::Double da, ::CORBA::Double dl, ::CORBA::Long nr, ::CORBA::Long na, ::CORBA::Long nl, ::CORBA::Boolean fill) throw (SALOME::SALOME_Exception);
68 // Elements_ptr makeSpherical( Vertex_ptr pt, ::CORBA::Double dx, ::CORBA::Double dy, ::CORBA::Double dz, ::CORBA::Long n ) throw (SALOME::SALOME_Exception);
69 Elements_ptr makeSpherical( Vertex_ptr ptIn,
72 ::CORBA::Double k ) throw (SALOME::SALOME_Exception); //CS_TODO
73 // Elements_ptr makeCylinder(Cylinder_ptr cyl, ::CORBA::Long nr, ::CORBA::Long na, ::CORBA::Long nl) throw (SALOME::SALOME_Exception);
74 Elements_ptr makeCylinder(Cylinder_ptr cyl, Vector_ptr vr, ::CORBA::Long nr, ::CORBA::Long na, ::CORBA::Long nl) throw (SALOME::SALOME_Exception);
75 // Elements_ptr makePipe(Pipe_ptr p, ::CORBA::Long nr, ::CORBA::Long na, ::CORBA::Long nl) throw (SALOME::SALOME_Exception);
77 // Elements_ptr makeCylinders(Cylinder_ptr c1, Cylinder_ptr c2) throw (SALOME::SALOME_Exception);
78 CrossElements_ptr makeCylinders(Cylinder_ptr cyl1, Cylinder_ptr cyl2) throw (SALOME::SALOME_Exception);
80 // Elements_ptr makePipes(Pipe_ptr p1, ::CORBA::Long n1r, ::CORBA::Long n1a, ::CORBA::Long n1l, Pipe_ptr p2, ::CORBA::Long n2r, ::CORBA::Long n2a, ::CORBA::Long n2l) throw (SALOME::SALOME_Exception);
82 Elements_ptr prismQuad(Quad_ptr qd, Vector_ptr v, ::CORBA::Long nb) throw (SALOME::SALOME_Exception);
83 Elements_ptr prismQuads(const Quads& qds, Vector_ptr v, ::CORBA::Long nb) throw (SALOME::SALOME_Exception);
85 Elements_ptr joinQuad(Quad_ptr qa, Quad_ptr qb, Vertex_ptr va1, Vertex_ptr vb1, Vertex_ptr va2, Vertex_ptr vb2, ::CORBA::Long nb) throw (SALOME::SALOME_Exception);
86 Elements_ptr joinQuads(const Quads& qds, Quad_ptr qb, Vertex_ptr va1, Vertex_ptr vb1, Vertex_ptr va2, Vertex_ptr vb2, ::CORBA::Long nb) throw (SALOME::SALOME_Exception);
89 // Elements_ptr mergeQuads(Quad_ptr qa, Quad_ptr qb, Vertex_ptr va1, Vertex_ptr vb1, Vertex_ptr va2, Vertex_ptr vb2) throw (SALOME::SALOME_Exception);
90 // Elements_ptr mergeEdges(Edge_ptr e1, Edge_ptr e2, Vertex_ptr v1, Vertex_ptr v2) throw (SALOME::SALOME_Exception);
91 // Elements_ptr mergeVertices(Vertex_ptr v1, Vertex_ptr v2) throw (SALOME::SALOME_Exception);
94 ::CORBA::Long mergeQuads(Quad_ptr qa, Quad_ptr qb, Vertex_ptr va1, Vertex_ptr vb1, Vertex_ptr va2, Vertex_ptr vb2) throw (SALOME::SALOME_Exception);
95 ::CORBA::Long mergeEdges(Edge_ptr e1, Edge_ptr e2, Vertex_ptr v1, Vertex_ptr v2) throw (SALOME::SALOME_Exception);
96 ::CORBA::Long mergeVertices(Vertex_ptr v1, Vertex_ptr v2) throw (SALOME::SALOME_Exception);
98 Elements_ptr disconnectQuad(Hexa_ptr h, Quad_ptr q) throw (SALOME::SALOME_Exception);
99 // Elements_ptr disconnectEdge(Hexa_ptr h, Edge_ptr e) throw (SALOME::SALOME_Exception);
100 // Elements_ptr disconnectVertex(Hexa_ptr h, Vertex_ptr v) throw (SALOME::SALOME_Exception);
101 // ::CORBA::Long disconnectQuad(Hexa_ptr h, Quad_ptr q) throw (SALOME::SALOME_Exception);
102 // Quad_ptr disconnectQuad(Hexa_ptr h, Quad_ptr q) throw (SALOME::SALOME_Exception);
103 // ::CORBA::Long disconnectEdge(Hexa_ptr h, Edge_ptr e) throw (SALOME::SALOME_Exception);
104 // Edge_ptr disconnectEdge(Hexa_ptr h, Edge_ptr e) throw (SALOME::SALOME_Exception);
105 Elements_ptr disconnectEdge(Hexa_ptr h, Edge_ptr e) throw (SALOME::SALOME_Exception);
106 // ::CORBA::Long disconnectVertex(Hexa_ptr h, Vertex_ptr v) throw (SALOME::SALOME_Exception);
107 Elements_ptr disconnectVertex(Hexa_ptr h, Vertex_ptr v) throw (SALOME::SALOME_Exception);
108 // Vertex_ptr disconnectVertex(Hexa_ptr h, Vertex_ptr v) throw (SALOME::SALOME_Exception);
110 Elements_ptr cut(Edge_ptr e, ::CORBA::Long nb_of_cuts) throw (SALOME::SALOME_Exception);
111 // Elements_ptr makeTranslation(Element_ptr e, Vector_ptr vec) throw (SALOME::SALOME_Exception);//CS_Bruno
112 Elements_ptr makeTranslation(Elements_ptr e, Vector_ptr vec) throw (SALOME::SALOME_Exception);
113 // Elements_ptr makeScale(Vertex_ptr e, Vertex_ptr ver, ::CORBA::Double k) throw (SALOME::SALOME_Exception);
114 Elements_ptr makeRotation(Elements_ptr l, Vertex_ptr ver, Vector_ptr vec, ::CORBA::Double angle) throw (SALOME::SALOME_Exception);
115 // Elements_ptr makeSymmetryPoint(Element_ptr e, Vertex_ptr ver) throw (SALOME::SALOME_Exception);
116 // Elements_ptr makeSymmetryLine(Element_ptr e, Vertex_ptr ver, Vector_ptr vec) throw (SALOME::SALOME_Exception);
117 // Elements_ptr makeSymmetryPlane(Element_ptr e, Vertex_ptr ver, Vector_ptr vec) throw (SALOME::SALOME_Exception);
119 // void performTranslation(Element_ptr e, Vector_ptr vec) throw (SALOME::SALOME_Exception);
120 void performTranslation(Elements_ptr l, Vector_ptr vec) throw (SALOME::SALOME_Exception);
121 // void performScale(Element_ptr e, Vertex_ptr ver, ::CORBA::Double k) throw (SALOME::SALOME_Exception);
122 void performRotation(Elements_ptr l, Vertex_ptr ver, Vector_ptr vec, ::CORBA::Double angle) throw (SALOME::SALOME_Exception);
123 // void performSymmetryPoint(Element_ptr e, Vertex_ptr ver) throw (SALOME::SALOME_Exception);
124 // void performSymmetryLine(Element_ptr e, Vertex_ptr ver, Vector_ptr vec) throw (SALOME::SALOME_Exception);
125 // void performSymmetryPlane(Element_ptr e, Vertex_ptr ver, Vector_ptr vec) throw (SALOME::SALOME_Exception);
126 Group_ptr addHexaGroup(const char* name) throw (SALOME::SALOME_Exception);
127 Group_ptr addQuadGroup(const char* name) throw (SALOME::SALOME_Exception);
128 Group_ptr addEdgeGroup(const char* name) throw (SALOME::SALOME_Exception);
129 Group_ptr addHexaNodeGroup(const char* name) throw (SALOME::SALOME_Exception);
130 Group_ptr addQuadNodeGroup(const char* name) throw (SALOME::SALOME_Exception);
131 Group_ptr addEdgeNodeGroup(const char* name) throw (SALOME::SALOME_Exception);
132 Group_ptr addVertexNodeGroup(const char* name) throw (SALOME::SALOME_Exception);
133 ::CORBA::Long removeGroup(Group_ptr g) throw (SALOME::SALOME_Exception);
134 ::CORBA::Long countGroup() throw (SALOME::SALOME_Exception);
135 Group_ptr getGroup(::CORBA::Long i) throw (SALOME::SALOME_Exception);
136 Group_ptr findGroup(const char* name) throw (SALOME::SALOME_Exception);
138 Law_ptr addLaw(const char* name, ::CORBA::Long nb_nodes) throw (SALOME::SALOME_Exception);
139 ::CORBA::Long countLaw() throw (SALOME::SALOME_Exception);
140 Law_ptr getLaw(::CORBA::Long i) throw (SALOME::SALOME_Exception);
141 void removeLaw(Law_ptr l) throw (SALOME::SALOME_Exception);
142 Law_ptr findLaw(const char* name) throw (SALOME::SALOME_Exception);
143 ::CORBA::Long countPropagation() throw (SALOME::SALOME_Exception);
144 Propagation_ptr getPropagation(::CORBA::Long i) throw (SALOME::SALOME_Exception);
145 Propagation_ptr findPropagation(Edge_ptr e) throw (SALOME::SALOME_Exception);
148 HEXA_NS::Document *_document_cpp;