Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
TopOpeBRepBuild_Builder Class Reference

The Builder algorithm constructs topological
objects from an existing topology and new
geometries attached to the topology. It is used to
construct the result of a topological operation;
the existing topologies are the parts involved in
the topological operation and the new geometries
are the intersection lines and points.

#include <TopOpeBRepBuild_Builder.hxx>

Inheritance diagram for TopOpeBRepBuild_Builder:
Inheritance graph
[legend]

Public Member Functions

DEFINE_STANDARD_ALLOC TopOpeBRepBuild_Builder (const TopOpeBRepDS_BuildTool &BT)
virtual void Destroy ()
virtual ~TopOpeBRepBuild_Builder ()
TopOpeBRepDS_BuildToolChangeBuildTool ()
const TopOpeBRepDS_BuildToolBuildTool () const
virtual void Perform (const Handle< TopOpeBRepDS_HDataStructure > &HDS)
 Stores the data structure <HDS>,
Create shapes from the new geometries.

virtual void Perform (const Handle< TopOpeBRepDS_HDataStructure > &HDS, const TopoDS_Shape &S1, const TopoDS_Shape &S2)
 Stores the data structure <HDS>,
Create shapes from the new geometries,
Evaluates if an operation performed on shapes S1,S2
is a particular case.

Handle_TopOpeBRepDS_HDataStructure DataStructure () const
 returns the DS handled by this builder

virtual void Clear ()
 Removes all splits and merges already performed.
Does NOT clear the handled DS.

void MergeEdges (const TopTools_ListOfShape &L1, const TopAbs_State TB1, const TopTools_ListOfShape &L2, const TopAbs_State TB2, const Standard_Boolean onA=Standard_False, const Standard_Boolean onB=Standard_False, const Standard_Boolean onAB=Standard_False)
 Merges the two edges <S1> and <S2> keeping the
parts in each edge of states <TB1> and <TB2>.
Booleans onA, onB, onAB indicate wheter parts of edges
found as state ON respectively on first, second, and both
shapes must be (or not) built.

void MergeFaces (const TopTools_ListOfShape &S1, const TopAbs_State TB1, const TopTools_ListOfShape &S2, const TopAbs_State TB2, const Standard_Boolean onA=Standard_False, const Standard_Boolean onB=Standard_False, const Standard_Boolean onAB=Standard_False)
 Merges the two faces <S1> and <S2> keeping the
parts in each face of states <TB1> and <TB2>.

void MergeSolids (const TopoDS_Shape &S1, const TopAbs_State TB1, const TopoDS_Shape &S2, const TopAbs_State TB2)
 Merges the two solids <S1> and <S2> keeping the
parts in each solid of states <TB1> and <TB2>.

void MergeShapes (const TopoDS_Shape &S1, const TopAbs_State TB1, const TopoDS_Shape &S2, const TopAbs_State TB2)
 Merges the two shapes <S1> and <S2> keeping the
parts of states <TB1>,<TB2> in <S1>,<S2>.

void End ()
Standard_Boolean Classify () const
void ChangeClassify (const Standard_Boolean B)
void MergeSolid (const TopoDS_Shape &S, const TopAbs_State TB)
 Merges the solid <S> keeping the
parts of state <TB>.

const TopoDS_ShapeNewVertex (const Standard_Integer I) const
 Returns the vertex created on point .

const TopTools_ListOfShapeNewEdges (const Standard_Integer I) const
 Returns the edges created on curve .

const TopTools_ListOfShapeNewFaces (const Standard_Integer I) const
 Returns the faces created on surface .

Standard_Boolean IsSplit (const TopoDS_Shape &S, const TopAbs_State TB) const
 Returns True if the shape <S> has been split.

const TopTools_ListOfShapeSplits (const TopoDS_Shape &S, const TopAbs_State TB) const
 Returns the split parts <TB> of shape <S>.

Standard_Boolean IsMerged (const TopoDS_Shape &S, const TopAbs_State TB) const
 Returns True if the shape <S> has been merged.

