Version: 6.3.1
Public Member Functions | Protected Attributes

SMESH_MEDMesh_i Class Reference

#include <SMESH_MEDMesh_i.hxx>

Inheritance diagram for SMESH_MEDMesh_i:
Inheritance graph
[legend]

Public Member Functions

 SMESH_MEDMesh_i ()
 Default constructor.
 SMESH_MEDMesh_i (SMESH_Mesh_i *m)
 ~SMESH_MEDMesh_i ()
 Destructor.
void setProtocol (SALOME::TypeOfCommunication typ)
void release ()
SALOME::SenderDouble_ptr getSenderForCoordinates (SALOME_MED::medModeSwitch)
SALOME::SenderInt_ptr getSenderForConnectivity (SALOME_MED::medConnectivity, SALOME_MED::medEntityMesh, SALOME_MED::medGeometryElement)
SALOME::SenderInt_ptr getSenderForConnectivityIndex (SALOME_MED::medConnectivity, SALOME_MED::medEntityMesh, SALOME_MED::medGeometryElement)
SALOME::SenderInt_ptr getSenderForPolygonsConnectivity (SALOME_MED::medConnectivity, SALOME_MED::medEntityMesh)
SALOME::SenderInt_ptr getSenderForPolygonsConnectivityIndex (SALOME_MED::medConnectivity, SALOME_MED::medEntityMesh)
SALOME::SenderInt_ptr getSenderForPolyhedronConnectivity (SALOME_MED::medConnectivity)
SALOME::SenderInt_ptr getSenderForPolyhedronIndex (SALOME_MED::medConnectivity)
SALOME::SenderInt_ptr getSenderForPolyhedronFacesIndex ()
char * getName () throw (SALOME::SALOME_Exception)
 CORBA: Accessor for Name.
CORBA::Long getSpaceDimension () throw (SALOME::SALOME_Exception)
 CORBA: Accessor for Space Dimension.
CORBA::Long getMeshDimension () throw (SALOME::SALOME_Exception)
 CORBA: Accessor for Mesh Dimension.
CORBA::Boolean getIsAGrid () throw (SALOME::SALOME_Exception)
 CORBA: Accessor for the boolean _isAGrid.
CORBA::Boolean existConnectivity (SALOME_MED::medConnectivity connectivityType, SALOME_MED::medEntityMesh entity) throw (SALOME::SALOME_Exception)
 CORBA: Accessor for the connectivities, to see if they exist.
char * getCoordinatesSystem () throw (SALOME::SALOME_Exception)
 CORBA: Accessor for Coordinates System.
CORBA::Double getCoordinate (CORBA::Long Number, CORBA::Long Axis) throw (SALOME::SALOME_Exception)
 CORBA: Accessor for Coordinate.
SALOME_TYPES::ListOfDouble * getCoordinates (SALOME_MED::medModeSwitch typeSwitch) throw (SALOME::SALOME_Exception)
 CORBA: Accessor for Coordinates.
SALOME_TYPES::ListOfString * getCoordinatesNames () throw (SALOME::SALOME_Exception)
 CORBA: Accessor for Coordinates Names.
SALOME_TYPES::ListOfString * getCoordinatesUnits () throw (SALOME::SALOME_Exception)
 CORBA: Accessor for Coordinates Units.
CORBA::Long getNumberOfNodes () throw (SALOME::SALOME_Exception)
 CORBA: Accessor for Number of Nodes.
CORBA::Long getNumberOfTypes (SALOME_MED::medEntityMesh entity) throw (SALOME::SALOME_Exception)
 CORBA: Accessor for number of Types.
SALOME_MED::medGeometryElement_array * getTypes (SALOME_MED::medEntityMesh entity) throw (SALOME:: SALOME_Exception)
 CORBA: Accessor for existing geometry element types Not implemented for MED_ALL_ENTITIES.
SALOME_MED::medGeometryElement getElementType (SALOME_MED::medEntityMesh entity, CORBA::Long number) throw (SALOME::SALOME_Exception)
 Gives the type of the element number of entity entity.
CORBA::Long getNumberOfElements (SALOME_MED::medEntityMesh entity, SALOME_MED::medGeometryElement geomElement) throw (SALOME::SALOME_Exception)
 CORBA: Returns number of elements of type medGeometryElement Not implemented for MED_ALL_ELEMENTS implemented for MED_ALL_ENTITIES.
SALOME_TYPES::ListOfLong * getConnectivity (SALOME_MED::medConnectivity mode, SALOME_MED::medEntityMesh entity, SALOME_MED::medGeometryElement geomElement) throw (SALOME::SALOME_Exception)
 CORBA: Accessor for connectivities.
SALOME_TYPES::ListOfLong * getConnectivityIndex (SALOME_MED::medConnectivity mode, SALOME_MED::medEntityMesh entity) throw (SALOME::SALOME_Exception)
 CORBA: Accessor for connectivities.
SALOME_TYPES::ListOfLong * getGlobalNumberingIndex (SALOME_MED::medEntityMesh entity) throw (SALOME::SALOME_Exception)
 CORBA: Returns references for the global numbering index.
CORBA::Long getElementNumber (SALOME_MED::medConnectivity mode, SALOME_MED::medEntityMesh entity, SALOME_MED::medGeometryElement type, const SALOME_TYPES::ListOfLong &connectivity) throw (SALOME::SALOME_Exception)
 CORBA: Find an element corresponding to the given connectivity.
SALOME_TYPES::ListOfLong * getReverseConnectivity (SALOME_MED::medConnectivity mode) throw (SALOME::SALOME_Exception)
 CORBA: Accessor for Ascendant connectivities not implemented for MED_ALL_ENTITIES and MED_MAILLE.
SALOME_TYPES::ListOfLong * getReverseConnectivityIndex (SALOME_MED::medConnectivity mode) throw (SALOME::SALOME_Exception)
 CORBA: Accessor for connectivities.
CORBA::Long getNumberOfFamilies (SALOME_MED::medEntityMesh entity) throw (SALOME::SALOME_Exception)
 CORBA: Returns number of families within the mesh.
CORBA::Long getNumberOfGroups (SALOME_MED::medEntityMesh entity) throw (SALOME::SALOME_Exception)
 CORBA: Returns number of groups within the mesh.
SALOME_MED::Family_array * getFamilies (SALOME_MED::medEntityMesh entity) throw (SALOME::SALOME_Exception)
 CORBA: Returns references for families within the mesh.
SALOME_MED::FAMILY_ptr getFamily (SALOME_MED::medEntityMesh entity, CORBA::Long i) throw (SALOME::SALOME_Exception)
 CORBA: Returns references for family i within the mesh.
