1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0026488: The class ShapeUpgrade_UnifySameDomain is not documented.

This commit is contained in:
isn
2015-08-07 19:04:44 +03:00
committed by bugmaster
parent 6a0c0b14da
commit cef6867ce9
3 changed files with 72 additions and 2 deletions

View File

@@ -526,6 +526,11 @@ static TopoDS_Edge GlueEdgesWithPCurves(const TopTools_SequenceOfShape& aChain,
return ResEdge;
}
//=======================================================================
//function : MergeSubSeq
//purpose : Merges a sequence of edges into one edge if possible
//=======================================================================
static Standard_Boolean MergeSubSeq(const TopTools_SequenceOfShape& aChain, TopoDS_Edge& OutEdge, double Tol, Standard_Boolean ConcatBSplines)
{
ShapeAnalysis_Edge sae;
@@ -729,6 +734,11 @@ static Standard_Boolean MergeSubSeq(const TopTools_SequenceOfShape& aChain, Topo
return Standard_False;
}
//=======================================================================
//function : IsMergingPossible
//purpose : Checks if merging of two edges is possible
//=======================================================================
static Standard_Boolean IsMergingPossible(const TopoDS_Edge& edge1, const TopoDS_Edge& edge2,
double Tol, const TopTools_MapOfShape& DegEdgeVrt)
{
@@ -776,6 +786,12 @@ static Standard_Boolean IsMergingPossible(const TopoDS_Edge& edge1, const TopoDS
return Standard_True;
}
//=======================================================================
//function : GenerateSubSeq
//purpose : Generates sub-sequences of edges from sequence of edges
//Edges from each subsequences can be merged into the one edge
//=======================================================================
static void GenerateSubSeq (const TopTools_SequenceOfShape& anInpEdgeSeq,
NCollection_Sequence<SubSequenceOfEdges>& SeqOfSubSeqOfEdges,
Standard_Boolean IsClosed, double Tol, const TopTools_MapOfShape& DegEdgeVrt )
@@ -892,6 +908,12 @@ static Standard_Boolean MergeEdges(const TopTools_SequenceOfShape& SeqEdges,
return Standard_True;
}
//=======================================================================
//function : MergeSeq
//purpose : Tries to unify the sequence of edges with the set of another edges
//which lies on the same geometry
//=======================================================================
static Standard_Boolean MergeSeq (const TopTools_SequenceOfShape& SeqEdges,
const Standard_Real Tol,
const Standard_Boolean ConcatBSplines,
@@ -923,6 +945,11 @@ static Standard_Boolean MergeSeq (const TopTools_SequenceOfShape& SeqEdges,
return Standard_False;
}
//=======================================================================
//function : CheckSharedVertices
//purpose : Checks the sequence of edges on the presence of shared vertex
//=======================================================================
static void CheckSharedVertices(const TopTools_SequenceOfShape& theSeqEdges,
const TopTools_IndexedDataMapOfShapeListOfShape& theMapEdgesVertex,
TopTools_MapOfShape& theShareVertMap)

View File

@@ -31,7 +31,17 @@ class TopoDS_Shape;
class ShapeUpgrade_UnifySameDomain;
DEFINE_STANDARD_HANDLE(ShapeUpgrade_UnifySameDomain, MMgt_TShared)
//! Unifies same domain faces and edges of specified shape
//! This tool tries to unify faces and edges of the shape which lies on the same geometry.
//! Faces/edges considering as 'same-domain' if a group of neighbouring faces/edges lying on coincident surfaces/curves.
//! In this case these faces/edges can be unified into one face/edge.
//! ShapeUpgrade_UnifySameDomain initialized by the shape and the next optional parameters:
//! UnifyFaces - tries to unify all possible faces
//! UnifyEdges - tries to unify all possible edges
//! ConcatBSplines - if this flag set to true then all neighbouring edges which lays
//! on the BSpline or Bezier curves with C1 continuity on their common vertices will be merged into one common edge
//! The output result of tool is an unified shape
//! All the modifications of initial shape are recorded during unifying.
//! Method Generated() can be used to obtain the new (unified) shape from the old one
class ShapeUpgrade_UnifySameDomain : public MMgt_TShared
{
@@ -43,6 +53,7 @@ public:
Standard_EXPORT ShapeUpgrade_UnifySameDomain(const TopoDS_Shape& aShape, const Standard_Boolean UnifyEdges = Standard_True, const Standard_Boolean UnifyFaces = Standard_True, const Standard_Boolean ConcatBSplines = Standard_False);
//! Initializes with a shape
Standard_EXPORT void Initialize (const TopoDS_Shape& aShape, const Standard_Boolean UnifyEdges = Standard_True, const Standard_Boolean UnifyFaces = Standard_True, const Standard_Boolean ConcatBSplines = Standard_False);
//! Builds the resulting shape
@@ -51,6 +62,7 @@ public:
//! Gives the resulting shape
Standard_EXPORT const TopoDS_Shape& Shape() const;
//! Gets new common shape from the old one
Standard_EXPORT TopoDS_Shape Generated (const TopoDS_Shape& aShape) const;
//! this method makes if possible a common face from each