const TopTools_ListOfShapeMerged (const TopoDS_Shape &S, const TopAbs_State TB) const
 Returns the merged parts <TB> of shape <S>.

void InitSection ()
void SplitSectionEdges ()
 create parts ON solid of section edges

virtual void SplitSectionEdge (const TopoDS_Shape &E)
 create parts ON solid of section edges

void SectionCurves (TopTools_ListOfShape &L)
 return the section edges built on new curves.

void SectionEdges (TopTools_ListOfShape &L)
 return the parts of edges found ON the boundary
of the two arguments S1,S2 of Perform()

void FillSecEdgeAncestorMap (const Standard_Integer aShapeRank, const TopTools_MapOfShape &aMapON, TopTools_DataMapOfShapeShape &anAncMap) const
 Fills anAncMap with pairs (edge,ancestor edge) for each
split from the map aMapON for the shape object identified
by ShapeRank

void Section (TopTools_ListOfShape &L)
 return all section edges.

const TopTools_ListOfShapeSection ()
void BuildVertices (const Handle< TopOpeBRepDS_HDataStructure > &DS)
 update the DS by creating new geometries.
create vertices on DS points.

void BuildEdges (const Handle< TopOpeBRepDS_HDataStructure > &DS)
 update the DS by creating new geometries.
create shapes from the new geometries.

const
TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State
MSplit (const TopAbs_State s) const
TopOpeBRepDS_DataMapOfShapeListOfShapeOn1StateChangeMSplit (const TopAbs_State s)
void MakeEdges (const TopoDS_Shape &E, TopOpeBRepBuild_EdgeBuilder &B, TopTools_ListOfShape &L)
void MakeFaces (const TopoDS_Shape &F, TopOpeBRepBuild_FaceBuilder &B, TopTools_ListOfShape &L)
void MakeSolids (TopOpeBRepBuild_SolidBuilder &B, TopTools_ListOfShape &L)
void MakeShells (TopOpeBRepBuild_SolidBuilder &B, TopTools_ListOfShape &L)
TopTools_ListOfShapeChangeSplit (const TopoDS_Shape &S, const TopAbs_State TB)
 Returns a ref.on the list of shapes connected to <S> as
<TB> split parts of <S>.
Mark <S> as split in <TB> parts.

Standard_Boolean Opec12 () const
Standard_Boolean Opec21 () const
Standard_Boolean Opecom () const
Standard_Boolean Opefus () const
TopAbs_State ShapePosition (const TopoDS_Shape &S, const TopTools_ListOfShape &LS)
Standard_Boolean KeepShape (const TopoDS_Shape &S, const TopTools_ListOfShape &LS, const TopAbs_State T)
void FindSameDomain (TopTools_ListOfShape &L1, TopTools_ListOfShape &L2) const
void FindSameDomainSameOrientation (TopTools_ListOfShape &LSO, TopTools_ListOfShape &LDO) const
void MapShapes (const TopoDS_Shape &S1, const TopoDS_Shape &S2)
void ClearMaps ()
void FindSameRank (const TopTools_ListOfShape &L1, const Standard_Integer R, TopTools_ListOfShape &L2) const
Standard_Integer ShapeRank (const TopoDS_Shape &S) const
Standard_Boolean IsShapeOf (const TopoDS_Shape &S, const Standard_Integer I12) const
Standard_Integer FindIsKPart ()
Standard_Integer IsKPart () const
virtual void MergeKPart ()
virtual void MergeKPart (const TopAbs_State TB1, const TopAbs_State TB2)
void MergeKPartiskole ()
void MergeKPartiskoletge ()
void MergeKPartisdisj ()
void MergeKPartisfafa ()
void MergeKPartissoso ()
Standard_Integer KPiskole ()
Standard_Integer KPiskoletge ()
Standard_Integer KPisdisj ()
Standard_Integer KPisfafa ()
Standard_Integer KPissoso ()
void KPClearMaps ()
Standard_Integer KPlhg (const TopoDS_Shape &S, const TopAbs_ShapeEnum T, TopTools_ListOfShape &L) const
Standard_Integer KPlhg (const TopoDS_Shape &S, const TopAbs_ShapeEnum T) const
Standard_Integer KPlhsd (const TopoDS_Shape &S, const TopAbs_ShapeEnum T, TopTools_ListOfShape &L) const
Standard_Integer KPlhsd (const TopoDS_Shape &S, const TopAbs_ShapeEnum T) const
TopAbs_State KPclasSS (const TopoDS_Shape &S1, const TopTools_ListOfShape &exceptLS1, const TopoDS_Shape &S2)
TopAbs_State KPclasSS (const TopoDS_Shape &S1, const TopoDS_Shape &exceptS1, const TopoDS_Shape &S2)
TopAbs_State KPclasSS (const TopoDS_Shape &S1, const TopoDS_Shape &S2)
Standard_Boolean KPiskolesh (const TopoDS_Shape &S, TopTools_ListOfShape &LS, TopTools_ListOfShape &LF) const
Standard_Boolean KPiskoletgesh (const TopoDS_Shape &S, TopTools_ListOfShape &LS, TopTools_ListOfShape &LF) const
void KPSameDomain (TopTools_ListOfShape &L1, TopTools_ListOfShape &L2) const
Standard_Integer KPisdisjsh (const TopoDS_Shape &S) const
Standard_Integer KPisfafash (const TopoDS_Shape &S) const
Standard_Integer KPissososh (const TopoDS_Shape &S) const
void KPiskoleanalyse (const TopAbs_State FT1, const TopAbs_State FT2, const TopAbs_State ST1, const TopAbs_State ST2, Standard_Integer &I, Standard_Integer &I1, Standard_Integer &I2) const
void KPiskoletgeanalyse (const TopOpeBRepDS_Config Conf, const TopAbs_State ST1, const TopAbs_State ST2, Standard_Integer &I) const
void KPisdisjanalyse (const TopAbs_State ST1, const TopAbs_State ST2, Standard_Integer &I, Standard_Integer &IC1, Standard_Integer &IC2) const
TopAbs_State KPclassF (const TopoDS_Shape &F1, const TopoDS_Shape &F2)
void KPclassFF (const TopoDS_Shape &F1, const TopoDS_Shape &F2, TopAbs_State &T1, TopAbs_State &T2)
Standard_Boolean KPiskoleFF (const TopoDS_Shape &F1, const TopoDS_Shape &F2, TopAbs_State &T1, TopAbs_State &T2)
TopoDS_Shape KPmakeface (const TopoDS_Shape &F1, const TopTools_ListOfShape &LF2, const TopAbs_State T1, const TopAbs_State T2, const Standard_Boolean R1, const Standard_Boolean R2)
void SplitEvisoONperiodicF ()
void GMergeSolids (const TopTools_ListOfShape &LSO1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G)
void GFillSolidsSFS (const TopTools_ListOfShape &LSO1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_ShellFaceSet &SFS)
virtual void GFillSolidSFS (const TopoDS_Shape &SO1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_ShellFaceSet &SFS)
void GFillSurfaceTopologySFS (const TopoDS_Shape &SO1, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_ShellFaceSet &SFS)
void GFillSurfaceTopologySFS (const TopOpeBRepDS_SurfaceIterator &IT, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_ShellFaceSet &SFS) const
virtual void GFillShellSFS (const TopoDS_Shape &SH1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_ShellFaceSet &SFS)
void GFillFaceSFS (const TopoDS_Shape &F1, const TopTools_ListOfShape &LSO2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_ShellFaceSet &SFS)
void GSplitFaceSFS (const TopoDS_Shape &F1, const TopTools_ListOfShape &LSclass, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_ShellFaceSet &SFS)
void GMergeFaceSFS (const TopoDS_Shape &F, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_ShellFaceSet &SFS)
void GSplitFace (const TopoDS_Shape &F, const TopOpeBRepBuild_GTopo &G, const TopTools_ListOfShape &LSclass)
void AddONPatchesSFS (const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_ShellFaceSet &SFS)
void FillOnPatches (const TopTools_ListOfShape &anEdgesON, const TopoDS_Shape &aBaseFace, const TopTools_IndexedMapOfOrientedShape &avoidMap)
void FindFacesTouchingEdge (const TopoDS_Shape &aFace, const TopoDS_Shape &anEdge, const Standard_Integer aShRank, TopTools_ListOfShape &aFaces) const
void GMergeFaces (const TopTools_ListOfShape &LF1, const TopTools_ListOfShape &LF2, const TopOpeBRepBuild_GTopo &G)
void GFillFacesWES (const TopTools_ListOfShape &LF1, const TopTools_ListOfShape &LF2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES)
void GFillFacesWESK (const TopTools_ListOfShape &LF1, const TopTools_ListOfShape &LF2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES, const Standard_Integer K)
void GFillFacesWESMakeFaces (const TopTools_ListOfShape &LF1, const TopTools_ListOfShape &LF2, const TopTools_ListOfShape &LSO, const TopOpeBRepBuild_GTopo &G)
void GFillFaceWES (const TopoDS_Shape &F, const TopTools_ListOfShape &LF2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES)
void GFillCurveTopologyWES (const TopoDS_Shape &F, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES)
void GFillCurveTopologyWES (const TopOpeBRepDS_CurveIterator &IT, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES) const
void GFillONPartsWES (const TopoDS_Shape &F, const TopOpeBRepBuild_GTopo &G, const TopTools_ListOfShape &LSclass, TopOpeBRepBuild_WireEdgeSet &WES)
void GFillWireWES (const TopoDS_Shape &W, const TopTools_ListOfShape &LF2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES)
void GFillEdgeWES (const TopoDS_Shape &E, const TopTools_ListOfShape &LF2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES)
void GSplitEdgeWES (const TopoDS_Shape &E, const TopTools_ListOfShape &LF2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES)
void GMergeEdgeWES (const TopoDS_Shape &E, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_WireEdgeSet &WES)
void GSplitEdge (const TopoDS_Shape &E, const TopOpeBRepBuild_GTopo &G, const TopTools_ListOfShape &LSclass)
void GMergeEdges (const TopTools_ListOfShape &LE1, const TopTools_ListOfShape &LE2, const TopOpeBRepBuild_GTopo &G)
void GFillEdgesPVS (const TopTools_ListOfShape &LE1, const TopTools_ListOfShape &LE2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_PaveSet &PVS)
void GFillEdgePVS (const TopoDS_Shape &E, const TopTools_ListOfShape &LE2, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_PaveSet &PVS)
void GFillPointTopologyPVS (const TopoDS_Shape &E, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_PaveSet &PVS)
void GFillPointTopologyPVS (const TopoDS_Shape &E, const TopOpeBRepDS_PointIterator &IT, const TopOpeBRepBuild_GTopo &G, TopOpeBRepBuild_PaveSet &PVS) const
Standard_Boolean GParamOnReference (const TopoDS_Vertex &V, const TopoDS_Edge &E, Standard_Real &P) const
Standard_Boolean GKeepShape (const TopoDS_Shape &S, const TopTools_ListOfShape &Lref, const TopAbs_State T)
Standard_Boolean GKeepShape1 (const TopoDS_Shape &S, const TopTools_ListOfShape &Lref, const TopAbs_State T, TopAbs_State &pos)
 return True if S is classified <T> / Lref shapes

void GKeepShapes (const TopoDS_Shape &S, const TopTools_ListOfShape &Lref, const TopAbs_State T, const TopTools_ListOfShape &Lin, TopTools_ListOfShape &Lou)
 add to Lou the shapes of Lin classified <T> / Lref shapes.
Lou is not cleared. (S is a dummy trace argument)

void GSFSMakeSolids (const TopoDS_Shape &SOF, TopOpeBRepBuild_ShellFaceSet &SFS, TopTools_ListOfShape &LOSO)
void GSOBUMakeSolids (const TopoDS_Shape &SOF, TopOpeBRepBuild_SolidBuilder &SOBU, TopTools_ListOfShape &LOSO)
virtual void GWESMakeFaces (const TopoDS_Shape &FF, TopOpeBRepBuild_WireEdgeSet &WES, TopTools_ListOfShape &LOF)
void GFABUMakeFaces (const TopoDS_Shape &FF, TopOpeBRepBuild_FaceBuilder &FABU, TopTools_ListOfShape &LOF, TopTools_DataMapOfShapeInteger &MWisOld)
void RegularizeFaces (const TopoDS_Shape &FF, const TopTools_ListOfShape &lnewFace, TopTools_ListOfShape &LOF)
void RegularizeFace (const TopoDS_Shape &FF, const TopoDS_Shape &newFace, TopTools_ListOfShape &LOF)
void RegularizeSolids (const TopoDS_Shape &SS, const TopTools_ListOfShape &lnewSolid, TopTools_ListOfShape &LOS)
void RegularizeSolid (const TopoDS_Shape &SS, const TopoDS_Shape &newSolid, TopTools_ListOfShape &LOS)
void GPVSMakeEdges (const TopoDS_Shape &EF, TopOpeBRepBuild_PaveSet &PVS, TopTools_ListOfShape &LOE) const
void GEDBUMakeEdges (const TopoDS_Shape &EF, TopOpeBRepBuild_EdgeBuilder &EDBU, TopTools_ListOfShape &LOE) const
Standard_Boolean GToSplit (const TopoDS_Shape &S, const TopAbs_State TB) const
Standard_Boolean GToMerge (const TopoDS_Shape &S) const
void GFindSamDom (const TopoDS_Shape &S, TopTools_ListOfShape &L1, TopTools_ListOfShape &L2) const
void GFindSamDom (TopTools_ListOfShape &L1, TopTools_ListOfShape &L2) const
void GFindSamDomSODO (const TopoDS_Shape &S, TopTools_ListOfShape &LSO, TopTools_ListOfShape &LDO) const
void GFindSamDomSODO (TopTools_ListOfShape &LSO, TopTools_ListOfShape &LDO) const
void GMapShapes (const TopoDS_Shape &S1, const TopoDS_Shape &S2)
void GClearMaps ()
void GFindSameRank (const TopTools_ListOfShape &L1, const Standard_Integer R, TopTools_ListOfShape &L2) const
Standard_Integer GShapeRank (const TopoDS_Shape &S) const
Standard_Boolean GIsShapeOf (const TopoDS_Shape &S, const Standard_Integer I12) const
void GdumpLS (const TopTools_ListOfShape &L) const
void GdumpSHA (const TopoDS_Shape &S, const Standard_Address str=NULL) const
void GdumpSHAORI (const TopoDS_Shape &S, const Standard_Address str=NULL) const
void GdumpSHAORIGEO (const TopoDS_Shape &S, const Standard_Address str=NULL) const
void GdumpSHASTA (const Standard_Integer iS, const TopAbs_State T, const TCollection_AsciiString &a="", const TCollection_AsciiString &b="") const
void GdumpSHASTA (const TopoDS_Shape &S, const TopAbs_State T, const TCollection_AsciiString &a="", const TCollection_AsciiString &b="") const
void GdumpSHASTA (const Standard_Integer iS, const TopAbs_State T, const TopOpeBRepBuild_ShapeSet &SS, const TCollection_AsciiString &a="", const TCollection_AsciiString &b="", const TCollection_AsciiString &c="\n") const
void GdumpEDG (const TopoDS_Shape &S, const Standard_Address str=NULL) const
void GdumpEDGVER (const TopoDS_Shape &E, const TopoDS_Shape &V, const Standard_Address str=NULL) const
void GdumpSAMDOM (const TopTools_ListOfShape &L, const Standard_Address str=NULL) const
void GdumpEXP (const TopOpeBRepTool_ShapeExplorer &E) const
void GdumpSOBU (TopOpeBRepBuild_SolidBuilder &SB) const
void GdumpFABU (TopOpeBRepBuild_FaceBuilder &FB) const
void GdumpEDBU (TopOpeBRepBuild_EdgeBuilder &EB) const
Standard_Boolean GtraceSPS (const Standard_Integer iS) const
Standard_Boolean GtraceSPS (const Standard_Integer iS, const Standard_Integer jS) const
Standard_Boolean GtraceSPS (const TopoDS_Shape &S) const
Standard_Boolean GtraceSPS (const TopoDS_Shape &S, Standard_Integer &IS) const
void GdumpSHASETreset ()
Standard_Integer GdumpSHASETindex ()

Static Public Member Functions

static TopAbs_ShapeEnum TopType (const TopoDS_Shape &S)
static Standard_Boolean Reverse (const TopAbs_State T1, const TopAbs_State T2)
static TopAbs_Orientation Orient (const TopAbs_Orientation O, const Standard_Boolean R)
static Standard_Boolean Contains (const TopoDS_Shape &S, const TopTools_ListOfShape &L)
static Standard_Integer KPls (const TopoDS_Shape &S, const TopAbs_ShapeEnum T, TopTools_ListOfShape &L)
static Standard_Integer KPls (const TopoDS_Shape &S, const TopAbs_ShapeEnum T)
static Standard_Boolean KPContains (const TopoDS_Shape &S, const TopTools_ListOfShape &L)
static Standard_Integer KPreturn (const Standard_Integer KP)
static Standard_Boolean GTakeCommonOfSame (const TopOpeBRepBuild_GTopo &G)
static Standard_Boolean GTakeCommonOfDiff (const TopOpeBRepBuild_GTopo &G)
static Standard_Boolean GContains (const TopoDS_Shape &S, const TopTools_ListOfShape &L)
static void GCopyList (const TopTools_ListOfShape &Lin, const Standard_Integer i1, const Standard_Integer i2, TopTools_ListOfShape &Lou)
static void GCopyList (const TopTools_ListOfShape &Lin, TopTools_ListOfShape &Lou)
static void GdumpPNT (const gp_Pnt &P)
static void GdumpORIPARPNT (const TopAbs_Orientation o, const Standard_Real p, const gp_Pnt &Pnt)
static void PrintGeo (const TopoDS_Shape &S)
static void PrintSur (const TopoDS_Face &F)
static void PrintCur (const TopoDS_Edge &E)
static void PrintPnt (const TopoDS_Vertex &V)
static void PrintOri (const TopoDS_Shape &S)
static TCollection_AsciiString StringState (const TopAbs_State S)
static Standard_Boolean GcheckNBOUNDS (const TopoDS_Shape &E)

Protected Member Functions

void BuildEdges (const Standard_Integer iC, const Handle< TopOpeBRepDS_HDataStructure > &DS)
 update the DS by creating new geometries.
create edges on the new curve <Icurv>.

void BuildFaces (const Standard_Integer iS, const Handle< TopOpeBRepDS_HDataStructure > &DS)
 update the DS by creating new geometries.
create faces on the new surface <ISurf>.

void BuildFaces (const Handle< TopOpeBRepDS_HDataStructure > &DS)
 update the DS by creating new geometries.
create shapes from the new geometries.

void SplitEdge (const TopoDS_Shape &E1, const TopAbs_State TB1, const TopAbs_State TB2)
 Split <E1> keeping the parts of state <TB1>.

void SplitEdge1 (const TopoDS_Shape &E1, const TopAbs_State TB1, const TopAbs_State TB2)
 Split <E1> keeping the parts of state <TB1>.

void SplitEdge2 (const TopoDS_Shape &E1, const TopAbs_State TB1, const TopAbs_State TB2)
 Split <E1> keeping the parts of state <TB1>.

void SplitFace (const TopoDS_Shape &F1, const TopAbs_State TB1, const TopAbs_State TB2)
 Split <F1> keeping the parts of state <TB1>.
Merge faces with same domain, keeping parts of
state <TB2>.

void SplitFace1 (const TopoDS_Shape &F1, const TopAbs_State TB1, const TopAbs_State TB2)
void SplitFace2 (const TopoDS_Shape &F1, const TopAbs_State TB1, const TopAbs_State TB2)
void SplitSolid (const TopoDS_Shape &S1, const TopAbs_State TB1, const TopAbs_State TB2)
 Split <S1> keeping the parts of state <TB1>.

void SplitShapes (TopOpeBRepTool_ShapeExplorer &Ex, const TopAbs_State TB1, const TopAbs_State TB2, TopOpeBRepBuild_ShapeSet &SS, const Standard_Boolean RevOri)
 Explore shapes of given by explorer <Ex> to split them.
Store new shapes in the set <SS>.
According to RevOri, reverse or not their orientation.

void FillFace (const TopoDS_Shape &F1, const TopAbs_State TB1, const TopTools_ListOfShape &LF2, const TopAbs_State TB2, TopOpeBRepBuild_WireEdgeSet &WES, const Standard_Boolean RevOri)
 Split edges of <F1> and store wires and edges in
the set <WES>. According to RevOri, reverse (or not) orientation.

void FillSolid (const TopoDS_Shape &S1, const TopAbs_State TB1, const TopTools_ListOfShape &LS2, const TopAbs_State TB2, TopOpeBRepBuild_ShapeSet &SS, const Standard_Boolean RevOri)
 Split faces of <S1> and store shells and faces in
the set <SS>. According to RevOri, reverse (or not) orientation.

void FillShape (const TopoDS_Shape &S1, const TopAbs_State TB1, const TopTools_ListOfShape &LS2, const TopAbs_State TB2, TopOpeBRepBuild_ShapeSet &SS, const Standard_Boolean RevOri)
 Split subshapes of <S1> and store subshapes in
the set <SS>. According to RevOri, reverse (or not) orientation.

void FillVertexSet (TopOpeBRepDS_PointIterator &IT, const TopAbs_State TB, TopOpeBRepBuild_PaveSet &PVS) const
 fills the vertex set PVS with the point iterator IT.
IT accesses a list of interferences which geometry is a point or a vertex.
TB indicates the orientation to give to the geometries
found in interference list accessed by IT.

void FillVertexSetOnValue (const TopOpeBRepDS_PointIterator &IT, const TopAbs_State TB, TopOpeBRepBuild_PaveSet &PVS) const
 fills vertex set PVS with the current value of IT.
I geometry is a point or a vertex.
TB indicates the orientation to give to geometries found I

Standard_Boolean ToSplit (const TopoDS_Shape &S, const TopAbs_State TB) const
 Returns True if the shape <S> has not already been split

void MarkSplit (const TopoDS_Shape &S, const TopAbs_State TB, const Standard_Boolean B=Standard_True)
 add the shape <S> to the map of split shapes.
mark <S> as split/not split on <state>, according to B value.

TopTools_ListOfShapeChangeMerged (const TopoDS_Shape &S, const TopAbs_State TB)
 Returns a ref. on the list of shapes connected to <S> as
<TB> merged parts of <S>.

TopoDS_ShapeChangeNewVertex (const Standard_Integer I)
 Returns a ref. on the vertex created on point .

TopTools_ListOfShapeChangeNewEdges (const Standard_Integer I)
 Returns a ref. on the list of edges created on curve .

TopTools_ListOfShapeChangeNewFaces (const Standard_Integer I)
 Returns a ref. on the list of faces created on surface .

void AddIntersectionEdges (TopoDS_Shape &F, const TopAbs_State TB, const Standard_Boolean RevOri, TopOpeBRepBuild_ShapeSet &ES) const
void UpdateSplitAndMerged (const TopTools_DataMapOfIntegerListOfShape &mle, const TopTools_DataMapOfIntegerShape &mre, const TopTools_DataMapOfShapeShape &mlf, const TopAbs_State state)

Protected Attributes

TopAbs_State myState1
TopAbs_State myState2
TopoDS_Shape myShape1
TopoDS_Shape myShape2
Handle_TopOpeBRepDS_HDataStructure myDataStructure
TopOpeBRepDS_BuildTool myBuildTool
Handle_TopTools_HArray1OfShape myNewVertices
TopTools_DataMapOfIntegerListOfShape myNewEdges
Handle_TopTools_HArray1OfListOfShape myNewFaces
TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State mySplitIN
TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State mySplitON
TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State mySplitOUT
TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State myMergedIN
TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State myMergedON
TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State myMergedOUT
TopTools_ListOfShape myEmptyShapeList
TopTools_ListOfShape myListOfSolid
TopTools_ListOfShape myListOfFace
TopTools_ListOfShape myListOfEdge
TopTools_DataMapOfShapeListOfShape myFSplits
TopTools_DataMapOfShapeListOfShape myESplits
Standard_Boolean mySectionDone
Standard_Boolean mySplitSectionEdgesDone
TopTools_ListOfShape mySection
TopoDS_Solid mySolidReference
TopoDS_Solid mySolidToFill
TopTools_ListOfShape myFaceAvoid
TopoDS_Face myFaceReference
TopoDS_Face myFaceToFill
TopTools_ListOfShape myEdgeAvoid
TopoDS_Edge myEdgeReference
TopoDS_Edge myEdgeToFill
TopTools_ListOfShape myVertexAvoid
TopTools_IndexedMapOfShape myMAP1
TopTools_IndexedMapOfShape myMAP2
Standard_Integer myIsKPart
TopTools_DataMapOfShapeListOfShape myKPMAPf1f2
Standard_Integer mySHASETindex
Standard_Boolean myClassifyDef
Standard_Boolean myClassifyVal
TopOpeBRepTool_ShapeClassifier myShapeClassifier
TopTools_MapOfShape myMemoSplit
TCollection_AsciiString myEmptyAS
Standard_Boolean myProcessON
TopTools_IndexedDataMapOfShapeShape myONFacesMap
TopTools_IndexedMapOfOrientedShape myONElemMap

Constructor & Destructor Documentation


Member Function Documentation

virtual void TopOpeBRepBuild_Builder::Clear ( ) [virtual]

Reimplemented in TopOpeBRepBuild_Builder1.

Handle_TopOpeBRepDS_HDataStructure TopOpeBRepBuild_Builder::DataStructure ( ) const
virtual void TopOpeBRepBuild_Builder::Destroy ( ) [virtual]

Reimplemented in TopOpeBRepBuild_Builder1.

Reimplemented in TopOpeBRepBuild_Builder1.

Reimplemented in TopOpeBRepBuild_Builder1.

Reimplemented in TopOpeBRepBuild_Builder1.

Reimplemented in TopOpeBRepBuild_Builder1.

Reimplemented in TopOpeBRepBuild_Builder1.

Reimplemented in TopOpeBRepBuild_Builder1.

Reimplemented in TopOpeBRepBuild_Builder1.


Field Documentation

Handle_TopOpeBRepDS_HDataStructure TopOpeBRepBuild_Builder::myDataStructure [protected]

Reimplemented in TopOpeBRepBuild_Builder1.

Reimplemented in TopOpeBRepBuild_Builder1.

Handle_TopTools_HArray1OfListOfShape TopOpeBRepBuild_Builder::myNewFaces [protected]
Handle_TopTools_HArray1OfShape TopOpeBRepBuild_Builder::myNewVertices [protected]

The documentation for this class was generated from the following files: