1 // Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License.
9 // This library is distributed in the hope that it will be useful
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // Lesser General Public License for more details.
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 // See http://www.salome-platform.org/
22 // Copyright : CEA/DEN/DMSS/LGLS
26 This file contains the main IDL definitions of the %MED component in %SALOME application.
33 \defgroup MED SALOME MED component
35 This component is dedicated to the mounting in memory of a .med file. some
36 services of that component store CORBA objects (MED, MESH, FIELD) in the
37 study and/or give a direct access to those objects.
40 #include "SALOME_GenericObj.idl"
41 #include "SALOME_Exception.idl"
42 #include "SALOME_Component.idl"
43 #include "SALOMEDS.idl"
44 #include "SALOME_Comm.idl"
50 typedef sequence<long> long_array;
54 typedef sequence<double> double_array;
58 typedef sequence<string> string_array;
62 typedef sequence<boolean> boolean_array;
65 This package contains a set of interfaces used for %SALOME %MED component.
76 This enumeration contains a set of elements defining the type of geometrical elements which constitue
79 typedef long medGeometryElement;
80 const medGeometryElement MED_NONE = 0;
81 const medGeometryElement MED_POINT1 = 1;
82 const medGeometryElement MED_SEG2 = 102;
83 const medGeometryElement MED_SEG3 = 103;
84 const medGeometryElement MED_TRIA3 = 203;
85 const medGeometryElement MED_QUAD4 = 204;
86 const medGeometryElement MED_TRIA6 = 206;
87 const medGeometryElement MED_QUAD8 = 208;
88 const medGeometryElement MED_TETRA4 = 304;
89 const medGeometryElement MED_PYRA5 = 305;
90 const medGeometryElement MED_PENTA6 = 306;
91 const medGeometryElement MED_HEXA8 = 308;
92 const medGeometryElement MED_TETRA10 = 310;
93 const medGeometryElement MED_PYRA13 = 313;
94 const medGeometryElement MED_PENTA15 = 315;
95 const medGeometryElement MED_HEXA20 = 320;
96 const medGeometryElement MED_POLYGON = 400;
97 const medGeometryElement MED_POLYHEDRA = 500;
98 const medGeometryElement MED_ALL_ELEMENTS = 999;
102 This enumeration contains a set of elements defining the structural elements (entities) which constitue
105 typedef long medEntityMesh;
106 const medEntityMesh MED_CELL = 0;
107 const medEntityMesh MED_FACE = 1;
108 const medEntityMesh MED_EDGE = 2;
109 const medEntityMesh MED_NODE = 3;
110 const medEntityMesh MED_ALL_ENTITIES = 4;
113 This enumeration contains a set of modes to store data in an array.
114 For example an array of coordinates in 3D; tow storage may be considered:
116 - X1,Y1,Z1,X2,Y2,Z2,...,Xn,Yn,Zn if MED_FULL_INTERLACE
117 - X1,X2,...,Xn,Y1,Y2,...,Yn,Z1,Z2,...,Zn if MED_NO_INTERLACE
119 typedef long medModeSwitch;
120 const medModeSwitch MED_FULL_INTERLACE = 0;
121 const medModeSwitch MED_NO_INTERLACE = 1;
124 This enumeration contains a set of elements defining the type of connectivity.
126 typedef long medConnectivity;
127 const medConnectivity MED_NODAL = 0;
128 const medConnectivity MED_DESCENDING = 1;
132 enumeration contains a set of elements defining the type of driver.
134 typedef long medDriverTypes;
135 /*!<This driver is used for reading into memory of the mesh from %MED file.*/
136 const medDriverTypes MED_DRIVER = 0;
137 const medDriverTypes VTK_DRIVER = 1;
138 const medDriverTypes NO_DRIVER = 2;
141 An array of %medGeometryElement
143 typedef sequence<medGeometryElement> medGeometryElement_array;
148 typedef sequence<FAMILY> Family_array;
153 typedef sequence<GROUP> Group_array;
155 // ----------------------
157 // ----------------------
159 interface MESH : SALOME::MultiCommClass, SALOME::GenericObj {
160 // Index range begins from 1
162 // General Informations
163 //---------------------
166 Returns the name of the mesh .
168 string getName() raises (SALOME::SALOME_Exception);
171 Returns space dimension.
173 long getSpaceDimension() raises (SALOME::SALOME_Exception);
176 Returns mesh dimension.
179 - we have only MED_TETRA4 in MED_CELL : MeshDimension = 3D
180 - we have only MED_QUAD4 in MED_CELL : MeshDimension = 2D
181 - we have both MED_SEG2 and MED_TRIA3 in MED_CELL : MeshDimension = 2D
183 long getMeshDimension() raises (SALOME::SALOME_Exception);
188 boolean getIsAGrid() raises (SALOME::SALOME_Exception);
193 boolean existConnectivity (in medConnectivity mode,
194 in medEntityMesh entity)
195 raises (SALOME::SALOME_Exception);
201 Returns coordinate system :
206 string getCoordinatesSystem() raises (SALOME::SALOME_Exception);
209 Returns the number of nodes defined in the mesh.
211 long getNumberOfNodes() raises (SALOME::SALOME_Exception);
214 Returns an array of coordinates stored in any type
216 SALOME_MED::double_array getCoordinates(in medModeSwitch typeSwitch)
217 raises (SALOME::SALOME_Exception);
220 Returns an array (Sender) of coordinates stored in any type.\n
221 It could be used in a Client code using the MED Client classes.
223 SALOME::SenderDouble getSenderForCoordinates(in medModeSwitch typeSwitch)
224 raises (SALOME::SALOME_Exception);
226 Returns coordinate n° Number on axis n° Axis
228 double getCoordinate(in long Number, in long Axis)
229 raises (SALOME::SALOME_Exception);
233 Returns an array containing the names of coordinates.
242 SALOME_MED::string_array getCoordinatesNames()
243 raises (SALOME::SALOME_Exception);
246 Returns an array containing the units of coordinates (cm, m, mm, ...)
248 It could be empty. By defult IS is used (meter).
250 SALOME_MED::string_array getCoordinatesUnits()
251 raises (SALOME::SALOME_Exception);
254 Returns the %SUPPORT containing the boundary elements
258 SUPPORT getBoundaryElements(in medEntityMesh Entity)
259 raises (SALOME::SALOME_Exception);
262 Returns the %SUPPORT containing the boundary elements
263 of the support mySupport3D.
265 SUPPORT getSkin(in SUPPORT mySupport3D ) raises (SALOME::SALOME_Exception);
267 SALOME_MED::long_array getGlobalNumberingIndex(in medEntityMesh entity) ;
269 struct coordinateInfos
272 SALOME_MED::string_array coordNames;
273 SALOME_MED::string_array coordUnits;
275 coordinateInfos getCoordGlobal() raises (SALOME::SALOME_Exception);
283 Returns the number of defferent %medGeometryElement types existing
284 in the specified entity.
287 Not implemented for MED_ALL_ENTITIES.
289 long getNumberOfTypes(in medEntityMesh entity)
290 raises (SALOME::SALOME_Exception);
293 Returns an array of all %medGeometryElement types existing
297 Not implemented for MED_ALL_ENTITIES.
299 medGeometryElement_array getTypes(in medEntityMesh entity)
300 raises (SALOME::SALOME_Exception);
303 Returns the number of elements of type %medGeometryElement.
306 - Implemented for MED_ALL_ELEMENTS
307 - Not implemented for MED_ALL_ENTITIES
309 long getNumberOfElements(in medEntityMesh entity,
310 in medGeometryElement geomElement)
311 raises (SALOME::SALOME_Exception);
314 Give, in full or no interlace mode (for nodal connectivity),
315 descending or nodal connectivity.
317 You must give a %medEntityMesh (ie:MED_EDGE) and a
318 %medGeometryElement (ie:MED_SEG3).
320 SALOME_MED::long_array getConnectivity(in medModeSwitch typeSwitch,
321 in medConnectivity mode,
322 in medEntityMesh entity,
323 in medGeometryElement geomElement)
324 raises (SALOME::SALOME_Exception);
327 Idem getConnectivity but return a Sender.\n
328 It could be used in a Client code using the MED Client classes.
330 SALOME::SenderInt getSenderForConnectivity(in medModeSwitch typeSwitch,
331 in medConnectivity mode,
332 in medEntityMesh entity,
333 in medGeometryElement geomElement)
334 raises (SALOME::SALOME_Exception);
337 Idem getConnectivity but return a Sender.\n
338 It could be used in a Client code using the MED Client classes.
340 SALOME::SenderInt getSenderForPolygonsConnectivity(in medConnectivity mode,
341 in medEntityMesh entity)
342 raises (SALOME::SALOME_Exception);
345 Idem getConnectivityIndex but return a Sender.\n
346 It could be used in a Client code using the MED Client classes.
348 SALOME::SenderInt getSenderForPolygonsConnectivityIndex(in medConnectivity mode,
349 in medEntityMesh entity)
350 raises (SALOME::SALOME_Exception);
353 Idem getConnectivity but return a Sender.\n
354 It could be used in a Client code using the MED Client classes.
356 SALOME::SenderInt getSenderForPolyhedronConnectivity(in medConnectivity mode)
357 raises (SALOME::SALOME_Exception);
360 Idem getConnectivityIndex but return a Sender.\n
361 It could be used in a Client code using the MED Client classes.
363 SALOME::SenderInt getSenderForPolyhedronIndex(in medConnectivity mode)
364 raises (SALOME::SALOME_Exception);
367 Idem getConnectivityIndex but return a Sender.\n
368 It could be used in a Client code using the MED Client classes.
370 SALOME::SenderInt getSenderForPolyhedronFacesIndex()
371 raises (SALOME::SALOME_Exception);
374 Give morse index array to use with
375 getConnectivity(MED_FULL_INTERLACE,mode,entity,MED_ALL_ELEMENTS).
377 Each value give start index for corresponding entity in
380 Example : i-th element, j-th node of it :
381 - In C mode : Connectivity[ConnectivityIndex[i]-1+j-1]
382 - In fortran mode : Connectivity[ConnectivityIndex[i]+j]
384 SALOME_MED::long_array getConnectivityIndex(in medConnectivity mode,
385 in medEntityMesh entity)
386 raises (SALOME::SALOME_Exception);
389 Gets a global number of the element which have the same connectivity as the
390 connectivity argument.
392 long getElementNumber(in medConnectivity mode,
393 in medEntityMesh entity,
394 in medGeometryElement type,
395 in SALOME_MED::long_array connectivity)
396 raises (SALOME::SALOME_Exception);
398 medGeometryElement getElementType (in medEntityMesh entity,
400 raises (SALOME::SALOME_Exception);
403 Returns a reverse connectivity to MED_CELL.
405 If mode=MED_NODAL, the array contains, for each node, all cells
408 If mode=MED_DESCENDING, the array contains, for each face (or edge),
409 the 2 cells of each side. First is cell which face normal is outgoing.
411 SALOME_MED::long_array getReverseConnectivity(in medConnectivity mode)
412 raises (SALOME::SALOME_Exception);
415 Give index array to use with getReverseConnectivity(MED_NODAL).
417 This method is not used with MED_DESCENDING mode,
418 because we have allways two cells.
420 See getConnectivityIndex for details.
422 SALOME_MED::long_array getReverseConnectivityIndex(in medConnectivity mode)
423 raises (SALOME::SALOME_Exception);
425 struct connectivityInfos
428 medGeometryElement_array meshTypes;
429 SALOME_MED::long_array numberOfElements;
430 long entityDimension;
432 connectivityInfos getConnectGlobal(in medEntityMesh entity)
433 raises (SALOME::SALOME_Exception);
435 // Families and Groups
436 // -------------------
439 Returns the number of all families.
441 long getNumberOfFamilies(in medEntityMesh entity)
442 raises (SALOME::SALOME_Exception);
445 Returns the number of all groups.
447 long getNumberOfGroups(in medEntityMesh entity)
448 raises (SALOME::SALOME_Exception);
451 Returns an array of all families.
453 Family_array getFamilies(in medEntityMesh entity)
454 raises (SALOME::SALOME_Exception);
457 Returns the reference to i-th family.
460 i is bounded by 1 and NumberOfFamilies.
462 FAMILY getFamily(in medEntityMesh entity,in long familyNumber)
463 raises (SALOME::SALOME_Exception);
466 Returns an array of all groups.
468 Group_array getGroups(in medEntityMesh entity)
469 raises (SALOME::SALOME_Exception);
472 Returns the reference to i-th group.
475 i is bounded by 1 and NumberOfGroups.
477 GROUP getGroup(in medEntityMesh entity,in long groupNumber)
478 raises (SALOME::SALOME_Exception);
484 Returns a field on mySupport containing volume.
487 mySupport must be on MED_CELL entity and MeshDimension must be 3D.
489 FIELD getVolume(in SUPPORT mySupport)
490 raises (SALOME::SALOME_Exception);
493 Returns a field on mySupport containing area.
496 mySupport must be on MED_FACE entity.
498 FIELD getArea(in SUPPORT mySupport)
499 raises (SALOME::SALOME_Exception);
502 Returns a field on mySupport containing length.
505 mySupport must be on MED_EDGE entity.
507 FIELD getLength(in SUPPORT mySupport)
508 raises (SALOME::SALOME_Exception);
511 Returns a field on mySupport containing normal.
514 mySupport must be on MED_FACE entity if MeshDimension and
515 SpaceDimension=3D and on MED_EDGE if MeshDimension and SpaceDimension=2D.
517 FIELD getNormal(in SUPPORT mySupport)
518 raises (SALOME::SALOME_Exception);
521 Returns a field on mySupport containing barycenter.
523 FIELD getBarycenter(in SUPPORT mySupport)
524 raises (SALOME::SALOME_Exception);
527 Returns a field on mySupport containing neighbourhood.
529 // FIELD getNeighbourhood(in SUPPORT mySupport)
530 // raises (SALOME::SALOME_Exception);
536 Adds the Mesh in the StudyManager.
538 void addInStudy(in SALOMEDS::Study myStudy, in MESH myIor )
539 raises (SALOME::SALOME_Exception, SALOMEDS::StudyBuilder::LockProtection);
541 // Add a MED/VTK/... driver
542 // Multiple drivers can be added whatever the type
543 long addDriver (in medDriverTypes driverType, in string fileName, in string meshName)
544 raises (SALOME::SALOME_Exception);
546 void rmDriver (in long i) raises (SALOME::SALOME_Exception);
549 void read (in long i) raises (SALOME::SALOME_Exception);
550 void write (in long i, in string driverMeshName)
551 raises (SALOME::SALOME_Exception);
554 Internal Corba method.
556 long getCorbaIndex() raises (SALOME::SALOME_Exception);
560 long spaceDimension ;
564 Family_array famNode;
565 Family_array famEdge;
566 Family_array famFace;
567 Family_array famCell;
568 Group_array groupNode;
569 Group_array groupEdge;
570 Group_array groupFace;
571 Group_array groupCell;
573 meshInfos getMeshGlobal() raises (SALOME::SALOME_Exception);
574 boolean areEquals(in MESH other);
578 // ----------------------
580 // ----------------------
582 interface SUPPORT : SALOME::MultiCommClass, SALOME::GenericObj {
585 Returns the name of the support.
587 string getName() raises (SALOME::SALOME_Exception);
590 Returns the description of the support.
592 string getDescription() raises (SALOME::SALOME_Exception);
595 Returns a reference to the mesh.
597 MESH getMesh() raises (SALOME::SALOME_Exception);
600 Returns the type of %medEntityMesh used by the support.
603 A support deals only with one entity's type
604 (for example : MED_FACE or MED_NODE)
606 medEntityMesh getEntity() raises (SALOME::SALOME_Exception);
609 Returns True if all elements of this entity are
610 engaged, False otherwise.
612 If True, you must use mesh reference (getMesh) to get more information.
614 boolean isOnAllElements() raises (SALOME::SALOME_Exception);
617 If the method %isOnAllElements() returns False, this method
618 returns the number of elements in the support.
620 Example : number of MED_TRIA3 or MED_ALL_ELEMETNS elements
621 in entity of support.
624 If %SUPPORT is defined on MED_NODE, use MED_NONE %medGeometryElement
627 long getNumberOfElements(in medGeometryElement geomElement)
628 raises (SALOME::SALOME_Exception);
630 long getNumberOfTypes() raises (SALOME::SALOME_Exception);
632 If isOnAllElements is False, returns an array of %medGeometryElement
633 types used by the support.
635 %medEntityMesh is given by getEntity.
637 medGeometryElement_array getTypes() raises (SALOME::SALOME_Exception);
641 If the method %isOnAllElements() returns False, this method returns an array which
642 contains all numbers of given %medGeometryElement.
644 Numbering is global, ie numbers are bounded by 1 and
645 MESH::getNumberOfElement(entity,MED_ALL_ELEMENTS) and not by 1 and
646 MESH::getNumberOfElement(entity,geomElement).
649 If %SUPPORT is defined on MED_NODE, use MED_NONE %medGeometryElement type.
651 SALOME_MED::long_array getNumber(in medGeometryElement geomElement)
652 raises (SALOME::SALOME_Exception);
655 Idem SALOME::Sender getNumber(in medGeometryElement geomElement) but returning Sender.\n
656 It could be used in a Client code using the MED Client classes.
659 SALOME::SenderInt getSenderForNumber(in medGeometryElement geomElement)
660 raises (SALOME::SALOME_Exception);
663 If the method %isOnAllElements() returns False, this method returns the index
666 Use it with getNumber(MED_ALL_ELEMENTS).
669 See the method %getConnectivityIndex for more details.
671 SALOME_MED::long_array getNumberIndex()
672 raises (SALOME::SALOME_Exception);
675 Idem SALOME_MED::long_array getNumberIndex() but return a Sender.\n
676 It could be used in a Client code using the MED Client classes.
678 SALOME::SenderInt getSenderForNumberIndex()
679 raises (SALOME::SALOME_Exception);
681 void getBoundaryElements()
682 raises (SALOME::SALOME_Exception);
684 Internal Corba method.
686 long getCorbaIndex() raises (SALOME::SALOME_Exception);
691 boolean isOnAllElements;
692 medEntityMesh entity;
693 long numberOfGeometricType;
694 medGeometryElement_array types;
695 SALOME_MED::long_array nbEltTypes;
697 supportInfos getSupportGlobal() raises (SALOME::SALOME_Exception);
706 interface FAMILY : SUPPORT
710 Returns Family identifier (Identifier
711 of the family in the mesh).
714 There is precisely only one indentifier for each family.
716 long getIdentifier() raises (SALOME::SALOME_Exception);
719 Returns number of attributes.
721 long getNumberOfAttributes() raises (SALOME::SALOME_Exception);
724 Returns an array of all attributes' identifiers.
725 There is one for each attribute.
727 SALOME_MED::long_array getAttributesIdentifiers()
728 raises (SALOME::SALOME_Exception);
731 Returns identifier of i-th attribute.
734 i is bounded by 1 and NumberOfAttributes.
736 long getAttributeIdentifier(in long i) raises (SALOME::SALOME_Exception);
739 Returns an array of all values of the attributes .
740 There is one value for each attribute.
742 SALOME_MED::long_array getAttributesValues()
743 raises (SALOME::SALOME_Exception);
746 Returns the value of i-th attribute.
749 i is bounded by 1 and NumberOfAttributes.
751 long getAttributeValue(in long i) raises (SALOME::SALOME_Exception);
754 Returns an array of all descriptions of the attributes .
755 There is one description for each attribute.
757 SALOME_MED::string_array getAttributesDescriptions()
758 raises (SALOME::SALOME_Exception);
761 Returns the description of i-th attribute.
764 i is bounded by 1 and NumberOfAttributes.
766 string getAttributeDescription(in long i)
767 raises (SALOME::SALOME_Exception);
770 Returns the number of groups the family belongs to.
772 long getNumberOfGroups()
773 raises (SALOME::SALOME_Exception);
776 Returns an array of names of groups the family belongs to .
777 There is one name for each group.
779 SALOME_MED::string_array getGroupsNames()
780 raises (SALOME::SALOME_Exception);
783 Returns the name of i-th group.
786 i is bounded by 1 and NumberOfAttributes.
788 string getGroupName(in long i)
789 raises (SALOME::SALOME_Exception);
798 interface GROUP : SUPPORT
802 Returns the number of families in this group.
804 long getNumberOfFamilies() raises (SALOME::SALOME_Exception);
807 Returns an array of all families.
809 Family_array getFamilies() raises (SALOME::SALOME_Exception);
812 Returns a reference to the i-th family.
815 i is bounded by 1 and NumberOfFamilies.
817 FAMILY getFamily(in long i) raises (SALOME::SALOME_Exception);
826 interface FIELD : SALOME::GenericObj
830 Returns the field name.
832 string getName() raises (SALOME::SALOME_Exception);
835 Returns the field description.
837 string getDescription() raises (SALOME::SALOME_Exception);
840 Returns a reference to the support
841 on which the field is defined.
843 SUPPORT getSupport() raises (SALOME::SALOME_Exception);
846 Returns the number of field's components.
848 long getNumberOfComponents() raises (SALOME::SALOME_Exception);
851 Returns an array containing components names.
853 SALOME_MED::string_array getComponentsNames()
854 raises (SALOME::SALOME_Exception);
857 Returns the name of i-th component.
860 - i is bounded by 1 and NumberOfComponents.
861 - Name is mandatory for each field's component.
863 string getComponentName(in long i) raises (SALOME::SALOME_Exception);
866 Returns an array containing components units.
868 SALOME_MED::string_array getComponentsUnits()
869 raises (SALOME::SALOME_Exception);
872 Returns the unit of i-th component.
875 i is bounded by 1 and NumberOfComponents.
877 string getComponentUnit(in long i) raises (SALOME::SALOME_Exception);
880 Returns an array containing components descriptions.
882 SALOME_MED::string_array getComponentsDescriptions()
883 raises (SALOME::SALOME_Exception);
886 Returns the description of i-th component.
889 - i is bounded by 1 and NumberOfComponents.
890 - Name is mandatory for each field's component.
892 string getComponentDescription(in long i) raises (SALOME::SALOME_Exception);
895 Returns the iteration number.
897 long getIterationNumber() raises (SALOME::SALOME_Exception);
900 Returns time for this iteration.
902 double getTime() raises (SALOME::SALOME_Exception);
905 Returns order number use for
906 internal step in this iteration.
908 long getOrderNumber() raises (SALOME::SALOME_Exception);
911 Returns if gauss points are present.
913 boolean getGaussPresence();
918 long addDriver (in medDriverTypes driverType, in string fileName, in string fieldName)
919 raises (SALOME::SALOME_Exception);
924 void rmDriver (in long i)
925 raises (SALOME::SALOME_Exception);
928 void read (in long i)
929 raises (SALOME::SALOME_Exception);
934 void write (in long i, in string driverFieldName)
935 raises (SALOME::SALOME_Exception);
938 Adds the Field in the StudyManager.
940 void addInStudy(in SALOMEDS::Study myStudy, in FIELD myIor )
941 raises (SALOME::SALOME_Exception, SALOMEDS::StudyBuilder::LockProtection);
944 Internal Corba method.
947 raises (SALOME::SALOME_Exception);
952 interface FIELDDOUBLE : FIELD , SALOME::MultiCommClass {
955 Returns an array of values of the field
957 SALOME_MED::double_array getValue(in medModeSwitch mode)
958 raises (SALOME::SALOME_Exception);
961 Idem as getValue but it could be used in a Client code using the
964 SALOME::SenderDouble getSenderForValue(in medModeSwitch mode)
965 raises (SALOME::SALOME_Exception);
968 interface FIELDDOUBLENO : FIELDDOUBLE {
971 interface FIELDDOUBLEFULL : FIELDDOUBLE {
974 interface FIELDINT : FIELD , SALOME::MultiCommClass {
977 Returns an array of values of the field
979 SALOME_MED::long_array getValue(in medModeSwitch mode)
980 raises (SALOME::SALOME_Exception);
983 Idem as getValue but it could be used in a Client code using the
986 SALOME::SenderInt getSenderForValue(in medModeSwitch mode)
987 raises (SALOME::SALOME_Exception);
990 interface FIELDINTNO : FIELDINT {
993 interface FIELDINTFULL : FIELDINT {
998 interface MED : SALOME::GenericObj {
1000 returns the number of meshes in the %MED object.
1002 long getNumberOfMeshes () raises (SALOME::SALOME_Exception);
1004 returns the number of fields in the %MED object.
1006 long getNumberOfFields () raises (SALOME::SALOME_Exception);
1008 returns an array which contains the name of each meshes in the %MED object.
1010 SALOME_MED::string_array getMeshNames () raises (SALOME::SALOME_Exception);
1012 returns an array which contains the name of each fields in the %MED object.
1014 SALOME_MED::string_array getFieldNames () raises (SALOME::SALOME_Exception);
1016 giving a mesh name, it returns the corresponding %MESH pointer.
1018 MESH getMeshByName ( in string meshName) raises (SALOME::SALOME_Exception);
1020 giving a %FIELD pointer, it returns the corresponding %MESH pointer of the mesh
1021 on which the field lies.
1023 MESH getMesh ( in FIELD fieldPtr) raises (SALOME::SALOME_Exception);
1025 giving a field name, it returns the number of iteration in the corresponding %FIELD object.
1027 long getFieldNumberOfIteration(in string fieldName) raises (SALOME::SALOME_Exception);
1029 giving a field name and an integer %i, it returns a couple of integers: the time iteration and
1030 the order number of the %i^th iteration of the corresponding %FIELD object.
1032 SALOME_MED::long_array getFieldIteration(in string fieldName, in long i) raises (SALOME::SALOME_Exception);
1034 giving a field name, it returns an array of integers: the list of the time iteration and
1035 the order number couple of all iterations of the corresponding %FIELD object.
1037 (DT1, IT1, DT2, IT2, ... , DTn, ITn) when n is the number of the %FIELD iterations.
1039 SALOME_MED::long_array getFieldIterations(in string fieldName) raises (SALOME::SALOME_Exception);
1041 giving a field name, a time iteration and an order number, it returns the corresponding %FIELD oject.
1043 FIELD getField ( in string fieldName,
1045 in long numOrdre ) raises (SALOME::SALOME_Exception);
1048 // Add a MED/VTK/... driver to a MED'GEN' object to
1049 // be able to read/write files preserving meshes<-->fields association
1050 // Multiple drivers can be added whatever the type.
1051 // The access point in the <long> returned
1052 long addDriver (in medDriverTypes driverType, in string fileName)
1053 raises (SALOME::SALOME_Exception);
1057 void rmDriver (in long i) raises (SALOME::SALOME_Exception);
1059 Reads the structure of the %MED file
1061 void readFileStruct(in long i) raises (SALOME::SALOME_Exception);
1062 void writeFrom (in long i) raises (SALOME::SALOME_Exception);
1063 void write (in long i) raises (SALOME::SALOME_Exception);
1065 void addMesh (in MESH ptrMesh ) raises (SALOME::SALOME_Exception);
1066 void addField (in FIELD ptrField ) raises (SALOME::SALOME_Exception);
1068 void addInStudy (in SALOMEDS::Study myStudy, in MED medPtr) raises (SALOME::SALOME_Exception, SALOMEDS::StudyBuilder::LockProtection);
1072 #endif /* MED_IDL */