mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-01 20:30:35 +05:00
0021893: EDF 2133 SMESH : Improvement of 3D extrusion algorithm
Make arg theFirstVertex of GetOrderedEdges() optional
This commit is contained in:
parent
d89bbd5095
commit
bde9f2c7ae
@ -957,10 +957,10 @@ int SMESH_Block::GetShapeIDByParams ( const gp_XYZ& theCoord )
|
|||||||
/*!
|
/*!
|
||||||
* \brief Return number of wires and a list of oredered edges.
|
* \brief Return number of wires and a list of oredered edges.
|
||||||
* \param theFace - the face to process
|
* \param theFace - the face to process
|
||||||
* \param theFirstVertex - the vertex of the outer wire to set first in the returned
|
|
||||||
* list ( theFirstVertex may be NULL )
|
|
||||||
* \param theEdges - all ordered edges of theFace (outer edges goes first).
|
* \param theEdges - all ordered edges of theFace (outer edges goes first).
|
||||||
* \param theNbEdgesInWires - nb of edges (== nb of vertices in closed wire) in each wire
|
* \param theNbEdgesInWires - nb of edges (== nb of vertices in closed wire) in each wire
|
||||||
|
* \param theFirstVertex - the vertex of the outer wire to set first in the returned
|
||||||
|
* list ( theFirstVertex may be NULL )
|
||||||
* \param theShapeAnalysisAlgo - if true, ShapeAnalysis::OuterWire() is used to find
|
* \param theShapeAnalysisAlgo - if true, ShapeAnalysis::OuterWire() is used to find
|
||||||
* the outer wire else BRepTools::OuterWire() is used.
|
* the outer wire else BRepTools::OuterWire() is used.
|
||||||
* \retval int - nb of wires
|
* \retval int - nb of wires
|
||||||
@ -972,9 +972,9 @@ int SMESH_Block::GetShapeIDByParams ( const gp_XYZ& theCoord )
|
|||||||
//================================================================================
|
//================================================================================
|
||||||
|
|
||||||
int SMESH_Block::GetOrderedEdges (const TopoDS_Face& theFace,
|
int SMESH_Block::GetOrderedEdges (const TopoDS_Face& theFace,
|
||||||
TopoDS_Vertex theFirstVertex,
|
|
||||||
list< TopoDS_Edge >& theEdges,
|
list< TopoDS_Edge >& theEdges,
|
||||||
list< int > & theNbEdgesInWires,
|
list< int > & theNbEdgesInWires,
|
||||||
|
TopoDS_Vertex theFirstVertex,
|
||||||
const bool theShapeAnalysisAlgo)
|
const bool theShapeAnalysisAlgo)
|
||||||
{
|
{
|
||||||
// put wires in a list, so that an outer wire comes first
|
// put wires in a list, so that an outer wire comes first
|
||||||
@ -1352,7 +1352,7 @@ bool SMESH_Block::FindBlockShapes(const TopoDS_Shell& theShell,
|
|||||||
// find bottom edges and veritices
|
// find bottom edges and veritices
|
||||||
list< TopoDS_Edge > eList;
|
list< TopoDS_Edge > eList;
|
||||||
list< int > nbVertexInWires;
|
list< int > nbVertexInWires;
|
||||||
GetOrderedEdges( TopoDS::Face( Fxy0 ), TopoDS::Vertex( V000 ), eList, nbVertexInWires );
|
GetOrderedEdges( TopoDS::Face( Fxy0 ), eList, nbVertexInWires, TopoDS::Vertex( V000 ) );
|
||||||
if ( nbVertexInWires.size() != 1 || nbVertexInWires.front() != 4 ) {
|
if ( nbVertexInWires.size() != 1 || nbVertexInWires.front() != 4 ) {
|
||||||
MESSAGE(" LoadBlockShapes() error ");
|
MESSAGE(" LoadBlockShapes() error ");
|
||||||
return false;
|
return false;
|
||||||
@ -1374,7 +1374,7 @@ bool SMESH_Block::FindBlockShapes(const TopoDS_Shell& theShell,
|
|||||||
|
|
||||||
// find top edges and veritices
|
// find top edges and veritices
|
||||||
eList.clear();
|
eList.clear();
|
||||||
GetOrderedEdges( TopoDS::Face( Fxy1 ), TopoDS::Vertex( V001 ), eList, nbVertexInWires );
|
GetOrderedEdges( TopoDS::Face( Fxy1 ), eList, nbVertexInWires, TopoDS::Vertex( V001 ) );
|
||||||
if ( nbVertexInWires.size() != 1 || nbVertexInWires.front() != 4 ) {
|
if ( nbVertexInWires.size() != 1 || nbVertexInWires.front() != 4 ) {
|
||||||
MESSAGE(" LoadBlockShapes() error ");
|
MESSAGE(" LoadBlockShapes() error ");
|
||||||
return false;
|
return false;
|
||||||
|
@ -256,7 +256,7 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// ---------------
|
// ---------------
|
||||||
// Block geomerty
|
// Block geometry
|
||||||
// ---------------
|
// ---------------
|
||||||
|
|
||||||
|
|
||||||
@ -275,9 +275,9 @@ public:
|
|||||||
// Return true if an in-block parameter increases along theEdge curve
|
// Return true if an in-block parameter increases along theEdge curve
|
||||||
|
|
||||||
static int GetOrderedEdges (const TopoDS_Face& theFace,
|
static int GetOrderedEdges (const TopoDS_Face& theFace,
|
||||||
TopoDS_Vertex theFirstVertex,
|
|
||||||
std::list< TopoDS_Edge >& theEdges,
|
std::list< TopoDS_Edge >& theEdges,
|
||||||
std::list< int > & theNbEdgesInWires,
|
std::list< int > & theNbEdgesInWires,
|
||||||
|
TopoDS_Vertex theFirstVertex=TopoDS_Vertex(),
|
||||||
const bool theShapeAnalysisAlgo=false);
|
const bool theShapeAnalysisAlgo=false);
|
||||||
// Return nb wires and a list of oredered edges.
|
// Return nb wires and a list of oredered edges.
|
||||||
// It is used to assign indices to subshapes.
|
// It is used to assign indices to subshapes.
|
||||||
|
Loading…
Reference in New Issue
Block a user