SALOME_MED::Group_array * getGroups (SALOME_MED::medEntityMesh entity) throw (SALOME::SALOME_Exception)
 CORBA: Returns references for groups within the mesh.
SALOME_MED::GROUP_ptr getGroup (SALOME_MED::medEntityMesh entity, CORBA::Long i) throw (SALOME::SALOME_Exception)
 CORBA: Returns references for group i within the mesh.
SALOME_MED::SUPPORT_ptr getBoundaryElements (SALOME_MED::medEntityMesh entity) throw (SALOME::SALOME_Exception)
 CORBA: Returns references for the support of boundary elements of type entity.
SALOME_MED::SUPPORT_ptr getSupportOnAll (SALOME_MED::medEntityMesh entity) throw (SALOME::SALOME_Exception)
 CORBA: Method return a reference on a support define on all the element of an entity.
SALOME_MED::SUPPORT_ptr getSkin (SALOME_MED::SUPPORT_ptr mySupport3D) throw (SALOME::SALOME_Exception)
 CORBA: Returns references for the support of the skin of the support mySupport3D.
SALOME_MED::FIELD_ptr getVolume (SALOME_MED::SUPPORT_ptr mySupport) throw (SALOME::SALOME_Exception)
 CORBA:
SALOME_MED::FIELD_ptr getArea (SALOME_MED::SUPPORT_ptr mySupport) throw (SALOME::SALOME_Exception)
 CORBA:
SALOME_MED::FIELD_ptr getLength (SALOME_MED::SUPPORT_ptr mySupport) throw (SALOME::SALOME_Exception)
 CORBA:
SALOME_MED::FIELD_ptr getNormal (SALOME_MED::SUPPORT_ptr mySupport) throw (SALOME::SALOME_Exception)
 CORBA:
SALOME_MED::FIELD_ptr getBarycenter (SALOME_MED::SUPPORT_ptr mySupport) throw (SALOME::SALOME_Exception)
 CORBA:
SALOME_MED::FIELD_ptr getNeighbourhood (SALOME_MED::SUPPORT_ptr mySupport) throw (SALOME::SALOME_Exception)
 CORBA:
void addInStudy (SALOMEDS::Study_ptr myStudy, SALOME_MED::GMESH_ptr myIor) throw (SALOME::SALOME_Exception)
 CORBA: add the Mesh in the StudyManager PN Pas Implemente.
CORBA::Long addDriver (SALOME_MED::medDriverTypes driverType, const char *fileName, const char *meshName) throw (SALOME::SALOME_Exception)
 CORBA : attach driver.
void rmDriver (CORBA::Long i) throw (SALOME::SALOME_Exception)
 CORBA : release driver.
void read (CORBA::Long i) throw (SALOME::SALOME_Exception)
 CORBA: read mesh in a med file.
void write (CORBA::Long i, const char *driverMeshName) throw (SALOME::SALOME_Exception)
 CORBA: write mesh in a med file.
CORBA::Long getCorbaIndex () throw (SALOME::SALOME_Exception)
 CORBA: Accessor for corbaindex cuisine interne.
SALOME_MED::GMESH::meshInfos * getMeshGlobal () throw (SALOME::SALOME_Exception)
 Gives informations of the considered mesh.
bool areEquals (SALOME_MED::GMESH_ptr other)
SALOME_MED::MESH_ptr convertInMESH () throw (SALOME::SALOME_Exception)
 Converts this GMESH into MESH.
SALOME_MED::GMESH::coordinateInfos * getCoordGlobal () throw (SALOME::SALOME_Exception)
 Gives informations on coordinates of the considered mesh.
SALOME_MED::MESH::connectivityInfos * getConnectGlobal (SALOME_MED::medEntityMesh entity) throw (SALOME::SALOME_Exception)
 Gives informations on connectivities of the considered mesh for the entity entity.
void calculeNbElts () throw (SALOME::SALOME_Exception)
 Calcule le Nb d'elements par entite geometrique.
void createFamilies () throw (SALOME::SALOME_Exception)
 Creation des familles.

Protected Attributes

::SMESH_Mesh_i_mesh_i
SMESHDS_Mesh_meshDS
std::string _meshId
bool _compte
bool _creeFamily
int _indexElts
int _indexEnts
int _famIdent
std::map
< SALOME_MED::medGeometryElement,
int
_mapIndToSeqElts
SALOME_TYPES::ListOfLong_var _seq_elemId [15]
std::map
< SALOME_MED::medEntityMesh,
int
_mapNbTypes
std::map
< SALOME_MED::medEntityMesh,
int
_mapIndToVectTypes
std::vector
< SALOME_MED::medGeometryElement > 
_TypesId [15]
std::vector
< SALOME_MED::FAMILY_ptr > 
_families

Detailed Description

Definition at line 49 of file SMESH_MEDMesh_i.hxx.


Constructor & Destructor Documentation

SMESH_MEDMesh_i::SMESH_MEDMesh_i ( )

Default constructor.

Definition at line 72 of file SMESH_MEDMesh_i.cxx.

{
  BEGIN_OF("Default Constructor SMESH_MEDMesh_i");
  END_OF("Default Constructor SMESH_MEDMesh_i");
}
SMESH_MEDMesh_i.SMESH_MEDMesh_i ( SMESH_Mesh_i m)
SMESH_MEDMesh_i::~SMESH_MEDMesh_i ( )

Destructor.

Definition at line 83 of file SMESH_MEDMesh_i.cxx.

{
}

Member Function Documentation

CORBA::Long SMESH_MEDMesh_i::addDriver ( SALOME_MED::medDriverTypes  driverType,
const char *  fileName,
const char *  meshName 
) throw (SALOME::SALOME_Exception)

CORBA : attach driver.

Definition at line 945 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("Non Implemente");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
  return 0;
}
void SMESH_MEDMesh_i::addInStudy ( SALOMEDS::Study_ptr  myStudy,
SALOME_MED::GMESH_ptr  myIor 
) throw (SALOME::SALOME_Exception)

CORBA: add the Mesh in the StudyManager PN Pas Implemente.

