mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-28 08:00:34 +05:00
0021263: EDF 1868: Several use cases fail (regressions)
+ * \brief Wrapper over TopExp::FirstVertex() and TopExp::LastVertex() fixing them + * in the case of INTERNAL edge + */ +//================================================================================ + +TopoDS_Vertex SMESH_MesherHelper::IthVertex( const bool is2nd, + TopoDS_Edge anEdge, + const bool CumOri )
This commit is contained in:
parent
ce55a111b4
commit
813e18e7bf
@ -1756,6 +1756,28 @@ bool SMESH_MesherHelper::IsClosedEdge( const TopoDS_Edge& anEdge )
|
|||||||
return TopExp::FirstVertex( anEdge ).IsSame( TopExp::LastVertex( anEdge ));
|
return TopExp::FirstVertex( anEdge ).IsSame( TopExp::LastVertex( anEdge ));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief Wrapper over TopExp::FirstVertex() and TopExp::LastVertex() fixing them
|
||||||
|
* in the case of INTERNAL edge
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
TopoDS_Vertex SMESH_MesherHelper::IthVertex( const bool is2nd,
|
||||||
|
TopoDS_Edge anEdge,
|
||||||
|
const bool CumOri )
|
||||||
|
{
|
||||||
|
if ( anEdge.Orientation() >= TopAbs_INTERNAL )
|
||||||
|
anEdge.Orientation( TopAbs_FORWARD );
|
||||||
|
|
||||||
|
const TopAbs_Orientation tgtOri = is2nd ? TopAbs_REVERSED : TopAbs_FORWARD;
|
||||||
|
TopoDS_Iterator vIt( anEdge, CumOri );
|
||||||
|
while ( vIt.More() && vIt.Value().Orientation() != tgtOri )
|
||||||
|
vIt.Next();
|
||||||
|
|
||||||
|
return ( vIt.More() ? TopoDS::Vertex(vIt.Value()) : TopoDS_Vertex() );
|
||||||
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : IsQuadraticMesh
|
//function : IsQuadraticMesh
|
||||||
//purpose : Check mesh without geometry for: if all elements on this shape are quadratic,
|
//purpose : Check mesh without geometry for: if all elements on this shape are quadratic,
|
||||||
|
@ -147,6 +147,8 @@ public:
|
|||||||
|
|
||||||
static bool IsClosedEdge( const TopoDS_Edge& anEdge );
|
static bool IsClosedEdge( const TopoDS_Edge& anEdge );
|
||||||
|
|
||||||
|
static TopoDS_Vertex IthVertex( const bool is2nd, TopoDS_Edge anEdge, const bool CumOri=true );
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// ---------- PUBLIC INSTANCE METHODS ----------
|
// ---------- PUBLIC INSTANCE METHODS ----------
|
||||||
|
Loading…
Reference in New Issue
Block a user