OCC Main Page | ModelingAlgorithms | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingAlgorithms
TKTopAlgo
BRepLib


BRepLib_FuseEdges Class Reference

This class can detect vertices in a face that can
be considered useless and then perform the fuse of
the edges and remove the useless vertices. By
useles vertices, we mean :
* vertices that have exactly two connex edges
* the edges connex to the vertex must have
exactly the same 2 connex faces .
* The edges connex to the vertex must have the
same geometric support.
.

#include <BRepLib_FuseEdges.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT BRepLib_FuseEdges (const TopoDS_Shape &theShape, const Standard_Boolean PerformNow=Standard_False)
 Initialise members and build construction of map
of ancestors.
.
Standard_EXPORT void AvoidEdges (const TopTools_IndexedMapOfShape &theMapEdg)
 set edges to avoid being fused

Standard_EXPORT void SetConcatBSpl (const Standard_Boolean theConcatBSpl=Standard_True)
 set mode to enable concatenation G1 BSpline edges in one
End Modified by IFV 19.04.07

Standard_EXPORT void Edges (TopTools_DataMapOfIntegerListOfShape &theMapLstEdg)
 returns all the list of edges to be fused
each list of the map represent a set of connex edges
that can be fused.

Standard_EXPORT void ResultEdges (TopTools_DataMapOfIntegerShape &theMapEdg)
 returns all the fused edges. each integer entry in
the map corresponds to the integer in the
DataMapOfIntegerListOfShape we get in method
Edges. That is to say, to the list of edges in
theMapLstEdg(i) corresponds the resulting edge theMapEdge(i)


Standard_EXPORT void Faces (TopTools_DataMapOfShapeShape &theMapFac)
 returns the map of modified faces.

Standard_EXPORT TopoDS_Shape & Shape ()
 returns myShape modified with the list of internal
edges removed from it.

Standard_EXPORT const Standard_Integer NbVertices ()
 returns the number of vertices candidate to be removed

Standard_EXPORT void Perform ()
 Using map of list of connex edges, fuse each list to
one edge and then update myShape
.

Private Member Functions

Standard_EXPORT void BuildAncestors (const TopoDS_Shape &S, const TopAbs_ShapeEnum TS, const TopAbs_ShapeEnum TA, TopTools_IndexedDataMapOfShapeListOfShape &M) const
 build a map of shapes and ancestors, like
TopExp.MapShapesAndAncestors, but we remove duplicate
shapes in list of shapes.

Standard_EXPORT void BuildListEdges ()
 Build the all the lists of edges that are to be fused
.
Standard_EXPORT void BuildListResultEdges ()
 Build result fused edges according to the list
builtin BuildLisEdges
.
Standard_EXPORT void BuildListConnexEdge (const TopoDS_Shape &theEdge, TopTools_MapOfShape &theMapUniq, TopTools_ListOfShape &theLstEdg)
Standard_EXPORT Standard_Boolean NextConnexEdge (const TopoDS_Vertex &theVertex, const TopoDS_Shape &theEdge, TopoDS_Shape &theEdgeConnex) const
Standard_EXPORT Standard_Boolean SameSupport (const TopoDS_Edge &E1, const TopoDS_Edge &E2) const
Standard_EXPORT Standard_Boolean UpdatePCurve (const TopoDS_Edge &theOldEdge, TopoDS_Edge &theNewEdge, const TopTools_ListOfShape &theLstEdg) const

Private Attributes

TopoDS_Shape myShape
Standard_Boolean myShapeDone
Standard_Boolean myEdgesDone
Standard_Boolean myResultEdgesDone
TopTools_IndexedDataMapOfShapeListOfShape myMapVerLstEdg
TopTools_IndexedDataMapOfShapeListOfShape myMapEdgLstFac
TopTools_DataMapOfIntegerListOfShape myMapLstEdg
TopTools_DataMapOfIntegerShape myMapEdg
TopTools_DataMapOfShapeShape myMapFaces
Standard_Integer myNbConnexEdge
TopTools_IndexedMapOfShape myAvoidEdg
Standard_Boolean myConcatBSpl


Constructor & Destructor Documentation

Standard_EXPORT BRepLib_FuseEdges::BRepLib_FuseEdges const TopoDS_Shape &  theShape,
const Standard_Boolean  PerformNow = Standard_False
 


Member Function Documentation

Standard_EXPORT void BRepLib_FuseEdges::AvoidEdges const TopTools_IndexedMapOfShape &  theMapEdg  ) 
 

Standard_EXPORT void BRepLib_FuseEdges::BuildAncestors const TopoDS_Shape &  S,
const TopAbs_ShapeEnum  TS,
const TopAbs_ShapeEnum  TA,
TopTools_IndexedDataMapOfShapeListOfShape &  M
const [private]
 

Standard_EXPORT void BRepLib_FuseEdges::BuildListConnexEdge const TopoDS_Shape &  theEdge,
TopTools_MapOfShape &  theMapUniq,
TopTools_ListOfShape &  theLstEdg
[private]
 

Standard_EXPORT void BRepLib_FuseEdges::BuildListEdges  )  [private]
 

Standard_EXPORT void BRepLib_FuseEdges::BuildListResultEdges  )  [private]
 

Standard_EXPORT void BRepLib_FuseEdges::Edges TopTools_DataMapOfIntegerListOfShape &  theMapLstEdg  ) 
 

Standard_EXPORT void BRepLib_FuseEdges::Faces TopTools_DataMapOfShapeShape &  theMapFac  ) 
 

Standard_EXPORT const Standard_Integer BRepLib_FuseEdges::NbVertices  ) 
 

Standard_EXPORT Standard_Boolean BRepLib_FuseEdges::NextConnexEdge const TopoDS_Vertex &  theVertex,
const TopoDS_Shape &  theEdge,
TopoDS_Shape &  theEdgeConnex
const [private]
 

void BRepLib_FuseEdges::operator delete void *  anAddress  )  [inline]
 

void* BRepLib_FuseEdges::operator new size_t  size  )  [inline]
 

void* BRepLib_FuseEdges::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_EXPORT void BRepLib_FuseEdges::Perform  ) 
 

Standard_EXPORT void BRepLib_FuseEdges::ResultEdges TopTools_DataMapOfIntegerShape &  theMapEdg  ) 
 

Standard_EXPORT Standard_Boolean BRepLib_FuseEdges::SameSupport const TopoDS_Edge &  E1,
const TopoDS_Edge &  E2
const [private]
 

Standard_EXPORT void BRepLib_FuseEdges::SetConcatBSpl const Standard_Boolean  theConcatBSpl = Standard_True  ) 
 

Standard_EXPORT TopoDS_Shape& BRepLib_FuseEdges::Shape  ) 
 

Standard_EXPORT Standard_Boolean BRepLib_FuseEdges::UpdatePCurve const TopoDS_Edge &  theOldEdge,
TopoDS_Edge &  theNewEdge,
const TopTools_ListOfShape &  theLstEdg
const [private]
 


Field Documentation

TopTools_IndexedMapOfShape BRepLib_FuseEdges::myAvoidEdg [private]
 

Standard_Boolean BRepLib_FuseEdges::myConcatBSpl [private]
 

Standard_Boolean BRepLib_FuseEdges::myEdgesDone [private]
 

TopTools_DataMapOfIntegerShape BRepLib_FuseEdges::myMapEdg [private]
 

TopTools_IndexedDataMapOfShapeListOfShape BRepLib_FuseEdges::myMapEdgLstFac [private]
 

TopTools_DataMapOfShapeShape BRepLib_FuseEdges::myMapFaces [private]
 

TopTools_DataMapOfIntegerListOfShape BRepLib_FuseEdges::myMapLstEdg [private]
 

TopTools_IndexedDataMapOfShapeListOfShape BRepLib_FuseEdges::myMapVerLstEdg [private]
 

Standard_Integer BRepLib_FuseEdges::myNbConnexEdge [private]
 

Standard_Boolean BRepLib_FuseEdges::myResultEdgesDone [private]
 

TopoDS_Shape BRepLib_FuseEdges::myShape [private]
 

Standard_Boolean BRepLib_FuseEdges::myShapeDone [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:41:20 2008 for OpenCASCADE by  doxygen 1.4.1