Definition at line 852 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  BEGIN_OF("MED_Mesh_i::addInStudy");
  if (_meshId != "")
  {
    MESSAGE("Mesh already in Study");
    THROW_SALOME_CORBA_EXCEPTION("Mesh already in Study",
                                 SALOME::BAD_PARAM);
  };

  /*
   * SALOMEDS::StudyBuilder_var myBuilder = myStudy->NewBuilder();
   * 
   * // Create SComponent labelled 'MED' if it doesn't already exit
   * SALOMEDS::SComponent_var medfather = myStudy->FindComponent("MED");
   * if ( CORBA::is_nil(medfather) ) 
   * {
   * MESSAGE("Add Component MED");
   * medfather = myBuilder->NewComponent("MED");
   * //myBuilder->AddAttribute (medfather,SALOMEDS::Name,"MED");
   * SALOMEDS::AttributeName_var aName = SALOMEDS::AttributeName::_narrow(
   * myBuilder->FindOrCreateAttribute(medfather, "AttributeName"));
   * aName->SetValue("MED");
   * 
   * myBuilder->DefineComponentInstance(medfather,myIor);
   * 
   * } ;
   * 
   * MESSAGE("Add a mesh Object under MED");
   * myBuilder->NewCommand();
   * SALOMEDS::SObject_var newObj = myBuilder->NewObject(medfather);
   * 
   * ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
   * ASSERT(SINGLETON_<ORB_INIT>::IsAlreadyExisting()) ;
   * CORBA::ORB_var &orb = init(0,0);
   * CORBA::String_var iorStr = orb->object_to_string(myIor);
   * //myBuilder->AddAttribute(newObj,SALOMEDS::IOR,iorStr.in());
   * SALOMEDS::AttributeIOR_var aIOR = SALOMEDS::AttributeIOR::_narrow(
   * myBuilder->FindOrCreateAttribute(newObj, "AttributeIOR"));
   * aIOR->SetValue(iorStr.c_str());
   * 
   * //myBuilder->AddAttribute(newObj,SALOMEDS::Name,_mesh_i->getName().c_str());
   * SALOMEDS::AttributeName_var aName = SALOMEDS::AttributeName::_narrow(
   * myBuilder->FindOrCreateAttribute(newObj, "AttributeName"));
   * aName->SetValue(_mesh_i->getName().c_str());
   * 
   * _meshId = newObj->GetID();
   * myBuilder->CommitCommand();
   * 
   */
  END_OF("Mesh_i::addInStudy(SALOMEDS::Study_ptr myStudy)");
}
bool SMESH_MEDMesh_i.areEquals ( SALOME_MED::GMESH_ptr  other)

Definition at line 246 of file SMESH_MEDMesh_i.hxx.

{ return false;};
void SMESH_MEDMesh_i::calculeNbElts ( ) throw (SALOME::SALOME_Exception)

Calcule le Nb d'elements par entite geometrique.

Definition at line 958 of file SMESH_MEDMesh_i.cxx.

References _compte, _indexElts, _indexEnts, _mapIndToSeqElts, _mapIndToVectTypes, _mapNbTypes, _meshDS, _seq_elemId, _TypesId, SMDS_Mesh.edgesIterator(), SMDS_Mesh.facesIterator(), ex05_hole1build.longueur, SMDS_MeshElement.NbNodes(), SMDS_Mesh.nodesIterator(), and SMDS_Mesh.volumesIterator().

{
  if (!_compte)
  {
    _compte = true;

    _mapNbTypes[SALOME_MED::MED_NODE] = 1;
    // On compte les aretes MED_SEG2 ou MED_SEG3
    // On range les elements dans  les vecteurs correspondants 

    _mapIndToSeqElts[SALOME_MED::MED_SEG2] = _indexElts++;
    _mapIndToSeqElts[SALOME_MED::MED_SEG3] = _indexElts++;
    _mapIndToVectTypes[SALOME_MED::MED_EDGE] = _indexEnts++;

    int trouveSeg2 = 0;
    int trouveSeg3 = 0;
    SALOME_MED::medGeometryElement medElement;

    SMDS_EdgeIteratorPtr itEdges=_meshDS->edgesIterator();
    while(itEdges->more())
    {
      const SMDS_MeshEdge* elem = itEdges->next();
      int nb_of_nodes = elem->NbNodes();

      switch (nb_of_nodes)
      {
      case 2:
        {
          medElement = SALOME_MED::MED_SEG2;
          if (trouveSeg2 == 0)
          {
            trouveSeg2 = 1;
            _TypesId[SALOME_MED::MED_EDGE].
              push_back(SALOME_MED::MED_SEG2);
          }
          break;
        }
      case 3:
        {
          medElement = SALOME_MED::MED_SEG3;
          if (trouveSeg3 == 0)
          {
            trouveSeg3 = 1;
            _TypesId[SALOME_MED::MED_EDGE].
              push_back(SALOME_MED::MED_SEG3);
          }
          break;
        }
      }
      int index = _mapIndToSeqElts[medElement];
      SCRUTE(index);
      // Traitement de l arete

      int longueur = _seq_elemId[index]->length();
      _seq_elemId[index]->length(longueur + nb_of_nodes);

      SMDS_NodeIteratorPtr itn=_meshDS->nodesIterator();

      for(int k=0; itn->more(); k++)
        _seq_elemId[index][longueur + k] = itn->next()->GetID()+1;
    }

    _mapNbTypes[SALOME_MED::MED_EDGE] = trouveSeg2 + trouveSeg3;

    // On compte les faces MED_TRIA3, MED_HEXA8, MED_TRIA6
    // On range les elements dans  les vecteurs correspondants 
    int trouveTria3 = 0;
    int trouveTria6 = 0;
    int trouveQuad4 = 0;

    _mapIndToSeqElts[SALOME_MED::MED_TRIA3] = _indexElts++;
    _mapIndToSeqElts[SALOME_MED::MED_TRIA6] = _indexElts++;
    _mapIndToSeqElts[SALOME_MED::MED_QUAD4] = _indexElts++;
    _mapIndToVectTypes[SALOME_MED::MED_FACE] = _indexEnts++;

    SMDS_FaceIteratorPtr itFaces=_meshDS->facesIterator();
    while(itFaces->more())
    {
      const SMDS_MeshFace * elem = itFaces->next();
      int nb_of_nodes = elem->NbNodes();

      switch (nb_of_nodes)
      {
      case 3:
        {
          medElement = SALOME_MED::MED_TRIA3;
          if (trouveTria3 == 0)
          {
            trouveTria3 = 1;
            _TypesId[SALOME_MED::MED_FACE].
              push_back(SALOME_MED::MED_TRIA3);
          }
          break;
        }
      case 4:
        {
          medElement = SALOME_MED::MED_QUAD4;
          if (trouveQuad4 == 0)
          {
            trouveQuad4 = 1;
            _TypesId[SALOME_MED::MED_FACE].
              push_back(SALOME_MED::MED_QUAD4);
          }
          break;
        }
      case 6:
        {
          medElement = SALOME_MED::MED_TRIA6;
          if (trouveTria6 == 0)
          {
            trouveTria6 = 1;
            _TypesId[SALOME_MED::MED_FACE].
              push_back(SALOME_MED::MED_TRIA6);
          }
          break;
        }
      }
      int index = _mapIndToSeqElts[medElement];
      SCRUTE(index);

      // Traitement de la face
      // Attention La numérotation des noeuds Med commence a 1

      int longueur = _seq_elemId[index]->length();
      _seq_elemId[index]->length(longueur + nb_of_nodes);

      SMDS_NodeIteratorPtr itn=_meshDS->nodesIterator();

      for(int k=0; itn->more(); k++)
        _seq_elemId[index][longueur + k] = itn->next()->GetID()+1;
    } //itFaces

    _mapNbTypes[SALOME_MED::MED_FACE] =
      trouveTria3 + trouveTria6 + trouveQuad4;

    _mapIndToSeqElts[SALOME_MED::MED_HEXA8] = _indexElts++;
    _mapIndToVectTypes[SALOME_MED::MED_CELL] = _indexEnts++;
    int index = _mapIndToSeqElts[medElement];

    int trouveHexa8 = 0;

    SMDS_VolumeIteratorPtr itVolumes=_meshDS->volumesIterator();
    while(itVolumes->more())
    {
      const SMDS_MeshVolume * elem = itVolumes->next();

      int nb_of_nodes = elem->NbNodes();
      medElement = SALOME_MED::MED_HEXA8;
      ASSERT(nb_of_nodes == 8);

      if (trouveHexa8 == 0)
      {
        trouveHexa8 = 1;
        _TypesId[SALOME_MED::MED_CELL].push_back(SALOME_MED::MED_HEXA8);
      };
      // Traitement de la maille
      int longueur = _seq_elemId[index]->length();
      _seq_elemId[index]->length(longueur + nb_of_nodes);

      SMDS_NodeIteratorPtr itn=_meshDS->nodesIterator();
      for(int k=0; itn->more(); k++)
        _seq_elemId[index][longueur + k] = itn->next()->GetID()+1;
    }

    _mapNbTypes[SALOME_MED::MED_CELL] = trouveHexa8;
    _mapNbTypes[SALOME_MED::MED_ALL_ENTITIES]
      =
      trouveHexa8 + trouveTria3 + trouveTria6 + trouveQuad4 + trouveSeg2 +
      trouveSeg3;
  }// fin du _compte
};
SALOME_MED::MESH_ptr SMESH_MEDMesh_i::convertInMESH ( ) throw (SALOME::SALOME_Exception)

