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/ or email : webmaster.salome@opencascade.com
25 This file contains the main IDL definitions of the %MED component in %SALOME application.
32 \defgroup MED SALOME MED component
34 This component is dedicated to the mounting in memory of a .med file. some
35 services of that component store CORBA objects (MED, MESH, FIELD) in the
36 study and/or give a direct access to those objects.
39 #include "SALOME_GenericObj.idl"
40 #include "SALOME_Exception.idl"
41 #include "SALOME_Component.idl"
42 #include "SALOMEDS.idl"
43 #include "SALOME_Comm.idl"
49 typedef sequence<long> long_array;
53 typedef sequence<double> double_array;
57 typedef sequence<string> string_array;
61 typedef sequence<boolean> boolean_array;
64 This package contains a set of interfaces used for %SALOME %MED component.
75 This enumeration contains a set of elements defining the type of geometrical elements which constitue
78 typedef long medGeometryElement;
79 const medGeometryElement MED_NONE = 0;
80 const medGeometryElement MED_POINT1 = 1;
81 const medGeometryElement MED_SEG2 = 102;
82 const medGeometryElement MED_SEG3 = 103;
83 const medGeometryElement MED_TRIA3 = 203;
84 const medGeometryElement MED_QUAD4 = 204;
85 const medGeometryElement MED_TRIA6 = 206;
86 const medGeometryElement MED_QUAD8 = 208;
87 const medGeometryElement MED_TETRA4 = 304;
88 const medGeometryElement MED_PYRA5 = 305;
89 const medGeometryElement MED_PENTA6 = 306;
90 const medGeometryElement MED_HEXA8 = 308;
91 const medGeometryElement MED_TETRA10 = 310;
92 const medGeometryElement MED_PYRA13 = 313;
93 const medGeometryElement MED_PENTA15 = 315;
94 const medGeometryElement MED_HEXA20 = 320;
95 const medGeometryElement MED_POLYGON = 400;
96 const medGeometryElement MED_POLYHEDRA = 500;
97 const medGeometryElement MED_ALL_ELEMENTS = 999;
101 This enumeration contains a set of elements defining the structural elements (entities) which constitue
104 typedef long medEntityMesh;
105 const medEntityMesh MED_CELL = 0;
106 const medEntityMesh MED_FACE = 1;
107 const medEntityMesh MED_EDGE = 2;
108 const medEntityMesh MED_NODE = 3;
109 const medEntityMesh MED_ALL_ENTITIES = 4;
112 This enumeration contains a set of modes to store data in an array.
113 For example an array of coordinates in 3D; tow storage may be considered:
115 - X1,Y1,Z1,X2,Y2,Z2,...,Xn,Yn,Zn if MED_FULL_INTERLACE
116 - X1,X2,...,Xn,Y1,Y2,...,Yn,Z1,Z2,...,Zn if MED_NO_INTERLACE
118 typedef long medModeSwitch;
119 const medModeSwitch MED_FULL_INTERLACE = 0;
120 const medModeSwitch MED_NO_INTERLACE = 1;
123 This enumeration contains a set of elements defining the type of connectivity.
125 typedef long medConnectivity;
126 const medConnectivity MED_NODAL = 0;
127 const medConnectivity MED_DESCENDING = 1;
131 enumeration contains a set of elements defining the type of driver.
133 typedef long medDriverTypes;
134 /*!<This driver is used for reading into memory of the mesh from %MED file.*/
135 const medDriverTypes MED_DRIVER = 0;
136 const medDriverTypes VTK_DRIVER = 1;
137 const medDriverTypes NO_DRIVER = 2;
140 An array of %medGeometryElement
142 typedef sequence<medGeometryElement> medGeometryElement_array;
147 typedef sequence<FAMILY> Family_array;
152 typedef sequence<GROUP> Group_array;
154 // ----------------------
156 // ----------------------
158 interface MESH : SALOME::MultiCommClass, SALOME::GenericObj {
159 // Index range begins from 1
161 // General Informations
162 //---------------------
165 Returns the name of the mesh .
167 string getName() raises (SALOME::SALOME_Exception);
170 Returns space dimension.
172 long getSpaceDimension() raises (SALOME::SALOME_Exception);
175 Returns mesh dimension.
178 - we have only MED_TETRA4 in MED_CELL : MeshDimension = 3D
179 - we have only MED_QUAD4 in MED_CELL : MeshDimension = 2D
180 - we have both MED_SEG2 and MED_TRIA3 in MED_CELL : MeshDimension = 2D
182 long getMeshDimension() raises (SALOME::SALOME_Exception);
187 boolean getIsAGrid() raises (SALOME::SALOME_Exception);
192 boolean existConnectivity (in medConnectivity mode,
193 in medEntityMesh entity)
194 raises (SALOME::SALOME_Exception);
200 Returns coordinate system :
205 string getCoordinatesSystem() raises (SALOME::SALOME_Exception);
208 Returns the number of nodes defined in the mesh.
210 long getNumberOfNodes() raises (SALOME::SALOME_Exception);
213 Returns an array of coordinates stored in any type
215 SALOME_MED::double_array getCoordinates(in medModeSwitch typeSwitch)
216 raises (SALOME::SALOME_Exception);
219 Returns an array (Sender) of coordinates stored in any type.\n
220 It could be used in a Client code using the MED Client classes.
222 SALOME::SenderDouble getSenderForCoordinates(in medModeSwitch typeSwitch)
223 raises (SALOME::SALOME_Exception);
225 Returns coordinate n° Number on axis n° Axis
227 double getCoordinate(in long Number, in long Axis)
228 raises (SALOME::SALOME_Exception);
232 Returns an array containing the names of coordinates.
241 SALOME_MED::string_array getCoordinatesNames()
242 raises (SALOME::SALOME_Exception);
245 Returns an array containing the units of coordinates (cm, m, mm, ...)
247 It could be empty. By defult IS is used (meter).
249 SALOME_MED::string_array getCoordinatesUnits()
250 raises (SALOME::SALOME_Exception);
253 Returns the %SUPPORT containing the boundary elements
257 SUPPORT getBoundaryElements(in medEntityMesh Entity)
258 raises (SALOME::SALOME_Exception);
261 Returns the %SUPPORT containing the boundary elements
262 of the support mySupport3D.
264 SUPPORT getSkin(in SUPPORT mySupport3D ) raises (SALOME::SALOME_Exception);
266 SALOME_MED::long_array getGlobalNumberingIndex(in medEntityMesh entity) ;
268 struct coordinateInfos
271 SALOME_MED::string_array coordNames;
272 SALOME_MED::string_array coordUnits;
274 coordinateInfos getCoordGlobal() raises (SALOME::SALOME_Exception);
282 Returns the number of defferent %medGeometryElement types existing
283 in the specified entity.
286 Not implemented for MED_ALL_ENTITIES.
288 long getNumberOfTypes(in medEntityMesh entity)
289 raises (SALOME::SALOME_Exception);
292 Returns an array of all %medGeometryElement types existing
296 Not implemented for MED_ALL_ENTITIES.
298 medGeometryElement_array getTypes(in medEntityMesh entity)
299 raises (SALOME::SALOME_Exception);
302 Returns the number of elements of type %medGeometryElement.
305 - Implemented for MED_ALL_ELEMENTS
306 - Not implemented for MED_ALL_ENTITIES
308 long getNumberOfElements(in medEntityMesh entity,
309 in medGeometryElement geomElement)
310 raises (SALOME::SALOME_Exception);
313 Give, in full or no interlace mode (for nodal connectivity),
314 descending or nodal connectivity.
316 You must give a %medEntityMesh (ie:MED_EDGE) and a
317 %medGeometryElement (ie:MED_SEG3).
319 SALOME_MED::long_array getConnectivity(in medModeSwitch typeSwitch,
320 in medConnectivity mode,
321 in medEntityMesh entity,
322 in medGeometryElement geomElement)
323 raises (SALOME::SALOME_Exception);
326 Idem getConnectivity but return a Sender.\n
327 It could be used in a Client code using the MED Client classes.
329 SALOME::SenderInt getSenderForConnectivity(in medModeSwitch typeSwitch,
330 in medConnectivity mode,
331 in medEntityMesh entity,
332 in medGeometryElement geomElement)
333 raises (SALOME::SALOME_Exception);
336 Idem getConnectivity but return a Sender.\n
337 It could be used in a Client code using the MED Client classes.
339 SALOME::SenderInt getSenderForPolygonsConnectivity(in medConnectivity mode,
340 in medEntityMesh entity)
341 raises (SALOME::SALOME_Exception);
344 Idem getConnectivityIndex but return a Sender.\n
345 It could be used in a Client code using the MED Client classes.
347 SALOME::SenderInt getSenderForPolygonsConnectivityIndex(in medConnectivity mode,
348 in medEntityMesh entity)
349 raises (SALOME::SALOME_Exception);
352 Idem getConnectivity but return a Sender.\n
353 It could be used in a Client code using the MED Client classes.
355 SALOME::SenderInt getSenderForPolyhedronConnectivity(in medConnectivity mode)
356 raises (SALOME::SALOME_Exception);
359 Idem getConnectivityIndex but return a Sender.\n
360 It could be used in a Client code using the MED Client classes.
362 SALOME::SenderInt getSenderForPolyhedronIndex(in medConnectivity mode)
363 raises (SALOME::SALOME_Exception);
366 Idem getConnectivityIndex but return a Sender.\n
367 It could be used in a Client code using the MED Client classes.
369 SALOME::SenderInt getSenderForPolyhedronFacesIndex()
370 raises (SALOME::SALOME_Exception);
373 Give morse index array to use with
374 getConnectivity(MED_FULL_INTERLACE,mode,entity,MED_ALL_ELEMENTS).
376 Each value give start index for corresponding entity in
379 Example : i-th element, j-th node of it :
380 - In C mode : Connectivity[ConnectivityIndex[i]-1+j-1]
381 - In fortran mode : Connectivity[ConnectivityIndex[i]+j]
383 SALOME_MED::long_array getConnectivityIndex(in medConnectivity mode,
384 in medEntityMesh entity)
385 raises (SALOME::SALOME_Exception);
388 Gets a global number of the element which have the same connectivity as the
389 connectivity argument.
391 long getElementNumber(in medConnectivity mode,
392 in medEntityMesh entity,
393 in medGeometryElement type,
394 in SALOME_MED::long_array connectivity)
395 raises (SALOME::SALOME_Exception);
397 medGeometryElement getElementType (in medEntityMesh entity,
399 raises (SALOME::SALOME_Exception);
402 Returns a reverse connectivity to MED_CELL.
404 If mode=MED_NODAL, the array contains, for each node, all cells
407 If mode=MED_DESCENDING, the array contains, for each face (or edge),
408 the 2 cells of each side. First is cell which face normal is outgoing.
410 SALOME_MED::long_array getReverseConnectivity(in medConnectivity mode)
411 raises (SALOME::SALOME_Exception);
414 Give index array to use with getReverseConnectivity(MED_NODAL).
416 This method is not used with MED_DESCENDING mode,
417 because we have allways two cells.
419 See getConnectivityIndex for details.
421 SALOME_MED::long_array getReverseConnectivityIndex(in medConnectivity mode)
422 raises (SALOME::SALOME_Exception);
424 struct connectivityInfos
427 medGeometryElement_array meshTypes;
428 SALOME_MED::long_array numberOfElements;
429 long entityDimension;
431 connectivityInfos getConnectGlobal(in medEntityMesh entity)
432 raises (SALOME::SALOME_Exception);
434 // Families and Groups
435 // -------------------
438 Returns the number of all families.
440 long getNumberOfFamilies(in medEntityMesh entity)
441 raises (SALOME::SALOME_Exception);
444 Returns the number of all groups.
446 long getNumberOfGroups(in medEntityMesh entity)
447 raises (SALOME::SALOME_Exception);
450 Returns an array of all families.
452 Family_array getFamilies(in medEntityMesh entity)
453 raises (SALOME::SALOME_Exception);
456 Returns the reference to i-th family.
459 i is bounded by 1 and NumberOfFamilies.
461 FAMILY getFamily(in medEntityMesh entity,in long familyNumber)
462 raises (SALOME::SALOME_Exception);
465 Returns an array of all groups.
467 Group_array getGroups(in medEntityMesh entity)
468 raises (SALOME::SALOME_Exception);
471 Returns the reference to i-th group.
474 i is bounded by 1 and NumberOfGroups.
476 GROUP getGroup(in medEntityMesh entity,in long groupNumber)
477 raises (SALOME::SALOME_Exception);
483 Returns a field on mySupport containing volume.
486 mySupport must be on MED_CELL entity and MeshDimension must be 3D.
488 FIELD getVolume(in SUPPORT mySupport)
489 raises (SALOME::SALOME_Exception);
492 Returns a field on mySupport containing area.
495 mySupport must be on MED_FACE entity.
497 FIELD getArea(in SUPPORT mySupport)
498 raises (SALOME::SALOME_Exception);
501 Returns a field on mySupport containing length.
504 mySupport must be on MED_EDGE entity.
506 FIELD getLength(in SUPPORT mySupport)
507 raises (SALOME::SALOME_Exception);
510 Returns a field on mySupport containing normal.
513 mySupport must be on MED_FACE entity if MeshDimension and
514 SpaceDimension=3D and on MED_EDGE if MeshDimension and SpaceDimension=2D.
516 FIELD getNormal(in SUPPORT mySupport)
517 raises (SALOME::SALOME_Exception);
520 Returns a field on mySupport containing barycenter.
522 FIELD getBarycenter(in SUPPORT mySupport)
523 raises (SALOME::SALOME_Exception);
526 Returns a field on mySupport containing neighbourhood.
528 // FIELD getNeighbourhood(in SUPPORT mySupport)
529 // raises (SALOME::SALOME_Exception);
535 Adds the Mesh in the StudyManager.
537 void addInStudy(in SALOMEDS::Study myStudy, in MESH myIor )
538 raises (SALOME::SALOME_Exception, SALOMEDS::StudyBuilder::LockProtection);
540 // Add a MED/VTK/... driver
541 // Multiple drivers can be added whatever the type
542 long addDriver (in medDriverTypes driverType, in string fileName, in string meshName)
543 raises (SALOME::SALOME_Exception);
545 void rmDriver (in long i) raises (SALOME::SALOME_Exception);
548 void read (in long i) raises (SALOME::SALOME_Exception);
549 void write (in long i, in string driverMeshName)
550 raises (SALOME::SALOME_Exception);
553 Internal Corba method.
555 long getCorbaIndex() raises (SALOME::SALOME_Exception);
559 long spaceDimension ;
563 Family_array famNode;
564 Family_array famEdge;
565 Family_array famFace;
566 Family_array famCell;
567 Group_array groupNode;
568 Group_array groupEdge;
569 Group_array groupFace;
570 Group_array groupCell;
572 meshInfos getMeshGlobal() raises (SALOME::SALOME_Exception);
573 boolean areEquals(in MESH other);
577 // ----------------------
579 // ----------------------
581 interface SUPPORT : SALOME::MultiCommClass, SALOME::GenericObj {
584 Returns the name of the support.
586 string getName() raises (SALOME::SALOME_Exception);
589 Returns the description of the support.
591 string getDescription() raises (SALOME::SALOME_Exception);
594 Returns a reference to the mesh.
596 MESH getMesh() raises (SALOME::SALOME_Exception);
599 Returns the type of %medEntityMesh used by the support.
602 A support deals only with one entity's type
603 (for example : MED_FACE or MED_NODE)
605 medEntityMesh getEntity() raises (SALOME::SALOME_Exception);
608 Returns True if all elements of this entity are
609 engaged, False otherwise.
611 If True, you must use mesh reference (getMesh) to get more information.
613 boolean isOnAllElements() raises (SALOME::SALOME_Exception);
616 If the method %isOnAllElements() returns False, this method
617 returns the number of elements in the support.
619 Example : number of MED_TRIA3 or MED_ALL_ELEMETNS elements
620 in entity of support.
623 If %SUPPORT is defined on MED_NODE, use MED_NONE %medGeometryElement
626 long getNumberOfElements(in medGeometryElement geomElement)
627 raises (SALOME::SALOME_Exception);
629 long getNumberOfTypes() raises (SALOME::SALOME_Exception);
631 If isOnAllElements is False, returns an array of %medGeometryElement
632 types used by the support.
634 %medEntityMesh is given by getEntity.
636 medGeometryElement_array getTypes() raises (SALOME::SALOME_Exception);
640 If the method %isOnAllElements() returns False, this method returns an array which
641 contains all numbers of given %medGeometryElement.
643 Numbering is global, ie numbers are bounded by 1 and
644 MESH::getNumberOfElement(entity,MED_ALL_ELEMENTS) and not by 1 and
645 MESH::getNumberOfElement(entity,geomElement).
648 If %SUPPORT is defined on MED_NODE, use MED_NONE %medGeometryElement type.
650 SALOME_MED::long_array getNumber(in medGeometryElement geomElement)
651 raises (SALOME::SALOME_Exception);
654 Idem SALOME::Sender getNumber(in medGeometryElement geomElement) but returning Sender.\n
655 It could be used in a Client code using the MED Client classes.
658 SALOME::SenderInt getSenderForNumber(in medGeometryElement geomElement)
659 raises (SALOME::SALOME_Exception);
662 If the method %isOnAllElements() returns False, this method returns the index
665 Use it with getNumber(MED_ALL_ELEMENTS).
668 See the method %getConnectivityIndex for more details.
670 SALOME_MED::long_array getNumberIndex()
671 raises (SALOME::SALOME_Exception);
674 Idem SALOME_MED::long_array getNumberIndex() but return a Sender.\n
675 It could be used in a Client code using the MED Client classes.
677 SALOME::SenderInt getSenderForNumberIndex()
678 raises (SALOME::SALOME_Exception);
680 void getBoundaryElements()
681 raises (SALOME::SALOME_Exception);
683 Internal Corba method.
685 long getCorbaIndex() raises (SALOME::SALOME_Exception);
690 boolean isOnAllElements;
691 medEntityMesh entity;
692 long numberOfGeometricType;
693 medGeometryElement_array types;
694 SALOME_MED::long_array nbEltTypes;
696 supportInfos getSupportGlobal() raises (SALOME::SALOME_Exception);
705 interface FAMILY : SUPPORT
709 Returns Family identifier (Identifier
710 of the family in the mesh).
713 There is precisely only one indentifier for each family.
715 long getIdentifier() raises (SALOME::SALOME_Exception);
718 Returns number of attributes.
720 long getNumberOfAttributes() raises (SALOME::SALOME_Exception);
723 Returns an array of all attributes' identifiers.
724 There is one for each attribute.
726 SALOME_MED::long_array getAttributesIdentifiers()
727 raises (SALOME::SALOME_Exception);
730 Returns identifier of i-th attribute.
733 i is bounded by 1 and NumberOfAttributes.
735 long getAttributeIdentifier(in long i) raises (SALOME::SALOME_Exception);
738 Returns an array of all values of the attributes .
739 There is one value for each attribute.
741 SALOME_MED::long_array getAttributesValues()
742 raises (SALOME::SALOME_Exception);
745 Returns the value of i-th attribute.
748 i is bounded by 1 and NumberOfAttributes.
750 long getAttributeValue(in long i) raises (SALOME::SALOME_Exception);
753 Returns an array of all descriptions of the attributes .
754 There is one description for each attribute.
756 SALOME_MED::string_array getAttributesDescriptions()
757 raises (SALOME::SALOME_Exception);
760 Returns the description of i-th attribute.
763 i is bounded by 1 and NumberOfAttributes.
765 string getAttributeDescription(in long i)
766 raises (SALOME::SALOME_Exception);
769 Returns the number of groups the family belongs to.
771 long getNumberOfGroups()
772 raises (SALOME::SALOME_Exception);
775 Returns an array of names of groups the family belongs to .
776 There is one name for each group.
778 SALOME_MED::string_array getGroupsNames()
779 raises (SALOME::SALOME_Exception);
782 Returns the name of i-th group.
785 i is bounded by 1 and NumberOfAttributes.
787 string getGroupName(in long i)
788 raises (SALOME::SALOME_Exception);
797 interface GROUP : SUPPORT
801 Returns the number of families in this group.
803 long getNumberOfFamilies() raises (SALOME::SALOME_Exception);
806 Returns an array of all families.
808 Family_array getFamilies() raises (SALOME::SALOME_Exception);
811 Returns a reference to the i-th family.
814 i is bounded by 1 and NumberOfFamilies.
816 FAMILY getFamily(in long i) raises (SALOME::SALOME_Exception);
825 interface FIELD : SALOME::GenericObj
829 Returns the field name.
831 string getName() raises (SALOME::SALOME_Exception);
834 Returns the field description.
836 string getDescription() raises (SALOME::SALOME_Exception);
839 Returns a reference to the support
840 on which the field is defined.
842 SUPPORT getSupport() raises (SALOME::SALOME_Exception);
845 Returns the number of field's components.
847 long getNumberOfComponents() raises (SALOME::SALOME_Exception);
850 Returns an array containing components names.
852 SALOME_MED::string_array getComponentsNames()
853 raises (SALOME::SALOME_Exception);
856 Returns the name of i-th component.
859 - i is bounded by 1 and NumberOfComponents.
860 - Name is mandatory for each field's component.
862 string getComponentName(in long i) raises (SALOME::SALOME_Exception);
865 Returns an array containing components units.
867 SALOME_MED::string_array getComponentsUnits()
868 raises (SALOME::SALOME_Exception);
871 Returns the unit of i-th component.
874 i is bounded by 1 and NumberOfComponents.
876 string getComponentUnit(in long i) raises (SALOME::SALOME_Exception);
879 Returns an array containing components descriptions.
881 SALOME_MED::string_array getComponentsDescriptions()
882 raises (SALOME::SALOME_Exception);
885 Returns the description of i-th component.
888 - i is bounded by 1 and NumberOfComponents.
889 - Name is mandatory for each field's component.
891 string getComponentDescription(in long i) raises (SALOME::SALOME_Exception);
894 Returns the iteration number.
896 long getIterationNumber() raises (SALOME::SALOME_Exception);
899 Returns time for this iteration.
901 double getTime() raises (SALOME::SALOME_Exception);
904 Returns order number use for
905 internal step in this iteration.
907 long getOrderNumber() raises (SALOME::SALOME_Exception);
910 Returns if gauss points are present.
912 boolean getGaussPresence();
917 long addDriver (in medDriverTypes driverType, in string fileName, in string fieldName)
918 raises (SALOME::SALOME_Exception);
923 void rmDriver (in long i)
924 raises (SALOME::SALOME_Exception);
927 void read (in long i)
928 raises (SALOME::SALOME_Exception);
933 void write (in long i, in string driverFieldName)
934 raises (SALOME::SALOME_Exception);
937 Adds the Field in the StudyManager.
939 void addInStudy(in SALOMEDS::Study myStudy, in FIELD myIor )
940 raises (SALOME::SALOME_Exception, SALOMEDS::StudyBuilder::LockProtection);
943 Internal Corba method.
946 raises (SALOME::SALOME_Exception);
951 interface FIELDDOUBLE : FIELD , SALOME::MultiCommClass {
954 Returns an array of values of the field
956 SALOME_MED::double_array getValue(in medModeSwitch mode)
957 raises (SALOME::SALOME_Exception);
960 Idem as getValue but it could be used in a Client code using the
963 SALOME::SenderDouble getSenderForValue(in medModeSwitch mode)
964 raises (SALOME::SALOME_Exception);
967 interface FIELDDOUBLENO : FIELDDOUBLE {
970 interface FIELDDOUBLEFULL : FIELDDOUBLE {
973 interface FIELDINT : FIELD , SALOME::MultiCommClass {
976 Returns an array of values of the field
978 SALOME_MED::long_array getValue(in medModeSwitch mode)
979 raises (SALOME::SALOME_Exception);
982 Idem as getValue but it could be used in a Client code using the
985 SALOME::SenderInt getSenderForValue(in medModeSwitch mode)
986 raises (SALOME::SALOME_Exception);
989 interface FIELDINTNO : FIELDINT {
992 interface FIELDINTFULL : FIELDINT {
997 interface MED : SALOME::GenericObj {
999 returns the number of meshes in the %MED object.
1001 long getNumberOfMeshes () raises (SALOME::SALOME_Exception);
1003 returns the number of fields in the %MED object.
1005 long getNumberOfFields () raises (SALOME::SALOME_Exception);
1007 returns an array which contains the name of each meshes in the %MED object.
1009 SALOME_MED::string_array getMeshNames () raises (SALOME::SALOME_Exception);
1011 returns an array which contains the name of each fields in the %MED object.
1013 SALOME_MED::string_array getFieldNames () raises (SALOME::SALOME_Exception);
1015 giving a mesh name, it returns the corresponding %MESH pointer.
1017 MESH getMeshByName ( in string meshName) raises (SALOME::SALOME_Exception);
1019 giving a %FIELD pointer, it returns the corresponding %MESH pointer of the mesh
1020 on which the field lies.
1022 MESH getMesh ( in FIELD fieldPtr) raises (SALOME::SALOME_Exception);
1024 giving a field name, it returns the number of iteration in the corresponding %FIELD object.
1026 long getFieldNumberOfIteration(in string fieldName) raises (SALOME::SALOME_Exception);
1028 giving a field name and an integer %i, it returns a couple of integers: the time iteration and
1029 the order number of the %i^th iteration of the corresponding %FIELD object.
1031 SALOME_MED::long_array getFieldIteration(in string fieldName, in long i) raises (SALOME::SALOME_Exception);
1033 giving a field name, it returns an array of integers: the list of the time iteration and
1034 the order number couple of all iterations of the corresponding %FIELD object.
1036 (DT1, IT1, DT2, IT2, ... , DTn, ITn) when n is the number of the %FIELD iterations.
1038 SALOME_MED::long_array getFieldIterations(in string fieldName) raises (SALOME::SALOME_Exception);
1040 giving a field name, a time iteration and an order number, it returns the corresponding %FIELD oject.
1042 FIELD getField ( in string fieldName,
1044 in long numOrdre ) raises (SALOME::SALOME_Exception);
1047 // Add a MED/VTK/... driver to a MED'GEN' object to
1048 // be able to read/write files preserving meshes<-->fields association
1049 // Multiple drivers can be added whatever the type.
1050 // The access point in the <long> returned
1051 long addDriver (in medDriverTypes driverType, in string fileName)
1052 raises (SALOME::SALOME_Exception);
1056 void rmDriver (in long i) raises (SALOME::SALOME_Exception);
1058 Reads the structure of the %MED file
1060 void readFileStruct(in long i) raises (SALOME::SALOME_Exception);
1061 void writeFrom (in long i) raises (SALOME::SALOME_Exception);
1062 void write (in long i) raises (SALOME::SALOME_Exception);
1064 void addMesh (in MESH ptrMesh ) raises (SALOME::SALOME_Exception);
1065 void addField (in FIELD ptrField ) raises (SALOME::SALOME_Exception);
1067 void addInStudy (in SALOMEDS::Study myStudy, in MED medPtr) raises (SALOME::SALOME_Exception, SALOMEDS::StudyBuilder::LockProtection);
1071 #endif /* MED_IDL */