1 // Copyright (C) 2009-2012 CEA/DEN, EDF R&D
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License.
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 #ifndef __Document_idl__
20 #define __Document_idl__
22 \defgroup EXAMPLES SALOME EXAMPLES components
24 #include "SALOME_Exception.idl"
25 #include "SALOME_GenericObj.idl"
27 #include "GEOM_Gen.idl"
34 This package contains the interface HEXABLOCK_ORB used
35 for %HEXABLOCK component as an example in %SALOME application.
49 interface CrossElements;
52 interface Propagation;
54 typedef sequence<Quad> Quads;
55 typedef sequence<double> RealVector;
56 typedef GEOM::GEOM_Object Shape;
57 typedef sequence<GEOM::GEOM_Object> Shapes;
59 interface Document : SALOME::GenericObj
62 raises (SALOME::SALOME_Exception);
65 raises (SALOME::SALOME_Exception);
69 raises (SALOME::SALOME_Exception);
71 long setName (in string name )
72 raises (SALOME::SALOME_Exception);
74 long save( in string fileName )
75 raises (SALOME::SALOME_Exception);
77 long saveVtk( in string fname );
79 void setLevel (in long debug_level )
80 raises (SALOME::SALOME_Exception);
85 void setTolerance( in double tol ) raises (SALOME::SALOME_Exception);
86 double getTolerance() raises (SALOME::SALOME_Exception);
91 Vertex addVertex( in double x, in double y, in double z )
92 raises (SALOME::SALOME_Exception);
95 raises (SALOME::SALOME_Exception);
97 Vertex getVertex( in long i )
98 raises (SALOME::SALOME_Exception);
100 Vertex findVertex( in double x, in double y, in double z )
101 raises (SALOME::SALOME_Exception);
107 Edge addEdge( in Vertex v0, in Vertex v1 )
108 raises (SALOME::SALOME_Exception);
111 raises (SALOME::SALOME_Exception);
113 Edge getEdge( in long i )
114 raises (SALOME::SALOME_Exception);
116 Edge findEdge( in Vertex p1, in Vertex p2 )
117 raises (SALOME::SALOME_Exception);
123 Quad addQuad( in Edge e0, in Edge e1, in Edge e2, in Edge e3 )
124 raises (SALOME::SALOME_Exception);
126 Quad addQuadVertices( in Vertex v0, in Vertex v1, in Vertex v2, in Vertex v3 )
127 raises (SALOME::SALOME_Exception);
130 raises (SALOME::SALOME_Exception);
132 Quad getQuad( in long i )
133 raises (SALOME::SALOME_Exception);
135 Quad findQuad( in Vertex v1, in Vertex v2 )
136 raises (SALOME::SALOME_Exception);
143 Hexa addHexa( in Quad q0, in Quad q1, in Quad q2, in Quad q3, in Quad q4, in Quad q5 )
144 raises (SALOME::SALOME_Exception);
146 Hexa addHexaVertices( in Vertex v1, in Vertex v2, in Vertex v3, in Vertex v4,
147 in Vertex v5, in Vertex v6, in Vertex v7, in Vertex v8 )
148 raises (SALOME::SALOME_Exception);
151 raises (SALOME::SALOME_Exception);
153 Hexa getHexa( in long i )
154 raises (SALOME::SALOME_Exception);
156 Hexa findHexa( in Vertex p1, in Vertex p2 )
157 raises (SALOME::SALOME_Exception);
164 Vector addVector( in double dx, in double dy, in double dz )
165 raises (SALOME::SALOME_Exception);
167 Vector addVectorVertices( in Vertex v1, in Vertex v2 )
168 raises (SALOME::SALOME_Exception);
170 // long countVector()
171 // raises (SALOME::SALOME_Exception);
173 // Vector getVector( in long i )
174 // raises (SALOME::SALOME_Exception);
180 Cylinder addCylinder( in Vertex base, in Vector direction, in double radius, in double height )
181 raises (SALOME::SALOME_Exception);
183 // long countCylinder()
184 // raises (SALOME::SALOME_Exception);
186 // Cylinder getCylinder( in long i )
187 // raises (SALOME::SALOME_Exception);
193 Pipe addPipe( in Vertex base, in Vector direction,
194 in double int_radius, in double ext_radius,
196 raises (SALOME::SALOME_Exception);
199 // raises (SALOME::SALOME_Exception);
201 // Pipe getPipe( in long i )
202 // raises (SALOME::SALOME_Exception);
208 boolean removeHexa( in Hexa h )
209 raises (SALOME::SALOME_Exception);
211 boolean removeConnectedHexa( in Hexa h )
212 raises (SALOME::SALOME_Exception);
217 Elements makeCartesian( in Vertex pt,
218 in Vector vx, in Vector vy, in Vector vz,
219 in long nx, in long ny, in long nz)
220 raises (SALOME::SALOME_Exception);
222 Elements makeCartesian1( in Vertex v,
224 in long px, in long py, in long pz,
225 in long mx, in long my, in long mz )
226 raises (SALOME::SALOME_Exception);
231 Elements makeCylindrical( in Vertex pt,
232 in Vector vex, in Vector vez,
233 in double dr, in double da, in double dl,
234 in long nr, in long na, in long nl,
236 raises (SALOME::SALOME_Exception);
239 Grille cylindrique (variante)
241 Elements makeCylindricals( in Vertex pt,
242 in Vector vex, in Vector vez,
243 in RealVector tdr, in RealVector tda, in RealVector tdl,
245 raises (SALOME::SALOME_Exception);
251 Elements makeSpherical( in Vertex pt,
255 raises (SALOME::SALOME_Exception); //CS_TO_DEL
259 Cylindre découpé en blocs
261 // Elements makeCylinder( in Cylinder cyl, in long nr, in long na, in long nl )
262 // raises (SALOME::SALOME_Exception);//CS_TODO
263 Elements makeCylinder( in Cylinder cyl, in Vector vr, in long nr, in long na, in long nl )
264 raises (SALOME::SALOME_Exception);//CS_NEW CS_NOT_SPEC
268 Tuyau decoupe en blocs
270 Elements makePipe( in Pipe p, in Vector v, in long nr, in long na, in long nl )
271 raises (SALOME::SALOME_Exception);
274 2 Cylindres en T decoupes en blocs
276 CrossElements makeCylinders( in Cylinder c1, in Cylinder c2 )
277 raises (SALOME::SALOME_Exception);//CS_NEW CS_NOT_SPEC
280 2 Tuyau decoupe en intersection decoupees en blocs
282 Elements makePipes( in Pipe p1, in Pipe p2 )
283 raises (SALOME::SALOME_Exception);
286 Prismer des quadrangles
288 Elements prismQuad( in Quad qd, in Vector v, in long nb )
289 raises (SALOME::SALOME_Exception);
291 Elements prismQuads( in Quads qds, in Vector v, in long nb )
292 raises (SALOME::SALOME_Exception);
294 Elements prismQuadsVec (in Quads qds, in Vector v, in RealVector thaut,
296 raises (SALOME::SALOME_Exception);
298 Elements joinQuad( in Quad qa, in Quad qb,
299 in Vertex va1, in Vertex vb1,
300 in Vertex va2, in Vertex vb2,
302 raises (SALOME::SALOME_Exception);
304 Elements joinQuads( in Quads qds,
306 in Vertex va1, in Vertex vb1,
307 in Vertex va2, in Vertex vb2,
309 raises (SALOME::SALOME_Exception);
312 Elements revolutionQuads( in Quads qds, in Vertex ori, in Vector dir,
313 in RealVector angles)
314 raises (SALOME::SALOME_Exception);
316 Elements replace( in Quads qds, in Vertex p1, in Vertex c1,
317 in Vertex p2, in Vertex c2, in Vertex p3, in Vertex c3)
318 raises (SALOME::SALOME_Exception);
320 Elements makeSphere (in Vertex center, in Vector vx, in Vector vz,
321 in double radius, in double radhole,
323 in long nrad, in long nang, in long nhaut)
324 raises (SALOME::SALOME_Exception);
326 Elements makePartSphere (in Vertex center, in Vector vx, in Vector vz,
327 in double radius, in double radhole,
328 in Vertex plorig, in double angle,
329 in long nrad, in long nang, in long nhaut)
330 raises (SALOME::SALOME_Exception);
332 Elements makeRind (in Vertex center, in Vector vx, in Vector vz,
333 in double radext, in double radint, in double radhole,
335 in long nrad, in long nang, in long nhaut)
336 raises (SALOME::SALOME_Exception);
338 Elements makePartRind (in Vertex center, in Vector vx, in Vector vz,
339 in double radext, in double radint, in double radhole,
340 in Vertex plorig, in double angle,
341 in long nrad, in long nang, in long nhaut)
342 raises (SALOME::SALOME_Exception);
346 // Fusionner 2 éléments de même nature //CS_NOT_SPEC
349 // Elements mergeQuads( in Quad qa, in Quad qb,
350 // in Vertex va1, in Vertex vb1,
351 // in Vertex va2, in Vertex vb2 )
352 // raises (SALOME::SALOME_Exception);
354 long mergeQuads( in Quad qa, in Quad qb,
355 in Vertex va1, in Vertex vb1,
356 in Vertex va2, in Vertex vb2 )
357 raises (SALOME::SALOME_Exception);//CS_NOT_SPEC //CS_NEW
360 // Elements mergeEdges( in Edge e1, in Edge e2,
361 // in Vertex v1, in Vertex v2 )
362 // raises (SALOME::SALOME_Exception);
364 long mergeEdges( in Edge e1, in Edge e2,
365 in Vertex v1, in Vertex v2 )
366 raises (SALOME::SALOME_Exception);//CS_NOT_SPEC //CS_NEW
368 // Elements mergeVertices( in Vertex v1, in Vertex v2 )
369 // raises (SALOME::SALOME_Exception);
370 long mergeVertices( in Vertex v1, in Vertex v2 )
371 raises (SALOME::SALOME_Exception);//CS_NOT_SPEC //CS_NEW
375 Deconnecter des elements du modele
377 Elements disconnectQuad( in Hexa h, in Quad q )
378 raises (SALOME::SALOME_Exception);
380 Elements disconnectEdge( in Hexa h, in Edge e )
381 raises (SALOME::SALOME_Exception);
383 Elements disconnectVertex( in Hexa h, in Vertex v )
384 raises (SALOME::SALOME_Exception);
386 Elements disconnectEdges( in Hexas th, in Edges te )
387 raises (SALOME::SALOME_Exception);
390 Couper des hexaèdres du modèle
392 Elements cut( in Edge e, in long nb_of_cuts )
393 raises (SALOME::SALOME_Exception);
396 Make elements by transforming elements
398 // Elements makeTranslation( in Elements e, in Vector vec )
399 // raises (SALOME::SALOME_Exception);
400 Elements makeTranslation( in Elements l, in Vector vec )
401 raises (SALOME::SALOME_Exception);
404 Elements makeRotation (in Elements l, in Vertex ver, in Vector vec, in double angle)
405 raises (SALOME::SALOME_Exception);
406 Elements makeScale (in Elements e, in Vertex ver, in double k )
407 raises (SALOME::SALOME_Exception);
409 Elements makeSymmetryPoint (in Elements e, in Vertex ver)
410 raises (SALOME::SALOME_Exception);
412 Elements makeSymmetryLine (in Elements e, in Vertex ver, in Vector vec)
413 raises (SALOME::SALOME_Exception);
415 Elements makeSymmetryPlane (in Elements e, in Vertex ver, in Vector vec)
416 raises (SALOME::SALOME_Exception);
419 Modify elements by transforming elements
421 // void performTranslation(in Elements e, in Vector vec)
422 // raises (SALOME::SALOME_Exception);
424 void performTranslation(in Elements l, in Vector vec)
425 raises (SALOME::SALOME_Exception);
427 void performRotation(in Elements l, in Vertex ver, in Vector vec, in double angle)
428 raises (SALOME::SALOME_Exception);
430 void performScale(in Elements e, in Vertex ver, in double k)
431 raises (SALOME::SALOME_Exception);
433 void performSymmetryPoint(in Elements e, in Vertex ver)
434 raises (SALOME::SALOME_Exception);
436 void performSymmetryLine(in Elements e, in Vertex ver, in Vector vec)
437 raises (SALOME::SALOME_Exception);
439 void performSymmetryPlane(in Elements e, in Vertex ver, in Vector vec)
440 raises (SALOME::SALOME_Exception);
449 // Créer, éditer et supprimer un groupe
451 // HexaGroup addHexaGroup( in string name )
452 Group addHexaGroup( in string name )
453 raises (SALOME::SALOME_Exception);
455 // QuadGroup addQuadGroup( in string name )
456 Group addQuadGroup( in string name )
457 raises (SALOME::SALOME_Exception);
459 // EdgeGroup addEdgeGroup( in string name )
460 Group addEdgeGroup( in string name )
461 raises (SALOME::SALOME_Exception);
463 // HexaNodeGroup addHexaNodeGroup( in string name )
464 Group addHexaNodeGroup( in string name )
465 raises (SALOME::SALOME_Exception);
467 // QuadNodeGroup addQuadNodeGroup( in string name )
468 Group addQuadNodeGroup( in string name )
469 raises (SALOME::SALOME_Exception);
471 // EdgeNodeGroup addEdgeNodeGroup( in string name )
472 Group addEdgeNodeGroup( in string name )
473 raises (SALOME::SALOME_Exception);
475 // VertexNodeGroup addVertexNodeGroup( in string name )
476 Group addVertexNodeGroup( in string name )
477 raises (SALOME::SALOME_Exception);
479 long removeGroup( in Group g)
480 raises (SALOME::SALOME_Exception);
483 raises (SALOME::SALOME_Exception);
485 Group getGroup( in long i )
486 raises (SALOME::SALOME_Exception);
488 Group findGroup( in string name )
489 raises (SALOME::SALOME_Exception);
494 Définir une loi de discrétisation
496 Law addLaw( in string name, in long nb_nodes )
497 raises (SALOME::SALOME_Exception);
500 raises (SALOME::SALOME_Exception);
502 Law getLaw( in long i )
503 raises (SALOME::SALOME_Exception);
505 void removeLaw( in Law l )
506 raises (SALOME::SALOME_Exception);
508 Law findLaw( in string name )
509 raises (SALOME::SALOME_Exception);
513 Discretization defined on the model of blocks
515 long countPropagation()
516 raises (SALOME::SALOME_Exception);
518 Propagation getPropagation( in long i )
519 raises (SALOME::SALOME_Exception);
521 Propagation findPropagation( in Edge e )
522 raises (SALOME::SALOME_Exception);
527 long associateOpenedLine (in Edge mstart, in Edges mline, in Shape gstart,
528 in double pstart, in Shapes gline, in double pend)
529 raises (SALOME::SALOME_Exception);
531 long associateClosedLine (in Vertex mfirst, in Edge mstart, in Edges mline,
532 in Shape gstart, in double pstart, in boolean inv,
534 raises (SALOME::SALOME_Exception);
536 void setShape (in GEOM::GEOM_Object geom_object_vertex )
537 raises (SALOME::SALOME_Exception);
539 GEOM::GEOM_Object getShape ()
540 raises (SALOME::SALOME_Exception);
542 raises (SALOME::SALOME_Exception);
544 // Ajouts 05/09/20011
546 long countUsedVertex()
547 raises (SALOME::SALOME_Exception);
549 raises (SALOME::SALOME_Exception);
551 raises (SALOME::SALOME_Exception);
553 raises (SALOME::SALOME_Exception);
555 Vertex getUsedVertex( in long i )
556 raises (SALOME::SALOME_Exception);
557 Edge getUsedEdge( in long i )
558 raises (SALOME::SALOME_Exception);
559 Quad getUsedQuad( in long i )
560 raises (SALOME::SALOME_Exception);
561 Hexa getUsedHexa( in long i )
562 raises (SALOME::SALOME_Exception);
564 Hexa addHexa5Quads (in Quad q1, in Quad q2, in Quad q3, in Quad q4,
565 in Quad q5) raises (SALOME::SALOME_Exception);
566 Hexa addHexa4Quads ( in Quad q1, in Quad q2, in Quad q3, in Quad q4)
567 raises (SALOME::SALOME_Exception);
568 Hexa addHexa3Quads ( in Quad q1, in Quad q2, in Quad q3)
569 raises (SALOME::SALOME_Exception);
570 Hexa addHexa2Quads ( in Quad q1, in Quad q2)
571 raises (SALOME::SALOME_Exception);
573 boolean removeQuad( in Quad q )
574 raises (SALOME::SALOME_Exception);
575 boolean removeElements( in Elements b )
576 raises (SALOME::SALOME_Exception);
578 void clearAssociation ()
579 raises (SALOME::SALOME_Exception);