2003-07-10 19:35:03 +06:00
|
|
|
// SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
|
|
|
|
//
|
|
|
|
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
|
|
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
|
|
|
//
|
|
|
|
// This library is free software; you can redistribute it and/or
|
|
|
|
// modify it under the terms of the GNU Lesser General Public
|
|
|
|
// License as published by the Free Software Foundation; either
|
|
|
|
// version 2.1 of the License.
|
|
|
|
//
|
|
|
|
// This library is distributed in the hope that it will be useful,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
// Lesser General Public License for more details.
|
|
|
|
//
|
|
|
|
// You should have received a copy of the GNU Lesser General Public
|
|
|
|
// License along with this library; if not, write to the Free Software
|
|
|
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
//
|
2006-06-01 17:39:17 +06:00
|
|
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
2003-07-10 19:35:03 +06:00
|
|
|
//
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// File : SMESH_MEDMesh_i.cxx
|
|
|
|
// Module : SMESH
|
2003-05-19 19:54:48 +06:00
|
|
|
|
|
|
|
#include "SMESH_MEDMesh_i.hxx"
|
|
|
|
#include "SMESH_Mesh_i.hxx"
|
|
|
|
|
|
|
|
#include "SMESHDS_Mesh.hxx"
|
|
|
|
#include "SMESHDS_SubMesh.hxx"
|
|
|
|
|
|
|
|
#include <TopExp.hxx>
|
|
|
|
#include <TopExp_Explorer.hxx>
|
|
|
|
#include <TopoDS.hxx>
|
|
|
|
#include <TopoDS_Iterator.hxx>
|
|
|
|
#include <TopoDS_Compound.hxx>
|
|
|
|
#include <TopoDS_CompSolid.hxx>
|
|
|
|
#include <TopoDS_Solid.hxx>
|
|
|
|
#include <TopoDS_Shell.hxx>
|
|
|
|
#include <TopoDS_Face.hxx>
|
|
|
|
#include <TopoDS_Wire.hxx>
|
|
|
|
#include <TopoDS_Edge.hxx>
|
|
|
|
#include <TopoDS_Vertex.hxx>
|
|
|
|
#include <TopoDS_Shape.hxx>
|
|
|
|
#include <TopTools_MapOfShape.hxx>
|
|
|
|
|
|
|
|
#include "utilities.h"
|
|
|
|
#include "Utils_CorbaException.hxx"
|
|
|
|
|
|
|
|
#include "SMESH_MEDSupport_i.hxx"
|
|
|
|
#include "SMESH_MEDFamily_i.hxx"
|
|
|
|
|
|
|
|
# include "Utils_ORB_INIT.hxx"
|
|
|
|
# include "Utils_SINGLETON.hxx"
|
2004-06-18 14:34:31 +06:00
|
|
|
# include "Utils_ExceptHandlers.hxx"
|
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
extern "C"
|
|
|
|
{
|
|
|
|
#include <stdio.h>
|
|
|
|
}
|
|
|
|
|
2004-12-01 15:48:31 +05:00
|
|
|
using namespace std;
|
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* Default constructor
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
|
|
|
// PN Est-ce un const ?
|
|
|
|
SMESH_MEDMesh_i::SMESH_MEDMesh_i()
|
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
BEGIN_OF("Default Constructor SMESH_MEDMesh_i");
|
|
|
|
END_OF("Default Constructor SMESH_MEDMesh_i");
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* Destructor
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
|
|
|
SMESH_MEDMesh_i::~SMESH_MEDMesh_i()
|
|
|
|
{
|
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* Constructor
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
SMESH_MEDMesh_i::SMESH_MEDMesh_i(::SMESH_Mesh_i * m_i):_meshId(""),
|
2003-12-08 20:43:20 +05:00
|
|
|
_compte(false),
|
|
|
|
_creeFamily(false),
|
|
|
|
_famIdent(0),
|
|
|
|
_indexElts(0),
|
|
|
|
_indexEnts(0)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-12-08 20:43:20 +05:00
|
|
|
BEGIN_OF("Constructor SMESH_MEDMesh_i");
|
|
|
|
|
2003-09-04 16:41:22 +06:00
|
|
|
_mesh_i = m_i;
|
|
|
|
_meshDS = _mesh_i->GetImpl().GetMeshDS();
|
2003-05-19 19:54:48 +06:00
|
|
|
|
2003-09-04 16:41:22 +06:00
|
|
|
END_OF("Constructor SMESH_MEDMesh_i");
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
|
|
|
|
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for Name
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
char *SMESH_MEDMesh_i::getName() throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
if (_meshDS == NULL)
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
|
|
|
|
SALOME::INTERNAL_ERROR);
|
|
|
|
|
|
|
|
try
|
|
|
|
{
|
|
|
|
// A COMPLETER PAR LE NOM DU MAILLAGE
|
|
|
|
//return CORBA::string_dup(_mesh_i->getName().c_str());
|
|
|
|
return CORBA::string_dup("toto");
|
|
|
|
}
|
|
|
|
catch(...)
|
|
|
|
{
|
|
|
|
MESSAGE("Exception en accedant au nom");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unable to acces Mesh C++ Object",
|
|
|
|
SALOME::INTERNAL_ERROR);
|
|
|
|
}
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for corbaindex cuisine interne
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
CORBA::Long SMESH_MEDMesh_i::getCorbaIndex()throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
MESSAGE("Non Implemente");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for Space Dimension
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
CORBA::Long SMESH_MEDMesh_i::getSpaceDimension()throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
// 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;
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for Mesh Dimension
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
CORBA::Long SMESH_MEDMesh_i::getMeshDimension()throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
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;
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-11-18 14:19:32 +05:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for the boolean _isAGrid
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
|
|
|
CORBA::Boolean SMESH_MEDMesh_i::getIsAGrid() throw (SALOME::SALOME_Exception)
|
|
|
|
{
|
|
|
|
MESSAGE("!!!!!! NOT YET IMPLEMENTED !!!!!!");
|
|
|
|
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for the connectivities, to see if they exist
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
|
|
|
CORBA::Boolean
|
|
|
|
SMESH_MEDMesh_i::existConnectivity(SALOME_MED::medConnectivity connectivityType,
|
|
|
|
SALOME_MED::medEntityMesh entity)
|
|
|
|
throw (SALOME::SALOME_Exception)
|
|
|
|
{
|
|
|
|
MESSAGE("!!!!!! IMPLEMENTED BUT ONLY PARTIALLY !!!!!!");
|
|
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for Coordinate
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
|
|
|
CORBA::Double SMESH_MEDMesh_i::getCoordinate(CORBA::Long Number, CORBA::Long Axis)
|
|
|
|
throw (SALOME::SALOME_Exception)
|
|
|
|
{
|
|
|
|
MESSAGE("!!!!!! NOT YET IMPLEMENTED !!!!");
|
|
|
|
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-11-18 14:19:32 +05:00
|
|
|
return 0.0;
|
|
|
|
}
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for Coordinates System
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-11-18 14:19:32 +05:00
|
|
|
char *SMESH_MEDMesh_i::getCoordinatesSystem() throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
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);
|
|
|
|
}
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for Coordinates
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-11-18 14:19:32 +05:00
|
|
|
SALOME_MED::double_array * SMESH_MEDMesh_i::getCoordinates(
|
2003-09-04 16:41:22 +06:00
|
|
|
SALOME_MED::medModeSwitch typeSwitch) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
if (_mesh_i == 0)
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
|
|
|
|
SALOME::INTERNAL_ERROR);
|
2003-11-18 14:19:32 +05:00
|
|
|
SALOME_MED::double_array_var myseq = new SALOME_MED::double_array;
|
2003-09-04 16:41:22 +06:00
|
|
|
try
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
// PN : En dur
|
|
|
|
int spaceDimension = 3;
|
|
|
|
int nbNodes = _meshDS->NbNodes();
|
|
|
|
SCRUTE(nbNodes);
|
|
|
|
myseq->length(nbNodes * spaceDimension);
|
|
|
|
int i = 0;
|
2003-05-19 19:54:48 +06:00
|
|
|
|
2004-06-18 14:34:31 +06:00
|
|
|
SMDS_NodeIteratorPtr itNodes=_meshDS->nodesIterator();
|
2003-09-04 16:41:22 +06:00
|
|
|
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);
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
return myseq._retn();
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for Coordinates Names
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-11-18 14:19:32 +05:00
|
|
|
SALOME_MED::string_array *
|
2003-09-04 16:41:22 +06:00
|
|
|
SMESH_MEDMesh_i::getCoordinatesNames()throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
if (_mesh_i == 0)
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
|
|
|
|
SALOME::INTERNAL_ERROR);
|
2003-11-18 14:19:32 +05:00
|
|
|
SALOME_MED::string_array_var myseq = new SALOME_MED::string_array;
|
2003-09-04 16:41:22 +06:00
|
|
|
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();
|
2003-05-19 19:54:48 +06:00
|
|
|
|
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for Coordinates Units
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-11-18 14:19:32 +05:00
|
|
|
SALOME_MED::string_array *
|
2003-09-04 16:41:22 +06:00
|
|
|
SMESH_MEDMesh_i::getCoordinatesUnits()throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
if (_mesh_i == 0)
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
|
|
|
|
SALOME::INTERNAL_ERROR);
|
2003-11-18 14:19:32 +05:00
|
|
|
SALOME_MED::string_array_var myseq = new SALOME_MED::string_array;
|
2003-09-04 16:41:22 +06:00
|
|
|
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();
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for Number of Nodes
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
CORBA::Long SMESH_MEDMesh_i::getNumberOfNodes()throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
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);
|
|
|
|
}
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for number of Types
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
CORBA::Long SMESH_MEDMesh_i::getNumberOfTypes(SALOME_MED::medEntityMesh entity)
|
|
|
|
throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
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);
|
|
|
|
}
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
|
|
|
|
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for existing geometry element types
|
|
|
|
* Not implemented for MED_ALL_ENTITIES
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
SALOME_MED::medGeometryElement_array *
|
|
|
|
SMESH_MEDMesh_i::getTypes(SALOME_MED::medEntityMesh entity) throw(SALOME::
|
|
|
|
SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
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
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
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();
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* 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
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
CORBA::Long SMESH_MEDMesh_i::getNumberOfElements(SALOME_MED::
|
|
|
|
medEntityMesh entity,
|
|
|
|
SALOME_MED::medGeometryElement geomElement) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
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];
|
2003-12-08 20:43:20 +05:00
|
|
|
|
2003-09-04 16:41:22 +06:00
|
|
|
retour = _seq_elemId[index]->length();
|
|
|
|
}
|
|
|
|
return retour;
|
|
|
|
}
|
|
|
|
catch(...)
|
|
|
|
{
|
2003-12-08 20:43:20 +05:00
|
|
|
MESSAGE("Exception en accedant au nombre d élements");
|
2003-09-04 16:41:22 +06:00
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unable to acces Mesh C++ Object",
|
|
|
|
SALOME::INTERNAL_ERROR);
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for connectivities
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-11-18 14:19:32 +05:00
|
|
|
SALOME_MED::long_array *
|
|
|
|
SMESH_MEDMesh_i::getConnectivity(SALOME_MED::medModeSwitch typeSwitch,
|
|
|
|
SALOME_MED::medConnectivity mode,
|
|
|
|
SALOME_MED::medEntityMesh entity,
|
|
|
|
SALOME_MED::medGeometryElement geomElement)
|
|
|
|
throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
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];
|
2003-12-08 20:43:20 +05:00
|
|
|
|
2003-09-04 16:41:22 +06:00
|
|
|
return _seq_elemId[index]._retn();
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for connectivities
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-11-18 14:19:32 +05:00
|
|
|
SALOME_MED::long_array *
|
|
|
|
SMESH_MEDMesh_i::getConnectivityIndex(SALOME_MED::medConnectivity mode,
|
|
|
|
SALOME_MED::medEntityMesh entity)
|
|
|
|
throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
MESSAGE("Pas Implemente dans SMESH");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
return 0;
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Find an element corresponding to the given connectivity
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-11-18 14:19:32 +05:00
|
|
|
CORBA::Long
|
|
|
|
SMESH_MEDMesh_i::getElementNumber(SALOME_MED::medConnectivity mode,
|
|
|
|
SALOME_MED::medEntityMesh entity,
|
|
|
|
SALOME_MED::medGeometryElement type,
|
|
|
|
const SALOME_MED::long_array & connectivity)
|
|
|
|
throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
const char *LOC = "getElementNumber ";
|
|
|
|
MESSAGE(LOC << "Pas Implemente dans SMESH");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
return -1;
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for Ascendant connectivities
|
|
|
|
* not implemented for MED_ALL_ENTITIES and MED_MAILLE
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-11-18 14:19:32 +05:00
|
|
|
SALOME_MED::long_array *
|
2003-09-04 16:41:22 +06:00
|
|
|
SMESH_MEDMesh_i::getReverseConnectivity(SALOME_MED::
|
|
|
|
medConnectivity mode) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
MESSAGE("Pas Implemente dans SMESH");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
return 0;
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Accessor for connectivities
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-11-18 14:19:32 +05:00
|
|
|
SALOME_MED::long_array *
|
2003-09-04 16:41:22 +06:00
|
|
|
SMESH_MEDMesh_i::getReverseConnectivityIndex(SALOME_MED::
|
|
|
|
medConnectivity mode) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
MESSAGE("Pas Implemente dans SMESH");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
return 0;
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Returns number of families within the mesh
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
CORBA::Long SMESH_MEDMesh_i::getNumberOfFamilies(SALOME_MED::
|
|
|
|
medEntityMesh entity) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
if (_creeFamily == false)
|
|
|
|
createFamilies();
|
|
|
|
if (_mesh_i == 0)
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
|
|
|
|
SALOME::INTERNAL_ERROR);
|
|
|
|
return _families.size();
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Returns number of groups within the mesh
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
CORBA::Long SMESH_MEDMesh_i::getNumberOfGroups(SALOME_MED::medEntityMesh entity)
|
|
|
|
throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
if (_mesh_i == 0)
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("No associated Mesh",
|
|
|
|
SALOME::INTERNAL_ERROR);
|
|
|
|
MESSAGE(" Pas d implementation des groupes dans SMESH");
|
|
|
|
return 0;
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Returns references for families within the mesh
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
SALOME_MED::Family_array *
|
|
|
|
SMESH_MEDMesh_i::getFamilies(SALOME_MED::
|
|
|
|
medEntityMesh entity) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
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();
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Returns references for family i within the mesh
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
SALOME_MED::FAMILY_ptr SMESH_MEDMesh_i::getFamily(SALOME_MED::
|
|
|
|
medEntityMesh entity, CORBA::Long i) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
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];
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Returns references for groups within the mesh
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
SALOME_MED::Group_array *
|
|
|
|
SMESH_MEDMesh_i::getGroups(SALOME_MED::medEntityMesh entity) throw(SALOME::
|
|
|
|
SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
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);
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Returns references for group i within the mesh
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
SALOME_MED::GROUP_ptr SMESH_MEDMesh_i::getGroup(SALOME_MED::
|
|
|
|
medEntityMesh entity, CORBA::Long i) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
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);
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-11-18 14:19:32 +05:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Returns references for the global numbering index
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
|
|
|
SALOME_MED::long_array*
|
|
|
|
SMESH_MEDMesh_i::getGlobalNumberingIndex(SALOME_MED::medEntityMesh entity)
|
|
|
|
throw (SALOME::SALOME_Exception)
|
|
|
|
{
|
|
|
|
MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");
|
|
|
|
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Returns references for the support of boundary elements of type
|
|
|
|
* entity
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
|
|
|
SALOME_MED::SUPPORT_ptr
|
|
|
|
SMESH_MEDMesh_i::getBoundaryElements(SALOME_MED::medEntityMesh entity)
|
|
|
|
throw (SALOME::SALOME_Exception)
|
|
|
|
{
|
|
|
|
MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");
|
|
|
|
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: Returns references for the support of the skin of the support
|
|
|
|
* mySupport3D
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
|
|
|
SALOME_MED::SUPPORT_ptr
|
|
|
|
SMESH_MEDMesh_i::getSkin(SALOME_MED::SUPPORT_ptr mySupport3D)
|
|
|
|
throw (SALOME::SALOME_Exception)
|
|
|
|
{
|
|
|
|
MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");
|
|
|
|
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-11-18 14:19:32 +05:00
|
|
|
return NULL;
|
|
|
|
}
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA:
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
SALOME_MED::FIELD_ptr SMESH_MEDMesh_i::getVolume(SALOME_MED::
|
|
|
|
SUPPORT_ptr mySupport) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
MESSAGE("Pas Implemente dans SMESH");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
return 0;
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA:
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
SALOME_MED::FIELD_ptr SMESH_MEDMesh_i::getArea(SALOME_MED::
|
|
|
|
SUPPORT_ptr mySupport) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
MESSAGE("Pas Implemente dans SMESH");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
return 0;
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA:
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
SALOME_MED::FIELD_ptr SMESH_MEDMesh_i::getLength(SALOME_MED::
|
|
|
|
SUPPORT_ptr mySupport) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
MESSAGE("Pas Implemente dans SMESH");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
return 0;
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA:
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
SALOME_MED::FIELD_ptr SMESH_MEDMesh_i::getNormal(SALOME_MED::
|
|
|
|
SUPPORT_ptr mySupport) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
MESSAGE("Pas Implemente dans SMESH");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
return 0;
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA:
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
SALOME_MED::FIELD_ptr SMESH_MEDMesh_i::getBarycenter(SALOME_MED::
|
|
|
|
SUPPORT_ptr mySupport) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
MESSAGE("Pas Implemente dans SMESH");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
return 0;
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA:
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
SALOME_MED::FIELD_ptr SMESH_MEDMesh_i::getNeighbourhood(SALOME_MED::
|
|
|
|
SUPPORT_ptr mySupport) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
MESSAGE("Non Implemente");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
return 0;
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: add the Mesh in the StudyManager
|
|
|
|
* PN Pas Implemente
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
|
|
|
void SMESH_MEDMesh_i::addInStudy(SALOMEDS::Study_ptr myStudy,
|
2003-09-04 16:41:22 +06:00
|
|
|
SALOME_MED::MESH_ptr myIor) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
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);
|
|
|
|
* string iorStr = orb->object_to_string(myIor);
|
|
|
|
* //myBuilder->AddAttribute(newObj,SALOMEDS::IOR,iorStr.c_str());
|
|
|
|
* 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)");
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: write mesh in a med file
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
void SMESH_MEDMesh_i::write(CORBA::Long i, const char *driverMeshName)
|
|
|
|
throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
MESSAGE("Non Implemente");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA: read mesh in a med file
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
void SMESH_MEDMesh_i::read(CORBA::Long i) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
MESSAGE("Non Implemente");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA : release driver
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
void SMESH_MEDMesh_i::rmDriver(CORBA::Long i) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
MESSAGE("Non Implemente");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* CORBA : attach driver
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
CORBA::Long SMESH_MEDMesh_i::addDriver(SALOME_MED::medDriverTypes driverType,
|
|
|
|
const char *fileName, const char *meshName) throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
MESSAGE("Non Implemente");
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
return 0;
|
2003-05-19 19:54:48 +06:00
|
|
|
}
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* Calcule le Nb d'elements par entite geometrique
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
void SMESH_MEDMesh_i::calculeNbElts() throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
if (!_compte)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2003-09-04 16:41:22 +06:00
|
|
|
_compte = true;
|
2003-05-19 19:54:48 +06:00
|
|
|
|
2003-09-04 16:41:22 +06:00
|
|
|
_mapNbTypes[SALOME_MED::MED_NODE] = 1;
|
|
|
|
// On compte les aretes MED_SEG2 ou MED_SEG3
|
|
|
|
// On range les elements dans les vecteurs correspondants
|
2003-05-19 19:54:48 +06:00
|
|
|
|
2003-09-04 16:41:22 +06:00
|
|
|
_mapIndToSeqElts[SALOME_MED::MED_SEG2] = _indexElts++;
|
|
|
|
_mapIndToSeqElts[SALOME_MED::MED_SEG3] = _indexElts++;
|
|
|
|
_mapIndToVectTypes[SALOME_MED::MED_EDGE] = _indexEnts++;
|
2003-05-19 19:54:48 +06:00
|
|
|
|
2003-09-04 16:41:22 +06:00
|
|
|
int trouveSeg2 = 0;
|
|
|
|
int trouveSeg3 = 0;
|
|
|
|
SALOME_MED::medGeometryElement medElement;
|
2003-05-19 19:54:48 +06:00
|
|
|
|
2004-06-18 14:34:31 +06:00
|
|
|
SMDS_EdgeIteratorPtr itEdges=_meshDS->edgesIterator();
|
2003-09-04 16:41:22 +06:00
|
|
|
while(itEdges->more())
|
|
|
|
{
|
|
|
|
const SMDS_MeshEdge* elem = itEdges->next();
|
|
|
|
int nb_of_nodes = elem->NbNodes();
|
2003-05-19 19:54:48 +06:00
|
|
|
|
2003-09-04 16:41:22 +06:00
|
|
|
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
|
2003-12-08 20:43:20 +05:00
|
|
|
|
2003-09-04 16:41:22 +06:00
|
|
|
int longueur = _seq_elemId[index]->length();
|
|
|
|
_seq_elemId[index]->length(longueur + nb_of_nodes);
|
2003-05-19 19:54:48 +06:00
|
|
|
|
2004-06-18 14:34:31 +06:00
|
|
|
SMDS_NodeIteratorPtr itn=_meshDS->nodesIterator();
|
2003-05-19 19:54:48 +06:00
|
|
|
|
2003-09-04 16:41:22 +06:00
|
|
|
for(int k=0; itn->more(); k++)
|
|
|
|
_seq_elemId[index][longueur + k] = itn->next()->GetID()+1;
|
|
|
|
}
|
2003-05-19 19:54:48 +06:00
|
|
|
|
2003-09-04 16:41:22 +06:00
|
|
|
_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++;
|
|
|
|
|
2004-06-18 14:34:31 +06:00
|
|
|
SMDS_FaceIteratorPtr itFaces=_meshDS->facesIterator();
|
2003-09-04 16:41:22 +06:00
|
|
|
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
|
2003-12-08 20:43:20 +05:00
|
|
|
// Attention La numérotation des noeuds Med commence a 1
|
2003-09-04 16:41:22 +06:00
|
|
|
|
|
|
|
int longueur = _seq_elemId[index]->length();
|
|
|
|
_seq_elemId[index]->length(longueur + nb_of_nodes);
|
|
|
|
|
2004-06-18 14:34:31 +06:00
|
|
|
SMDS_NodeIteratorPtr itn=_meshDS->nodesIterator();
|
2003-09-04 16:41:22 +06:00
|
|
|
|
|
|
|
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;
|
|
|
|
|
2004-06-18 14:34:31 +06:00
|
|
|
SMDS_VolumeIteratorPtr itVolumes=_meshDS->volumesIterator();
|
2003-09-04 16:41:22 +06:00
|
|
|
while(itVolumes->more())
|
|
|
|
{
|
|
|
|
const SMDS_MeshVolume * elem = itVolumes->next();
|
|
|
|
|
|
|
|
int nb_of_nodes = elem->NbNodes();
|
|
|
|
medElement = SALOME_MED::MED_HEXA8;
|
2006-05-06 14:51:48 +06:00
|
|
|
ASSERT(nb_of_nodes == 8);
|
2003-09-04 16:41:22 +06:00
|
|
|
|
|
|
|
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);
|
|
|
|
|
2004-06-18 14:34:31 +06:00
|
|
|
SMDS_NodeIteratorPtr itn=_meshDS->nodesIterator();
|
2003-09-04 16:41:22 +06:00
|
|
|
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
|
2003-05-19 19:54:48 +06:00
|
|
|
};
|
2003-09-04 16:41:22 +06:00
|
|
|
|
2003-05-19 19:54:48 +06:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* Creation des familles
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
2003-09-04 16:41:22 +06:00
|
|
|
void SMESH_MEDMesh_i::createFamilies() throw(SALOME::SALOME_Exception)
|
2003-05-19 19:54:48 +06:00
|
|
|
{
|
2004-06-18 14:34:31 +06:00
|
|
|
Unexpect aCatch(SALOME_SalomeException);
|
2003-09-04 16:41:22 +06:00
|
|
|
string famDes = ("Je ne sais pas");
|
|
|
|
string famName0 = "Famille_";
|
|
|
|
string famName;
|
|
|
|
char numero[10];
|
|
|
|
|
|
|
|
if (_creeFamily == false)
|
|
|
|
{
|
|
|
|
_creeFamily = true;
|
2006-03-13 20:29:49 +05:00
|
|
|
//SMESH_subMesh_i *subMeshServant;
|
2003-09-04 16:41:22 +06:00
|
|
|
|
|
|
|
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;
|
2003-05-19 19:54:48 +06:00
|
|
|
|
2003-09-04 16:41:22 +06:00
|
|
|
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);
|
|
|
|
SALOME_MED::FAMILY_ptr famille =
|
|
|
|
SALOME_MED::FAMILY::_narrow(famservant->
|
|
|
|
POA_SALOME_MED::FAMILY::_this());
|
|
|
|
_families.push_back(famille);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
2003-11-18 14:19:32 +05:00
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* Gives informations of the considered mesh.
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
|
|
|
SALOME_MED::MESH::meshInfos * SMESH_MEDMesh_i::getMeshGlobal()
|
|
|
|
throw (SALOME::SALOME_Exception)
|
|
|
|
{
|
|
|
|
MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");
|
|
|
|
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* Gives informations on coordinates of the considered mesh.
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
|
|
|
SALOME_MED::MESH::coordinateInfos * SMESH_MEDMesh_i::getCoordGlobal()
|
|
|
|
throw (SALOME::SALOME_Exception)
|
|
|
|
{
|
|
|
|
MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");
|
|
|
|
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* Gives informations on connectivities of the considered mesh for the entity
|
|
|
|
* entity.
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
|
|
|
SALOME_MED::MESH::connectivityInfos *
|
|
|
|
SMESH_MEDMesh_i::getConnectGlobal(SALOME_MED::medEntityMesh entity)
|
|
|
|
throw (SALOME::SALOME_Exception)
|
|
|
|
{
|
|
|
|
MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");
|
|
|
|
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
//=============================================================================
|
|
|
|
/*!
|
|
|
|
* Gives the type of the element number of entity entity
|
|
|
|
*/
|
|
|
|
//=============================================================================
|
|
|
|
SALOME_MED::medGeometryElement
|
|
|
|
SMESH_MEDMesh_i::getElementType(SALOME_MED::medEntityMesh entity,
|
|
|
|
CORBA::Long number)
|
|
|
|
throw (SALOME::SALOME_Exception)
|
|
|
|
{
|
|
|
|
MESSAGE("!!!! NOT YET IMPLEMENTED !!!!!");
|
|
|
|
|
|
|
|
THROW_SALOME_CORBA_EXCEPTION("Unimplemented Method", SALOME::BAD_PARAM);
|
|
|
|
|
2003-12-08 20:43:20 +05:00
|
|
|
return (SALOME_MED::medGeometryElement) 0;
|
2003-11-18 14:19:32 +05:00
|
|
|
}
|