Converts this GMESH into MESH.

Definition at line 1196 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");

  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);

  return NULL;
}
void SMESH_MEDMesh_i::createFamilies ( ) throw (SALOME::SALOME_Exception)

Creation des familles.

Definition at line 1135 of file SMESH_MEDMesh_i.cxx.

References _creeFamily, _families, SMESH_Mesh_i._mapSubMesh_i, and _mesh_i.

{
  Unexpect aCatch(SALOME_SalomeException);
  string famDes = ("Je ne sais pas");
  string famName0 = "Famille_";
  string famName;
  char numero[10];

  if (_creeFamily == false)
  {
    _creeFamily = true;
    //SMESH_subMesh_i *subMeshServant;

    map < int, SMESH_subMesh_i * >::iterator it;
    for (it = _mesh_i->_mapSubMesh_i.begin();
         it != _mesh_i->_mapSubMesh_i.end(); it++)
    {
      SMESH_subMesh_i *submesh_i = (*it).second;
      int famIdent = (*it).first;

      ASSERT(famIdent < 999999999);
      sprintf(numero, "%d\n", famIdent);
      famName = famName0 + numero;

      SMESH_MEDFamily_i *famservant =
        new SMESH_MEDFamily_i(famIdent, submesh_i,
                              famName, famDes, SALOME_MED::MED_NODE);
#ifdef WNT
      SALOME_MED::FAMILY_ptr famille = SALOME_MED::FAMILY::_nil();
      POA_SALOME_MED::FAMILY* servantbase = dynamic_cast<POA_SALOME_MED::FAMILY*>(famservant);
      if ( servantbase )
        famille = SALOME_MED::FAMILY::_narrow( servantbase->_this() );
#else 
      SALOME_MED::FAMILY_ptr famille = 
        SALOME_MED::FAMILY::_narrow( famservant->POA_SALOME_MED::FAMILY::_this() );
#endif
      _families.push_back(famille);
    }
  }
};
CORBA::Boolean SMESH_MEDMesh_i::existConnectivity ( SALOME_MED::medConnectivity  connectivityType,
SALOME_MED::medEntityMesh  entity 
) throw (SALOME::SALOME_Exception)

CORBA: Accessor for the connectivities, to see if they exist.

Definition at line 198 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("!!!!!! IMPLEMENTED BUT ONLY PARTIALLY !!!!!!");


  return false;

}
SALOME_MED::FIELD_ptr SMESH_MEDMesh_i::getArea ( SALOME_MED::SUPPORT_ptr  mySupport) throw (SALOME::SALOME_Exception)

CORBA:

Definition at line 786 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("Pas Implemente dans SMESH");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
  return 0;
}
SALOME_MED::FIELD_ptr SMESH_MEDMesh_i::getBarycenter ( SALOME_MED::SUPPORT_ptr  mySupport) throw (SALOME::SALOME_Exception)

CORBA:

Definition at line 825 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("Pas Implemente dans SMESH");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
  return 0;
}
SALOME_MED::SUPPORT_ptr SMESH_MEDMesh_i::getBoundaryElements ( SALOME_MED::medEntityMesh  entity) throw (SALOME::SALOME_Exception)

CORBA: Returns references for the support of boundary elements of type entity.

Definition at line 727 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");

  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);

  return NULL;
}
SALOME_MED::MESH::connectivityInfos * SMESH_MEDMesh_i::getConnectGlobal ( SALOME_MED::medEntityMesh  entity) throw (SALOME::SALOME_Exception)

Gives informations on connectivities of the considered mesh for the entity entity.

Definition at line 1226 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");

  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);

  return NULL;
}
SALOME_TYPES::ListOfLong * SMESH_MEDMesh_i::getConnectivity ( SALOME_MED::medConnectivity  mode,
SALOME_MED::medEntityMesh  entity,
SALOME_MED::medGeometryElement  geomElement 
) throw (SALOME::SALOME_Exception)

CORBA: Accessor for connectivities.

Definition at line 513 of file SMESH_MEDMesh_i.cxx.

{
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  if (mode != SALOME_MED::MED_NODAL)
    THROW_SALOME_CORBA_EXCEPTION("Not Implemented", SALOME::BAD_PARAM);
  /*if (typeSwitch == SALOME_MED::MED_NO_INTERLACE)
    THROW_SALOME_CORBA_EXCEPTION("Not Yet Implemented", SALOME::BAD_PARAM);*/
  if (!_compte)
    calculeNbElts();

  // Faut-il renvoyer un pointeur vide ???
  if (_mapIndToSeqElts.find(geomElement) != _mapIndToSeqElts.end())
    THROW_SALOME_CORBA_EXCEPTION("No Such Element in the mesh",
                                 SALOME::BAD_PARAM);

  int index = _mapIndToSeqElts[geomElement];

  return _seq_elemId[index]._retn();
}
SALOME_TYPES::ListOfLong * SMESH_MEDMesh_i::getConnectivityIndex ( SALOME_MED::medConnectivity  mode,
SALOME_MED::medEntityMesh  entity 
) throw (SALOME::SALOME_Exception)

CORBA: Accessor for connectivities.

Definition at line 544 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("Pas Implemente dans SMESH");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
  return 0;
}
SALOME_MED::GMESH::coordinateInfos * SMESH_MEDMesh_i::getCoordGlobal ( ) throw (SALOME::SALOME_Exception)

Gives informations on coordinates of the considered mesh.

Definition at line 1210 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");

  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);

  return NULL;
}
CORBA::Double SMESH_MEDMesh_i::getCoordinate ( CORBA::Long  Number,
CORBA::Long  Axis 
) throw (SALOME::SALOME_Exception)

CORBA: Accessor for Coordinate.

Definition at line 213 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("!!!!!! NOT YET IMPLEMENTED !!!!");

  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);

  return 0.0;
}
SALOME_TYPES::ListOfDouble * SMESH_MEDMesh_i::getCoordinates ( SALOME_MED::medModeSwitch  typeSwitch) throw (SALOME::SALOME_Exception)

CORBA: Accessor for Coordinates.

Definition at line 252 of file SMESH_MEDMesh_i.cxx.

References MESSAGE, ex29_refine.node(), SMDS_MeshNode.X(), SMDS_MeshNode.Y(), and SMDS_MeshNode.Z().

{
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  SALOME_TYPES::ListOfDouble_var myseq = new SALOME_TYPES::ListOfDouble;
  try
  {
    // PN  : En dur
    int spaceDimension = 3;
    int nbNodes = _meshDS->NbNodes();
    SCRUTE(nbNodes);
    myseq->length(nbNodes * spaceDimension);
    int i = 0;

    SMDS_NodeIteratorPtr itNodes=_meshDS->nodesIterator();
    while(itNodes->more())
    {
      const SMDS_MeshNode* node = itNodes->next();

      if (typeSwitch == SALOME_MED::MED_FULL_INTERLACE)
      {
        myseq[i * 3] = node->X();
        myseq[i * 3 + 1] = node->Y();
        myseq[i * 3 + 2] = node->Z();
        SCRUTE(myseq[i * 3]);
        SCRUTE(myseq[i * 3 + 1]);
        SCRUTE(myseq[i * 3 + 2]);
      }
      else
      {
        ASSERT(typeSwitch == SALOME_MED::MED_NO_INTERLACE);
        myseq[i] = node->X();
        myseq[i + nbNodes] = node->Y();
        myseq[i + (nbNodes * 2)] = node->Z();
        SCRUTE(myseq[i]);
        SCRUTE(myseq[i + nbNodes]);
        SCRUTE(myseq[i + (nbNodes * 2)]);
      }
      i++;
    }
  }
  catch(...)
  {
    MESSAGE("Exception en accedant aux coordonnees");
    THROW_SALOME_CORBA_EXCEPTION("Unable to acces Mesh C++ Object",
                                 SALOME::INTERNAL_ERROR);
  }
  return myseq._retn();
}
SALOME_TYPES::ListOfString * SMESH_MEDMesh_i::getCoordinatesNames ( ) throw (SALOME::SALOME_Exception)

CORBA: Accessor for Coordinates Names.

Definition at line 309 of file SMESH_MEDMesh_i.cxx.

References _mesh_i, and MESSAGE.

{
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  SALOME_TYPES::ListOfString_var myseq = new SALOME_TYPES::ListOfString;
  try
  {
    // PN : en dur
    int spaceDimension = 3;
    myseq->length(spaceDimension);
    myseq[0] = CORBA::string_dup("x");
    myseq[1] = CORBA::string_dup("y");
    myseq[2] = CORBA::string_dup("z");
  }
  catch(...)
  {
    MESSAGE("Exception en accedant aux noms des coordonnees");
    THROW_SALOME_CORBA_EXCEPTION("Unable to acces Mesh C++ Object",
                                 SALOME::INTERNAL_ERROR);
  }
  return myseq._retn();

}
char * SMESH_MEDMesh_i::getCoordinatesSystem ( ) throw (SALOME::SALOME_Exception)

CORBA: Accessor for Coordinates System.

Definition at line 227 of file SMESH_MEDMesh_i.cxx.

References _mesh_i, and MESSAGE.

{
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  // PN : En dur. Non encore prevu
  try
  {
    string systcoo = "CARTESIEN";
    return CORBA::string_dup(systcoo.c_str());
  }
  catch(...)
  {
    MESSAGE("Exception en accedant au maillage");
    THROW_SALOME_CORBA_EXCEPTION("Unable to acces Mesh C++ Object",
                                 SALOME::INTERNAL_ERROR);
  }
}
SALOME_TYPES::ListOfString * SMESH_MEDMesh_i::getCoordinatesUnits ( ) throw (SALOME::SALOME_Exception)

CORBA: Accessor for Coordinates Units.

Definition at line 340 of file SMESH_MEDMesh_i.cxx.

References _mesh_i, and MESSAGE.

{
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  SALOME_TYPES::ListOfString_var myseq = new SALOME_TYPES::ListOfString;
  try
  {
    // PN : en dur
    int spaceDimension = 3;
    myseq->length(spaceDimension);
    myseq[0] = CORBA::string_dup("m");
    myseq[1] = CORBA::string_dup("m");
    myseq[2] = CORBA::string_dup("m");
  }
  catch(...)
  {
    MESSAGE("Exception en accedant aux unites des coordonnees");
    THROW_SALOME_CORBA_EXCEPTION("Unable to acces Mesh C++ Object",
                                 SALOME::INTERNAL_ERROR);
  }
  return myseq._retn();
}
CORBA::Long SMESH_MEDMesh_i::getCorbaIndex ( ) throw (SALOME::SALOME_Exception)

