[SALOME platform 0013410]: SubMesh not taken into account with Netgen 1D-2D et 1D-2D-3D

+  /*!
+   * \brief Return an alternative parameter for a node on seam
+   */
+  double GetOtherParam(const double param) const;
This commit is contained in:
eap 2008-09-16 08:46:01 +00:00
parent 21cd6e11b8
commit 5b5ccb2c07
2 changed files with 31 additions and 15 deletions

View File

@ -318,7 +318,6 @@ gp_XY SMESH_MesherHelper::GetNodeUV(const TopoDS_Face& F,
int edgeID = Pos->GetShapeId(); int edgeID = Pos->GetShapeId();
TopoDS_Edge E = TopoDS::Edge(meshDS->IndexToShape(edgeID)); TopoDS_Edge E = TopoDS::Edge(meshDS->IndexToShape(edgeID));
double f, l; double f, l;
TopLoc_Location loc;
Handle(Geom2d_Curve) C2d = BRep_Tool::CurveOnSurface(E, F, f, l); Handle(Geom2d_Curve) C2d = BRep_Tool::CurveOnSurface(E, F, f, l);
uv = C2d->Value( epos->GetUParameter() ); uv = C2d->Value( epos->GetUParameter() );
// for a node on a seam edge select one of UVs on 2 pcurves // for a node on a seam edge select one of UVs on 2 pcurves
@ -884,19 +883,19 @@ SMDS_MeshVolume* SMESH_MesherHelper::AddVolume(const SMDS_MeshNode* n1,
} }
//======================================================================= //=======================================================================
/*! /*!
* \brief Load nodes bound to face into a map of node columns * \brief Load nodes bound to face into a map of node columns
* \param theParam2ColumnMap - map of node columns to fill * \param theParam2ColumnMap - map of node columns to fill
* \param theFace - the face on which nodes are searched for * \param theFace - the face on which nodes are searched for
* \param theBaseEdge - the edge nodes of which are columns' bases * \param theBaseEdge - the edge nodes of which are columns' bases
* \param theMesh - the mesh containing nodes * \param theMesh - the mesh containing nodes
* \retval bool - false if something is wrong * \retval bool - false if something is wrong
* *
* The key of the map is a normalized parameter of each * The key of the map is a normalized parameter of each
* base node on theBaseEdge. * base node on theBaseEdge.
* This method works in supposition that nodes on the face * This method works in supposition that nodes on the face
* forms a rectangular grid and elements can be quardrangles or triangles * forms a rectangular grid and elements can be quardrangles or triangles
*/ */
//======================================================================= //=======================================================================
bool SMESH_MesherHelper::LoadNodeColumns(TParam2ColumnMap & theParam2ColumnMap, bool SMESH_MesherHelper::LoadNodeColumns(TParam2ColumnMap & theParam2ColumnMap,
@ -1145,11 +1144,14 @@ bool SMESH_MesherHelper::LoadNodeColumns(TParam2ColumnMap & theParam2ColumnMap,
return true; return true;
} }
//=======================================================================
/** /**
* Check mesh without geometry for: if all elements on this shape are quadratic, * Check mesh without geometry for: if all elements on this shape are quadratic,
* quadratic elements will be created. * quadratic elements will be created.
* Used then generated 3D mesh without geometry. * Used then generated 3D mesh without geometry.
*/ */
//=======================================================================
SMESH_MesherHelper:: MType SMESH_MesherHelper::IsQuadraticMesh() SMESH_MesherHelper:: MType SMESH_MesherHelper::IsQuadraticMesh()
{ {
int NbAllEdgsAndFaces=0; int NbAllEdgsAndFaces=0;
@ -1177,3 +1179,13 @@ SMESH_MesherHelper:: MType SMESH_MesherHelper::IsQuadraticMesh()
return SMESH_MesherHelper::COMP; return SMESH_MesherHelper::COMP;
} }
//=======================================================================
/*!
* \brief Return an alternative parameter for a node on seam
*/
//=======================================================================
double SMESH_MesherHelper::GetOtherParam(const double param) const
{
return fabs(param-myPar1) < fabs(param-myPar2) ? myPar2 : myPar1;
}

View File

@ -296,6 +296,10 @@ public:
* \retval int - 1 for U, 2 for V direction * \retval int - 1 for U, 2 for V direction
*/ */
int GetPeriodicIndex() const { return myParIndex; } int GetPeriodicIndex() const { return myParIndex; }
/*!
* \brief Return an alternative parameter for a node on seam
*/
double GetOtherParam(const double param) const;
/** /**
* Special function for search or creation medium node * Special function for search or creation medium node