|
Open CASCADE Technology 6.5.2
|
The algorithm that provides
1. creation of the data structure (DS)
2. creation of the interferences' pool
3. invocation of Perform() to fill the DS
#include <BOPTools_PaveFiller.hxx>

Public Member Functions | |
| void * | operator new (size_t, void *anAddress) |
| void * | operator new (size_t size) |
| void | operator delete (void *anAddress) |
| BOPTools_PaveFiller () | |
| Empty Contructor | |
| BOPTools_PaveFiller (const BOPTools_InterferencePool &aIP) | |
| Constructor | |
| BOPTools_PaveFiller (const BOPTools_InterferencePool &theIP, const BOPTools_SSIntersectionAttribute &theSectionAttribute) | |
| Constructor | |
| virtual void | Destroy () |
| Destructor | |
| virtual | ~BOPTools_PaveFiller () |
| virtual void | Perform () |
| Fills the DS | |
| virtual void | PartialPerform (const TColStd_SetOfInteger &anObjSubSet, const TColStd_SetOfInteger &aToolSubSet) |
| virtual void | ToCompletePerform () |
| const IntTools_Context & | Context () const |
| Selector | |
| IntTools_Context & | ChangeContext () |
| Selector | |
| void | SetInterferencePool (const BOPTools_InterferencePool &aPool) |
| Selector | |
| Standard_Boolean | IsDone () const |
| Selector | |
| const BOPTools_PavePool & | PavePool () const |
| Selector | |
| BOPTools_PavePool & | ChangePavePool () |
| Selector | |
| const BOPTools_CommonBlockPool & | CommonBlockPool () const |
| Selector | |
| BOPTools_CommonBlockPool & | ChangeCommonBlockPool () |
| Selector | |
| const BOPTools_SplitShapesPool & | SplitShapesPool () const |
| Selector | |
| BOPTools_SplitShapesPool & | ChangeSplitShapesPool () |
| Selector | |
| BooleanOperations_PShapesDataStructure | DS () |
| Selector | |
| BOPTools_PInterferencePool | InterfPool () |
| Selector | |
| const BOPTools_IteratorOfCoupleOfShape & | IteratorOfCoupleOfShape () const |
| Selector | |
| const BOPTools_SSIntersectionAttribute & | SectionAttribute () const |
| Selector | |
| void | SetSectionAttribute (const BOPTools_SSIntersectionAttribute &anAtt) |
| Selector | |
| Standard_Integer | SplitsInFace (const Standard_Integer aBid, const Standard_Integer nF1, const Standard_Integer nF2, TColStd_ListOfInteger &aLs) |
| For the face <nF1> get all splits that are IN-2D to the face <nF2>; The result is in <aLs> Returns 0 if OK; | |
| Standard_Integer | SplitsInFace (const Standard_Integer nE1, const Standard_Integer nF2, TColStd_ListOfInteger &aLs) |
| For the edge <nE1> get all splits that are IN-2D to the face <nF1>; The result is in <aLs> Returns 0 if OK; | |
| Standard_Integer | SplitsOnEdge (const Standard_Integer nE1, const Standard_Integer nE2, TColStd_ListOfInteger &aLs) |
| For the edge <nE1> get all splits that are ON-3D to the edge <nE2>; The result is in <aLs> Returns 0 if OK; | |
| Standard_Integer | SplitsOnFace (const Standard_Integer nE1, const Standard_Integer nF2, TColStd_ListOfInteger &aLs) |
| For the edge <nE1> get all splits that are ON-3D to the face <nF2>; The result is in <aLs> Returns 0 if OK; | |
| Standard_Integer | SplitsOnFace (const Standard_Integer aBid, const Standard_Integer nF1, const Standard_Integer nF2, TColStd_ListOfInteger &aLs) |
| For the face <nF1> get all splits that are ON-3D to the face <nF2>; The result is in <aLs> Returns 0 if OK; | |
| Standard_Integer | SplitsInFace (const Standard_Integer aBid, const Standard_Integer nF1, const Standard_Integer nF2, BOPTools_ListOfPaveBlock &aLs) |
| For the face <nF1> get all PaveBlocks that are IN-2D to the face <nF2>; The result is in <aLs> Returns 0 if OK; | |
| Standard_Integer | SplitsInFace (const Standard_Integer nE1, const Standard_Integer nF2, BOPTools_ListOfPaveBlock &aLs) |
| For the edge <nE1> get all PaveBlocks that are IN-2D to the face <nF1>; The result is in <aLs> Returns 0 if OK; | |
| Standard_Integer | SplitsOnEdge (const Standard_Integer nE1, const Standard_Integer nE2, BOPTools_ListOfPaveBlock &aLs) |
| For the edge <nE1> get all PaveBlocks that are ON-3D to the edge <nE2>; The result is in <aLs> Returns 0 if OK; | |
| Standard_Integer | SplitsOnFace (const Standard_Integer nE1, const Standard_Integer nF2, BOPTools_ListOfPaveBlock &aLs) |
| For the edge <nE1> get all PaveBlocks that are ON-3D to the face <nF2>; The result is in <aLs> Returns 0 if OK; | |
| Standard_Integer | SplitsOnFace (const Standard_Integer aBid, const Standard_Integer nF1, const Standard_Integer nF2, BOPTools_ListOfPaveBlock &aLs) |
| For the face <nF1> get all PaveBlocks that are ON-3D to the face <nF2>; The result is in <aLs> Returns 0 if OK; | |
| Standard_Integer | FindSDVertex (const Standard_Integer nV) const |
| Find for the vertex <nV> SD-vertex (if possible) and return its DS-index. Otherwise it returns 0. | |
| void | PrepareSetForFace (const Standard_Integer nF1, const Standard_Integer nF2, BOPTools_PaveSet &aPaveSet) |
| For couple of faces <nF1>, <nF2> prepare set of all paves of all edges <aPaveSet> | |
Protected Member Functions | |
| virtual void | PerformVV () |
| Computes Vertex/Vertex interferences | |
| virtual void | PerformVE () |
| Computes Vertex/Edge interferences | |
| virtual void | PerformVF () |
| Computes Vertex/Face interferences | |
| virtual void | PerformEE () |
| Computes Edge/Edge interferences | |
| virtual void | PerformEF () |
| Computes Edge/Face interferences | |
| virtual void | PerformFF () |
| Computes Face/Face interferences | |
| void | SortTypes (Standard_Integer &anInd1, Standard_Integer &anInd2) const |
| Sorts the types of shapes with DS-indices <anInd1> and <anInd2> in increasing order of types of the shapes | |
| void | PerformNewVertices () |
| Standard_Boolean | IsSuccesstorsComputed (const Standard_Integer iF1, const Standard_Integer iF2) const |
| virtual void | PrepareEdges () |
| Prepare end paves for each edge | |
| virtual void | PreparePaveBlocks (const TopAbs_ShapeEnum aType1, const TopAbs_ShapeEnum aType2) |
| Prepare PaveBlocks for each edge (EE-interferences) | |
| virtual void | PreparePaveBlocks (const Standard_Integer anE) |
| Prepare PaveBlocks for given edge (EE-interferences) | |
| void | RefinePavePool () |
| Refines myPavePool taking into account new Paves obtained from EE algo | |
| void | MakeSplitEdges () |
| Makes split edges from source edges | |
| void | DoSDEdges () |
| Update Lists of PaveBlocks with info about indices of split edges that are Same Domain with other splits or faces | |
| void | CorrectShrunkRanges (const Standard_Integer aSide, const BOPTools_Pave &aPave, IntTools_ShrunkRange &aSR) |
| Update Shrunk Range <aSR> for Pave <aPave> | |
| Standard_Integer | SplitIndex (const BOPTools_PaveBlock &aPB) |
| Returns the Index of Split edge for the PaveBlock <aPB> in DS. If the PaveBlock is not found, returns 0; | |
| Standard_Boolean | IsBlocksCoinside (const BOPTools_PaveBlock &aPB1, const BOPTools_PaveBlock &aPB2) const |
| Returns TRUE if the two PaveBlocks have vertices that touch each other in terms of Tolerances of the vertices | |
| void | MakeBlocks () |
| Make Pave Blocks for intersection curves | |
| void | MakeAloneVertices () |
| Make vertices that are place of intersection between faces | |
| void | PutPaveOnCurve (const BOPTools_PaveSet &aPaveSet, const Standard_Real aTolR3D, BOPTools_Curve &aBCurve) |
| Among Paves from <aPaveSet> find ones that belong to intersection curve <aBCurve> with 3D-tolerance value <aTolR3D> | |
| void | PutPaveOnCurve (const BOPTools_Pave &aPave, const Standard_Real aTolR3D, BOPTools_Curve &aBCurve) |
| Try to put Pave <aPave> on intersection curve <aBCurve> with 3D-tolerance value <aTolR3D> | |
| void | PutPavesOnCurves () |
| void | MakeSectionEdges () |
| For all inrefered faces make section edges from intersection curves and corresp. Paves on them | |
| void | PutBoundPaveOnCurve (BOPTools_Curve &aBC, BOPTools_SSInterference &aFF) |
| Try to put own bounds of the curve on the curve <aBC> | |
| void | PutBoundPaveOnCurve (const gp_Pnt &aP, const Standard_Real aT, BOPTools_Curve &aBC, BOPTools_SSInterference &aFF) |
| Try to put 3D-point <aP> (parameter aT) on the curve <aBC> | |
| void | PutBoundPaveOnCurveSpec (BOPTools_Curve &aBC, BOPTools_SSInterference &aFF) |
| Try to put own bounds of the curve on the curve <aBC> | |
| void | PutBoundPaveOnCurveSpec (const gp_Pnt &aP, const Standard_Real aT, BOPTools_Curve &aBC, BOPTools_SSInterference &aFF) |
| Try to put 3D-point <aP> (parameter aT) on the curve <aBC> | |
| Standard_Boolean | FindPave (const gp_Pnt &aP, const Standard_Real aTpV, const BOPTools_PaveSet &aPS, BOPTools_Pave &aPV) |
| Returns TRUE if 3D-point <aP> coinsides with some Pave from <aPS> (with 3D-tolerance value <aTpV>); In TRUE case <aPV> will contain the Pave . | |
| Standard_Boolean | CheckCoincidence (const BOPTools_PaveBlock &aPB, const BOPTools_SSInterference &aFF) |
| Returns TRUE if PaveBlock <aPB> lays on the faces from FF-interference <aFF> | |
| Standard_Integer | CheckIntermediatePoint (const BOPTools_PaveBlock &aPB, const BOPTools_PaveBlock &aPBR, const Standard_Real aTol) |
| Returns 0 if some arbitrary intermediate point from PaveBlock <aPB> lays on the PaveBlock <aPBR> (with 3D-tolerance value <aTol>) | |
| Standard_Integer | CheckFacePaves (const TopoDS_Vertex &aV, const Standard_Integer nF) |
| Internal usage | |
| void | StickVertices (const Standard_Integer nF1, const Standard_Integer nF2, TColStd_IndexedMapOfInteger &aMV) |
| Internal usage | |
| Standard_Integer | ExpectedPoolLength () const |
| Returns the value of expected length of array of interferences | |
| Standard_Boolean | ExtendedTolerance (const Standard_Integer nV, Standard_Real &aTolExt) |
Protected Attributes | |
| BOPTools_PInterferencePool | myIntrPool |
| BooleanOperations_PShapesDataStructure | myDS |
| BOPTools_PavePool | myPavePool |
| BOPTools_PavePool | myPavePoolNew |
| BOPTools_CommonBlockPool | myCommonBlockPool |
| BOPTools_SplitShapesPool | mySplitShapesPool |
| BOPTools_SSIntersectionAttribute | mySectionAttribute |
| Standard_Integer | myNbSources |
| Standard_Integer | myNbEdges |
| Standard_Boolean | myIsDone |
| BOPTools_IteratorOfCoupleOfShape | myDSIt |
| IntTools_Context | myContext |
| BOPTools_PaveFiller::BOPTools_PaveFiller | ( | ) |
| BOPTools_PaveFiller::BOPTools_PaveFiller | ( | const BOPTools_InterferencePool & | aIP | ) |
| BOPTools_PaveFiller::BOPTools_PaveFiller | ( | const BOPTools_InterferencePool & | theIP, |
| const BOPTools_SSIntersectionAttribute & | theSectionAttribute | ||
| ) |
| virtual BOPTools_PaveFiller::~BOPTools_PaveFiller | ( | ) | [inline, virtual] |
| BOPTools_CommonBlockPool& BOPTools_PaveFiller::ChangeCommonBlockPool | ( | ) |
| IntTools_Context& BOPTools_PaveFiller::ChangeContext | ( | ) |
| BOPTools_PavePool& BOPTools_PaveFiller::ChangePavePool | ( | ) |
| BOPTools_SplitShapesPool& BOPTools_PaveFiller::ChangeSplitShapesPool | ( | ) |
| Standard_Boolean BOPTools_PaveFiller::CheckCoincidence | ( | const BOPTools_PaveBlock & | aPB, |
| const BOPTools_SSInterference & | aFF | ||
| ) | [protected] |
| Standard_Integer BOPTools_PaveFiller::CheckFacePaves | ( | const TopoDS_Vertex & | aV, |
| const Standard_Integer | nF | ||
| ) | [protected] |
| Standard_Integer BOPTools_PaveFiller::CheckIntermediatePoint | ( | const BOPTools_PaveBlock & | aPB, |
| const BOPTools_PaveBlock & | aPBR, | ||
| const Standard_Real | aTol | ||
| ) | [protected] |
| const BOPTools_CommonBlockPool& BOPTools_PaveFiller::CommonBlockPool | ( | ) | const |
| const IntTools_Context& BOPTools_PaveFiller::Context | ( | ) | const |
| void BOPTools_PaveFiller::CorrectShrunkRanges | ( | const Standard_Integer | aSide, |
| const BOPTools_Pave & | aPave, | ||
| IntTools_ShrunkRange & | aSR | ||
| ) | [protected] |
| virtual void BOPTools_PaveFiller::Destroy | ( | ) | [virtual] |
Reimplemented in BOPTools_Checker.
| void BOPTools_PaveFiller::DoSDEdges | ( | ) | [protected] |
| BooleanOperations_PShapesDataStructure BOPTools_PaveFiller::DS | ( | ) |
| Standard_Integer BOPTools_PaveFiller::ExpectedPoolLength | ( | ) | const [protected] |
| Standard_Boolean BOPTools_PaveFiller::ExtendedTolerance | ( | const Standard_Integer | nV, |
| Standard_Real & | aTolExt | ||
| ) | [protected] |
| Standard_Boolean BOPTools_PaveFiller::FindPave | ( | const gp_Pnt & | aP, |
| const Standard_Real | aTpV, | ||
| const BOPTools_PaveSet & | aPS, | ||
| BOPTools_Pave & | aPV | ||
| ) | [protected] |
| Standard_Integer BOPTools_PaveFiller::FindSDVertex | ( | const Standard_Integer | nV | ) | const |
| BOPTools_PInterferencePool BOPTools_PaveFiller::InterfPool | ( | ) |
| Standard_Boolean BOPTools_PaveFiller::IsBlocksCoinside | ( | const BOPTools_PaveBlock & | aPB1, |
| const BOPTools_PaveBlock & | aPB2 | ||
| ) | const [protected] |
| Standard_Boolean BOPTools_PaveFiller::IsDone | ( | ) | const |
| Standard_Boolean BOPTools_PaveFiller::IsSuccesstorsComputed | ( | const Standard_Integer | iF1, |
| const Standard_Integer | iF2 | ||
| ) | const [protected] |
| const BOPTools_IteratorOfCoupleOfShape& BOPTools_PaveFiller::IteratorOfCoupleOfShape | ( | ) | const |
| void BOPTools_PaveFiller::MakeAloneVertices | ( | ) | [protected] |
| void BOPTools_PaveFiller::MakeBlocks | ( | ) | [protected] |
| void BOPTools_PaveFiller::MakeSectionEdges | ( | ) | [protected] |
| void BOPTools_PaveFiller::MakeSplitEdges | ( | ) | [protected] |
| void BOPTools_PaveFiller::operator delete | ( | void * | anAddress | ) | [inline] |
Reimplemented in BOPTools_Checker.
| void* BOPTools_PaveFiller::operator new | ( | size_t | , |
| void * | anAddress | ||
| ) | [inline] |
Reimplemented in BOPTools_Checker.
| void* BOPTools_PaveFiller::operator new | ( | size_t | size | ) | [inline] |
Reimplemented in BOPTools_Checker.
| virtual void BOPTools_PaveFiller::PartialPerform | ( | const TColStd_SetOfInteger & | anObjSubSet, |
| const TColStd_SetOfInteger & | aToolSubSet | ||
| ) | [virtual] |
| const BOPTools_PavePool& BOPTools_PaveFiller::PavePool | ( | ) | const |
| virtual void BOPTools_PaveFiller::Perform | ( | ) | [virtual] |
Reimplemented in BOPTools_Checker.
| virtual void BOPTools_PaveFiller::PerformEE | ( | ) | [protected, virtual] |
Reimplemented in BOPTools_Checker.
| virtual void BOPTools_PaveFiller::PerformEF | ( | ) | [protected, virtual] |
Reimplemented in BOPTools_Checker.
| virtual void BOPTools_PaveFiller::PerformFF | ( | ) | [protected, virtual] |
Reimplemented in BOPTools_Checker.
| void BOPTools_PaveFiller::PerformNewVertices | ( | ) | [protected] |
| virtual void BOPTools_PaveFiller::PerformVE | ( | ) | [protected, virtual] |
Reimplemented in BOPTools_Checker.
| virtual void BOPTools_PaveFiller::PerformVF | ( | ) | [protected, virtual] |
Reimplemented in BOPTools_Checker.
| virtual void BOPTools_PaveFiller::PerformVV | ( | ) | [protected, virtual] |
Reimplemented in BOPTools_Checker.
| virtual void BOPTools_PaveFiller::PrepareEdges | ( | ) | [protected, virtual] |
Reimplemented in BOPTools_Checker.
| virtual void BOPTools_PaveFiller::PreparePaveBlocks | ( | const TopAbs_ShapeEnum | aType1, |
| const TopAbs_ShapeEnum | aType2 | ||
| ) | [protected, virtual] |
Reimplemented in BOPTools_Checker.
| virtual void BOPTools_PaveFiller::PreparePaveBlocks | ( | const Standard_Integer | anE | ) | [protected, virtual] |
Reimplemented in BOPTools_Checker.
| void BOPTools_PaveFiller::PrepareSetForFace | ( | const Standard_Integer | nF1, |
| const Standard_Integer | nF2, | ||
| BOPTools_PaveSet & | aPaveSet | ||
| ) |
| void BOPTools_PaveFiller::PutBoundPaveOnCurve | ( | BOPTools_Curve & | aBC, |
| BOPTools_SSInterference & | aFF | ||
| ) | [protected] |
| void BOPTools_PaveFiller::PutBoundPaveOnCurve | ( | const gp_Pnt & | aP, |
| const Standard_Real | aT, | ||
| BOPTools_Curve & | aBC, | ||
| BOPTools_SSInterference & | aFF | ||
| ) | [protected] |
| void BOPTools_PaveFiller::PutBoundPaveOnCurveSpec | ( | const gp_Pnt & | aP, |
| const Standard_Real | aT, | ||
| BOPTools_Curve & | aBC, | ||
| BOPTools_SSInterference & | aFF | ||
| ) | [protected] |
| void BOPTools_PaveFiller::PutBoundPaveOnCurveSpec | ( | BOPTools_Curve & | aBC, |
| BOPTools_SSInterference & | aFF | ||
| ) | [protected] |
| void BOPTools_PaveFiller::PutPaveOnCurve | ( | const BOPTools_PaveSet & | aPaveSet, |
| const Standard_Real | aTolR3D, | ||
| BOPTools_Curve & | aBCurve | ||
| ) | [protected] |
| void BOPTools_PaveFiller::PutPaveOnCurve | ( | const BOPTools_Pave & | aPave, |
| const Standard_Real | aTolR3D, | ||
| BOPTools_Curve & | aBCurve | ||
| ) | [protected] |
| void BOPTools_PaveFiller::PutPavesOnCurves | ( | ) | [protected] |
| void BOPTools_PaveFiller::RefinePavePool | ( | ) | [protected] |
| const BOPTools_SSIntersectionAttribute& BOPTools_PaveFiller::SectionAttribute | ( | ) | const |
| void BOPTools_PaveFiller::SetInterferencePool | ( | const BOPTools_InterferencePool & | aPool | ) |
| void BOPTools_PaveFiller::SetSectionAttribute | ( | const BOPTools_SSIntersectionAttribute & | anAtt | ) |
| void BOPTools_PaveFiller::SortTypes | ( | Standard_Integer & | anInd1, |
| Standard_Integer & | anInd2 | ||
| ) | const [protected] |
| Standard_Integer BOPTools_PaveFiller::SplitIndex | ( | const BOPTools_PaveBlock & | aPB | ) | [protected] |
| const BOPTools_SplitShapesPool& BOPTools_PaveFiller::SplitShapesPool | ( | ) | const |
| Standard_Integer BOPTools_PaveFiller::SplitsInFace | ( | const Standard_Integer | nE1, |
| const Standard_Integer | nF2, | ||
| BOPTools_ListOfPaveBlock & | aLs | ||
| ) |
| Standard_Integer BOPTools_PaveFiller::SplitsInFace | ( | const Standard_Integer | aBid, |
| const Standard_Integer | nF1, | ||
| const Standard_Integer | nF2, | ||
| BOPTools_ListOfPaveBlock & | aLs | ||
| ) |
| Standard_Integer BOPTools_PaveFiller::SplitsInFace | ( | const Standard_Integer | aBid, |
| const Standard_Integer | nF1, | ||
| const Standard_Integer | nF2, | ||
| TColStd_ListOfInteger & | aLs | ||
| ) |
| Standard_Integer BOPTools_PaveFiller::SplitsInFace | ( | const Standard_Integer | nE1, |
| const Standard_Integer | nF2, | ||
| TColStd_ListOfInteger & | aLs | ||
| ) |
| Standard_Integer BOPTools_PaveFiller::SplitsOnEdge | ( | const Standard_Integer | nE1, |
| const Standard_Integer | nE2, | ||
| TColStd_ListOfInteger & | aLs | ||
| ) |
| Standard_Integer BOPTools_PaveFiller::SplitsOnEdge | ( | const Standard_Integer | nE1, |
| const Standard_Integer | nE2, | ||
| BOPTools_ListOfPaveBlock & | aLs | ||
| ) |
| Standard_Integer BOPTools_PaveFiller::SplitsOnFace | ( | const Standard_Integer | aBid, |
| const Standard_Integer | nF1, | ||
| const Standard_Integer | nF2, | ||
| TColStd_ListOfInteger & | aLs | ||
| ) |
| Standard_Integer BOPTools_PaveFiller::SplitsOnFace | ( | const Standard_Integer | aBid, |
| const Standard_Integer | nF1, | ||
| const Standard_Integer | nF2, | ||
| BOPTools_ListOfPaveBlock & | aLs | ||
| ) |
| Standard_Integer BOPTools_PaveFiller::SplitsOnFace | ( | const Standard_Integer | nE1, |
| const Standard_Integer | nF2, | ||
| TColStd_ListOfInteger & | aLs | ||
| ) |
| Standard_Integer BOPTools_PaveFiller::SplitsOnFace | ( | const Standard_Integer | nE1, |
| const Standard_Integer | nF2, | ||
| BOPTools_ListOfPaveBlock & | aLs | ||
| ) |
| void BOPTools_PaveFiller::StickVertices | ( | const Standard_Integer | nF1, |
| const Standard_Integer | nF2, | ||
| TColStd_IndexedMapOfInteger & | aMV | ||
| ) | [protected] |
| virtual void BOPTools_PaveFiller::ToCompletePerform | ( | ) | [virtual] |
IntTools_Context BOPTools_PaveFiller::myContext [protected] |
Standard_Boolean BOPTools_PaveFiller::myIsDone [protected] |
Standard_Integer BOPTools_PaveFiller::myNbEdges [protected] |
Standard_Integer BOPTools_PaveFiller::myNbSources [protected] |
BOPTools_PavePool BOPTools_PaveFiller::myPavePool [protected] |
BOPTools_PavePool BOPTools_PaveFiller::myPavePoolNew [protected] |
1.7.4