CORBA: Accessor for corbaindex cuisine interne.

Definition at line 143 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("Non Implemente");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
}
CORBA::Long SMESH_MEDMesh_i::getElementNumber ( SALOME_MED::medConnectivity  mode,
SALOME_MED::medEntityMesh  entity,
SALOME_MED::medGeometryElement  type,
const SALOME_TYPES::ListOfLong &  connectivity 
) throw (SALOME::SALOME_Exception)

CORBA: Find an element corresponding to the given connectivity.

Definition at line 559 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  const char *LOC = "getElementNumber ";
  MESSAGE(LOC << "Pas Implemente dans SMESH");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
  return -1;
}
SALOME_MED::medGeometryElement SMESH_MEDMesh_i::getElementType ( SALOME_MED::medEntityMesh  entity,
CORBA::Long  number 
) throw (SALOME::SALOME_Exception)

Gives the type of the element number of entity entity.

Definition at line 1241 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");

  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);

  return (SALOME_MED::medGeometryElement) 0;
}
SALOME_MED::Family_array * SMESH_MEDMesh_i::getFamilies ( SALOME_MED::medEntityMesh  entity) throw (SALOME::SALOME_Exception)

CORBA: Returns references for families within the mesh.

Definition at line 637 of file SMESH_MEDMesh_i.cxx.

{
  if (_creeFamily == false)
    createFamilies();
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  SALOME_MED::Family_array_var myseq = new SALOME_MED::Family_array;
  int nbfam = _families.size();
  myseq->length(nbfam);
  int i = 0;
  vector < SALOME_MED::FAMILY_ptr >::iterator it;
  for (it = _families.begin(); it != _families.end(); it++)
  {
    myseq[i++] = *it;
  };
  return myseq._retn();
}
SALOME_MED::FAMILY_ptr SMESH_MEDMesh_i::getFamily ( SALOME_MED::medEntityMesh  entity,
CORBA::Long  i 
) throw (SALOME::SALOME_Exception)

CORBA: Returns references for family i within the mesh.

Definition at line 662 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  if (_creeFamily == false)
    createFamilies();
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);

  SCRUTE(_families[i]->getName());
  MESSAGE(" SMESH_MEDMesh_i::getFamily " << i) return _families[i];
}
SALOME_TYPES::ListOfLong * SMESH_MEDMesh_i::getGlobalNumberingIndex ( SALOME_MED::medEntityMesh  entity) throw (SALOME::SALOME_Exception)

CORBA: Returns references for the global numbering index.

Definition at line 711 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");

  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);

  return NULL;
}
SALOME_MED::GROUP_ptr SMESH_MEDMesh_i::getGroup ( SALOME_MED::medEntityMesh  entity,
CORBA::Long  i 
) throw (SALOME::SALOME_Exception)

CORBA: Returns references for group i within the mesh.

Definition at line 696 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  MESSAGE(" Pas d implementation des groupes dans SMESH");
  THROW_SALOME_CORBA_EXCEPTION("No group implementation", SALOME::BAD_PARAM);
}
SALOME_MED::Group_array * SMESH_MEDMesh_i::getGroups ( SALOME_MED::medEntityMesh  entity) throw (SALOME::SALOME_Exception)

CORBA: Returns references for groups within the mesh.

Definition at line 681 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  MESSAGE(" Pas d implementation des groupes dans SMESH");
  THROW_SALOME_CORBA_EXCEPTION("No group implementation", SALOME::BAD_PARAM);
}
CORBA::Boolean SMESH_MEDMesh_i::getIsAGrid ( ) throw (SALOME::SALOME_Exception)

CORBA: Accessor for the boolean _isAGrid.

Definition at line 184 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("!!!!!! NOT YET IMPLEMENTED !!!!!!");

  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);

  return false;
}
SALOME_MED::FIELD_ptr SMESH_MEDMesh_i::getLength ( SALOME_MED::SUPPORT_ptr  mySupport) throw (SALOME::SALOME_Exception)

CORBA:

Definition at line 799 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("Pas Implemente dans SMESH");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
  return 0;
}
CORBA::Long SMESH_MEDMesh_i::getMeshDimension ( ) throw (SALOME::SALOME_Exception)

CORBA: Accessor for Mesh Dimension.

Definition at line 168 of file SMESH_MEDMesh_i.cxx.

References _mesh_i.

{
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  // PN : Il semblerait que la dimension soit fixee a 3
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  return 3;
}
SALOME_MED::GMESH::meshInfos * SMESH_MEDMesh_i::getMeshGlobal ( ) throw (SALOME::SALOME_Exception)

Gives informations of the considered mesh.

Definition at line 1180 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");

  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);

  return NULL;
}
char * SMESH_MEDMesh_i::getName ( ) throw (SALOME::SALOME_Exception)

CORBA: Accessor for Name.

Definition at line 112 of file SMESH_MEDMesh_i.cxx.

References _mesh_i, _meshDS, SMESH_Gen_i.GetCurrentStudy(), SMESH_Gen_i.GetSMESHGen(), MESSAGE, ex21_lamp.name, and SMESH_Gen_i.ObjectToSObject().

{
  if (_meshDS == NULL)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);

  try
  {
    SMESH_Gen_i*             gen = SMESH_Gen_i::GetSMESHGen();
    SALOMEDS::Study_var    study = gen->GetCurrentStudy();
    SALOMEDS::SObject_var meshSO = gen->ObjectToSObject( study, _mesh_i->_this());
    if ( meshSO->_is_nil() )
      return CORBA::string_dup("toto");

    CORBA::String_var name = meshSO->GetName();
    return CORBA::string_dup( name.in() );
  }
  catch(...)
  {
    MESSAGE("Exception en accedant au nom");
    THROW_SALOME_CORBA_EXCEPTION("Unable to acces Mesh C++ Object",
                                 SALOME::INTERNAL_ERROR);
  }
  return 0;
}
SALOME_MED::FIELD_ptr SMESH_MEDMesh_i::getNeighbourhood ( SALOME_MED::SUPPORT_ptr  mySupport) throw (SALOME::SALOME_Exception)

CORBA:

Definition at line 838 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("Non Implemente");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
  return 0;
}
SALOME_MED::FIELD_ptr SMESH_MEDMesh_i::getNormal ( SALOME_MED::SUPPORT_ptr  mySupport) throw (SALOME::SALOME_Exception)

CORBA:

Definition at line 812 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("Pas Implemente dans SMESH");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
  return 0;
}
CORBA::Long SMESH_MEDMesh_i::getNumberOfElements ( SALOME_MED::medEntityMesh  entity,
SALOME_MED::medGeometryElement  geomElement 
) throw (SALOME::SALOME_Exception)

CORBA: Returns number of elements of type medGeometryElement Not implemented for MED_ALL_ELEMENTS implemented for MED_ALL_ENTITIES.

Dans cette implementation, il n est pas prevu de tenir compte du entity qui ne doit pas pouvoir avoir deux valeurs differentes pour un geomElement

Definition at line 475 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  if (geomElement == SALOME_MED::MED_ALL_ELEMENTS)
    THROW_SALOME_CORBA_EXCEPTION("Not implemented for MED_ALL_ELEMENTS",
                                 SALOME::BAD_PARAM);
  if (!_compte)
    calculeNbElts();

  try
  {
    int retour = 0;
    if (_mapIndToSeqElts.find(geomElement) != _mapIndToSeqElts.end())
    {
      int index = _mapIndToSeqElts[geomElement];

      retour = _seq_elemId[index]->length();
    }
    return retour;
  }
  catch(...)
  {
    MESSAGE("Exception en accedant au nombre d élements");
    THROW_SALOME_CORBA_EXCEPTION("Unable to acces Mesh C++ Object",
                                 SALOME::INTERNAL_ERROR);
  }
}
CORBA::Long SMESH_MEDMesh_i::getNumberOfFamilies ( SALOME_MED::medEntityMesh  entity) throw (SALOME::SALOME_Exception)

CORBA: Returns number of families within the mesh.

Definition at line 605 of file SMESH_MEDMesh_i.cxx.

{
  if (_creeFamily == false)
    createFamilies();
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  return _families.size();
}
CORBA::Long SMESH_MEDMesh_i::getNumberOfGroups ( SALOME_MED::medEntityMesh  entity) throw (SALOME::SALOME_Exception)

CORBA: Returns number of groups within the mesh.

Definition at line 621 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  MESSAGE(" Pas d implementation des groupes dans SMESH");
  return 0;
}
CORBA::Long SMESH_MEDMesh_i::getNumberOfNodes ( ) throw (SALOME::SALOME_Exception)

CORBA: Accessor for Number of Nodes.

Definition at line 369 of file SMESH_MEDMesh_i.cxx.

References _mesh_i, _meshDS, MESSAGE, and SMDS_Mesh.NbNodes().

{
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  try
  {
    return _meshDS->NbNodes();
  }
  catch(...)
  {
    MESSAGE("Exception en accedant au nombre de noeuds");
    THROW_SALOME_CORBA_EXCEPTION("Unable to acces Mesh C++ Object",
                                 SALOME::INTERNAL_ERROR);
  }
}
CORBA::Long SMESH_MEDMesh_i::getNumberOfTypes ( SALOME_MED::medEntityMesh  entity) throw (SALOME::SALOME_Exception)

CORBA: Accessor for number of Types.

Definition at line 391 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  try
  {
    if (!_compte)
      calculeNbElts();
    int retour = 0;
    if (_mapNbTypes.find(entity) != _mapNbTypes.end())
      retour = _mapNbTypes[entity];
    return retour;
  }
  catch(...)
  {
    MESSAGE("Exception en accedant au nombre de Types");
    THROW_SALOME_CORBA_EXCEPTION("Unable to acces Mesh C++ Object",
                                 SALOME::INTERNAL_ERROR);
  }
}
SALOME_TYPES::ListOfLong * SMESH_MEDMesh_i::getReverseConnectivity ( SALOME_MED::medConnectivity  mode) throw (SALOME::SALOME_Exception)

CORBA: Accessor for Ascendant connectivities not implemented for MED_ALL_ENTITIES and MED_MAILLE.

Definition at line 578 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("Pas Implemente dans SMESH");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
  return 0;
}
SALOME_TYPES::ListOfLong * SMESH_MEDMesh_i::getReverseConnectivityIndex ( SALOME_MED::medConnectivity  mode) throw (SALOME::SALOME_Exception)

CORBA: Accessor for connectivities.

Definition at line 592 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("Pas Implemente dans SMESH");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
  return 0;
}
SALOME::SenderInt_ptr SMESH_MEDMesh_i.getSenderForConnectivity ( SALOME_MED::medConnectivity  ,
SALOME_MED::medEntityMesh  ,
SALOME_MED::medGeometryElement   
)

Definition at line 85 of file SMESH_MEDMesh_i.hxx.

  {
    return SALOME::SenderInt::_nil();
  }  
SALOME::SenderInt_ptr SMESH_MEDMesh_i.getSenderForConnectivityIndex ( SALOME_MED::medConnectivity  ,
SALOME_MED::medEntityMesh  ,
SALOME_MED::medGeometryElement   
)

Definition at line 91 of file SMESH_MEDMesh_i.hxx.

  {
    return SALOME::SenderInt::_nil();
  }  
SALOME::SenderDouble_ptr SMESH_MEDMesh_i.getSenderForCoordinates ( SALOME_MED::medModeSwitch  )

Definition at line 84 of file SMESH_MEDMesh_i.hxx.

{return SALOME::SenderDouble::_nil();}
SALOME::SenderInt_ptr SMESH_MEDMesh_i.getSenderForPolygonsConnectivity ( SALOME_MED::medConnectivity  ,
SALOME_MED::medEntityMesh   
)

Definition at line 97 of file SMESH_MEDMesh_i.hxx.

{return SALOME::SenderInt::_nil();}
SALOME::SenderInt_ptr SMESH_MEDMesh_i.getSenderForPolygonsConnectivityIndex ( SALOME_MED::medConnectivity  ,
SALOME_MED::medEntityMesh   
)

Definition at line 98 of file SMESH_MEDMesh_i.hxx.

{return SALOME::SenderInt::_nil();}
SALOME::SenderInt_ptr SMESH_MEDMesh_i.getSenderForPolyhedronConnectivity ( SALOME_MED::medConnectivity  )

Definition at line 99 of file SMESH_MEDMesh_i.hxx.

{return SALOME::SenderInt::_nil();}
SALOME::SenderInt_ptr SMESH_MEDMesh_i.getSenderForPolyhedronFacesIndex ( )

Definition at line 101 of file SMESH_MEDMesh_i.hxx.

{return SALOME::SenderInt::_nil();}
SALOME::SenderInt_ptr SMESH_MEDMesh_i.getSenderForPolyhedronIndex ( SALOME_MED::medConnectivity  )

Definition at line 100 of file SMESH_MEDMesh_i.hxx.

{return SALOME::SenderInt::_nil();}
SALOME_MED::SUPPORT_ptr SMESH_MEDMesh_i::getSkin ( SALOME_MED::SUPPORT_ptr  mySupport3D) throw (SALOME::SALOME_Exception)

CORBA: Returns references for the support of the skin of the support mySupport3D.

Definition at line 759 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");

  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);

  return NULL;
}
CORBA::Long SMESH_MEDMesh_i::getSpaceDimension ( ) throw (SALOME::SALOME_Exception)

CORBA: Accessor for Space Dimension.

Definition at line 154 of file SMESH_MEDMesh_i.cxx.

References _mesh_i.

{
  // PN : Il semblerait que la dimension soit fixee a 3
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  return 3;
}
SALOME_MED::SUPPORT_ptr SMESH_MEDMesh_i::getSupportOnAll ( SALOME_MED::medEntityMesh  entity) throw (SALOME::SALOME_Exception)

CORBA: Method return a reference on a support define on all the element of an entity.

Definition at line 743 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");

  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);

  return NULL;
}
SALOME_MED::medGeometryElement_array * SMESH_MEDMesh_i::getTypes ( SALOME_MED::medEntityMesh  entity) throw (SALOME:: SALOME_Exception)

CORBA: Accessor for existing geometry element types Not implemented for MED_ALL_ENTITIES.

Definition at line 421 of file SMESH_MEDMesh_i.cxx.

References MESSAGE, and ex21_lamp.size.

{
  if (_mesh_i == 0)
    THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
                                 SALOME::INTERNAL_ERROR);
  if (entity == SALOME_MED::MED_ALL_ENTITIES)
    THROW_SALOME_CORBA_EXCEPTION("Not implemented for MED_ALL_ENTITIES",
                                 SALOME::BAD_PARAM);
  if (!_compte)
    calculeNbElts();
  SALOME_MED::medGeometryElement_array_var myseq =
    new SALOME_MED::medGeometryElement_array;
  try
  {
    if (_mapNbTypes.find(entity) == _mapNbTypes.end())
      THROW_SALOME_CORBA_EXCEPTION("No Such Entity in the mesh",
                                   SALOME::BAD_PARAM);
    int nbTypes = _mapNbTypes[entity];

    myseq->length(nbTypes);

    if (_mapIndToVectTypes.find(entity) == _mapIndToVectTypes.end())
      THROW_SALOME_CORBA_EXCEPTION("No Such Entity in the mesh",
                                   SALOME::INTERNAL_ERROR);

    int index = _mapIndToVectTypes[entity];
    ASSERT(_TypesId[index].size() != 0);
    int i = 0;
    vector < SALOME_MED::medGeometryElement >::iterator it;
    for (it = _TypesId[index].begin(); it != _TypesId[index].end(); it++)
    {
      myseq[i++] = *it;
    };
  }
  catch(...)
  {
    MESSAGE("Exception en accedant aux differents types");
    THROW_SALOME_CORBA_EXCEPTION("Unable to acces Mesh C++ Object",
                                 SALOME::INTERNAL_ERROR);
  }
  return myseq._retn();
}
SALOME_MED::FIELD_ptr SMESH_MEDMesh_i::getVolume ( SALOME_MED::SUPPORT_ptr  mySupport) throw (SALOME::SALOME_Exception)

CORBA:

Definition at line 773 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("Pas Implemente dans SMESH");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
  return 0;
}
void SMESH_MEDMesh_i::read ( CORBA::Long  i) throw (SALOME::SALOME_Exception)

CORBA: read mesh in a med file.

Definition at line 923 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("Non Implemente");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
}
void SMESH_MEDMesh_i.release ( )

Definition at line 83 of file SMESH_MEDMesh_i.hxx.

{}
void SMESH_MEDMesh_i::rmDriver ( CORBA::Long  i) throw (SALOME::SALOME_Exception)

CORBA : release driver.

Definition at line 934 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("Non Implemente");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
}
void SMESH_MEDMesh_i.setProtocol ( SALOME::TypeOfCommunication  typ)

Definition at line 82 of file SMESH_MEDMesh_i.hxx.

{}
void SMESH_MEDMesh_i::write ( CORBA::Long  i,
const char *  driverMeshName 
) throw (SALOME::SALOME_Exception)

CORBA: write mesh in a med file.

Definition at line 911 of file SMESH_MEDMesh_i.cxx.

References MESSAGE.

{
  MESSAGE("Non Implemente");
  THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
}

Field Documentation

Definition at line 59 of file SMESH_MEDMesh_i.hxx.

Referenced by calculeNbElts().

Definition at line 60 of file SMESH_MEDMesh_i.hxx.

Referenced by createFamilies().

Definition at line 63 of file SMESH_MEDMesh_i.hxx.

std::vector< SALOME_MED::FAMILY_ptr > SMESH_MEDMesh_i._families [protected]

Definition at line 73 of file SMESH_MEDMesh_i.hxx.

Referenced by createFamilies().

Definition at line 61 of file SMESH_MEDMesh_i.hxx.

Referenced by calculeNbElts().

Definition at line 62 of file SMESH_MEDMesh_i.hxx.

Referenced by calculeNbElts().

std::map< SALOME_MED::medGeometryElement, int > SMESH_MEDMesh_i._mapIndToSeqElts [protected]

Definition at line 65 of file SMESH_MEDMesh_i.hxx.

Referenced by calculeNbElts().

std::map< SALOME_MED::medEntityMesh, int > SMESH_MEDMesh_i._mapIndToVectTypes [protected]

Definition at line 69 of file SMESH_MEDMesh_i.hxx.

Referenced by calculeNbElts().

std::map< SALOME_MED::medEntityMesh, int > SMESH_MEDMesh_i._mapNbTypes [protected]

Definition at line 68 of file SMESH_MEDMesh_i.hxx.

Referenced by calculeNbElts().

Definition at line 56 of file SMESH_MEDMesh_i.hxx.

Referenced by calculeNbElts(), getName(), and getNumberOfNodes().

std::string SMESH_MEDMesh_i._meshId [protected]

Definition at line 58 of file SMESH_MEDMesh_i.hxx.

SALOME_TYPES::ListOfLong_var SMESH_MEDMesh_i._seq_elemId[15] [protected]

Definition at line 66 of file SMESH_MEDMesh_i.hxx.

Referenced by calculeNbElts().

std::vector< SALOME_MED::medGeometryElement > SMESH_MEDMesh_i._TypesId[15] [protected]

Definition at line 71 of file SMESH_MEDMesh_i.hxx.

Referenced by calculeNbElts().

Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS