Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes
BOPAlgo_CheckerSI Class Reference

Checks shape on self-interference.
More...

#include <BOPAlgo_CheckerSI.hxx>

Inheritance diagram for BOPAlgo_CheckerSI:
Inheritance graph
[legend]

Public Member Functions

 BOPAlgo_CheckerSI ()
 
virtual ~BOPAlgo_CheckerSI ()
 
virtual void Perform ()
 
void SetLevelOfCheck (const Standard_Integer theLevel)
 Sets the level of checking shape on self-interference.
It defines which interferferences will be checked:
0 - only V/V;
1 - V/V and V/E;
2 - V/V, V/E and E/E;
3 - V/V, V/E, E/E and V/F;
4 - V/V, V/E, E/E, V/F and E/F;
5 - all interferences, default value.
More...
 
void SetNonDestructive (const Standard_Boolean theFlag)
 
Sets the flag <theFlag> that defines <br>

the mode of the treatment:
the copy of the argument when theFlag is true
the argument itself when theFlag is false
More...

 
Standard_Boolean NonDestructive () const
 
Returns the flag that defines the <br>

mode of the treatment:
true when the copy of the argument is used
false when the argument itself is used
More...

 
- Public Member Functions inherited from BOPAlgo_PaveFiller
 BOPAlgo_PaveFiller ()
 
virtual ~BOPAlgo_PaveFiller ()
 
 BOPAlgo_PaveFiller (const BOPCol_BaseAllocator &theAllocator)
 
const BOPDS_DSDS ()
 
BOPDS_PDS PDS ()
 
const BOPDS_PIteratorIterator ()
 
const BOPCol_ListOfShapeArguments () const
 
void SetArguments (const BOPCol_ListOfShape &theLS)
 
Handle_BOPInt_Context Context ()
 
void SetSectionAttribute (const BOPAlgo_SectionAttribute &theSecAttr)
 
- Public Member Functions inherited from BOPAlgo_Algo
Standard_Integer ErrorStatus () const
 
Standard_Integer WarningStatus () const
 
const BOPCol_BaseAllocatorAllocator () const
 
void SetRunParallel (const Standard_Boolean theFlag)
 
 Set the flag of parallel processing <br>

if <theFlag> is true the parallel processing is switched on
if <theFlag> is false the parallel processing is switched off

More...

 
Standard_Boolean RunParallel () const
 Returns the flag of parallel processing
More...
 

Protected Member Functions

virtual void Init ()
 
void PostTreat ()
 Provides post-treatment actions
More...
 
virtual void PerformVZ ()
 
virtual void PerformEZ ()
 
virtual void PerformFZ ()
 
virtual void PerformZZ ()
 
virtual void PrepareCopy ()
 
void PostTreatCopy ()
 Provides post-treatment actions for the copy
More...
 
- Protected Member Functions inherited from BOPAlgo_PaveFiller
virtual void Clear ()
 
virtual void PerformVV ()
 
virtual void PerformVE ()
 
virtual void PerformVF ()
 
virtual void PerformEE ()
 
virtual void PerformEF ()
 
virtual void PerformFF ()
 
void TreatVerticesEE ()
 
void MakeSplitEdges ()
 
void MakeBlocks ()
 
void MakePCurves ()
 
void ProcessDE ()
 
void FillShrunkData (Handle< BOPDS_PaveBlock > &thePB)
 
void FillShrunkData (const TopAbs_ShapeEnum theType1, const TopAbs_ShapeEnum theType2)
 
Standard_Integer PerformVerticesEE (BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks &theMVCPB, BOPCol_BaseAllocator &theAllocator)
 
Standard_Integer PerformVerticesEF (BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks &theMVCPB, BOPCol_BaseAllocator &theAllocator)
 
Standard_Boolean CheckFacePaves (const TopoDS_Vertex &theVnew, const BOPCol_MapOfInteger &theMIF)
 
Standard_Boolean IsExistingVertex (const gp_Pnt &theP, const Standard_Real theTol, const BOPCol_MapOfInteger &theMVOn) const
 
void PutPavesOnCurve (const BOPCol_MapOfInteger &theMVOn, const Standard_Real theTolR3D, BOPDS_Curve &theNC, const Standard_Integer nF1, const Standard_Integer nF2, const BOPCol_MapOfInteger &theMI, const BOPCol_MapOfInteger &theMVEF, BOPCol_DataMapOfIntegerReal &theMVTol)
 Checks and puts paves from <theMVOn> on the curve <theNC>.
More...
 
Standard_Boolean ExtendedTolerance (const Standard_Integer nV, const BOPCol_MapOfInteger &aMI, Standard_Real &aTolVExt, const Standard_Integer aType=0)
 Depending on the parameter aType it checks whether
the vertex nV was created in EE or EF intersections.
If so, it increases aTolVExt from tolerance value of vertex to
the max distance from vertex nV to the ends of the range of common part.
Possible values of aType:
1 - checks only EE;
2 - checks only EF;
other - checks both types of intersections.
More...
 
void PutBoundPaveOnCurve (const TopoDS_Face &theF1, const TopoDS_Face &theF2, const Standard_Real theTolR3D, BOPDS_Curve &theNC, BOPCol_MapOfInteger &theMVOnIn, BOPCol_MapOfInteger &theMVB)
 
Standard_Boolean IsExistingPaveBlock (const Handle< BOPDS_PaveBlock > &thePB, const BOPDS_Curve &theNC, const Standard_Real theTolR3D, const BOPDS_IndexedMapOfPaveBlock &theMPB, Handle< BOPDS_PaveBlock > &thePBOut)
 
Standard_Boolean IsExistingPaveBlock (const Handle< BOPDS_PaveBlock > &thePB, const BOPDS_Curve &theNC, const Standard_Real theTolR3D, const BOPCol_ListOfInteger &theLSE)
 
Standard_Integer PostTreatFF (BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks &theMSCPB, BOPCol_DataMapOfShapeInteger &theMVI, BOPDS_DataMapOfPaveBlockListOfPaveBlock &theDMExEdges, BOPCol_DataMapOfIntegerInteger &theDMI, BOPCol_BaseAllocator &theAllocator)
 Treatment of section edges.
More...
 
void FindPaveBlocks (const Standard_Integer theV, const Standard_Integer theF, BOPDS_ListOfPaveBlock &theLPB)
 
void FillPaves (const Standard_Integer theV, const Standard_Integer theE, const Standard_Integer theF, const BOPDS_ListOfPaveBlock &theLPB, const Handle< BOPDS_PaveBlock > &thePB)
 
void MakeSplitEdge (const Standard_Integer theV, const Standard_Integer theF)
 
void GetEFPnts (const Standard_Integer nF1, const Standard_Integer nF2, IntSurf_ListOfPntOn2S &aListOfPnts)
 
void PutEFPavesOnCurve (BOPDS_Curve &theNC, const BOPCol_MapOfInteger &theMI, const BOPCol_MapOfInteger &theMVEF, BOPCol_DataMapOfIntegerReal &theMVTol)
 Checks and puts paves created in EF intersections on the curve <theNC>.
More...
 
void PutStickPavesOnCurve (const TopoDS_Face &aF1, const TopoDS_Face &aF2, const BOPCol_MapOfInteger &theMI, BOPDS_Curve &theNC, const BOPCol_MapOfInteger &theMVStick, BOPCol_DataMapOfIntegerReal &theMVTol)
 Puts stick paves on the curve <theNC>
More...
 
void GetStickVertices (const Standard_Integer nF1, const Standard_Integer nF2, BOPCol_MapOfInteger &theMVStick, BOPCol_MapOfInteger &theMVEF, BOPCol_MapOfInteger &theMI)
 Collects indices of vertices created in all intersections between
two faces (<nF1> and <nF2>) to the map <theMVStick>.
Also, it collects indices of EF vertices to the <theMVEF> map
and indices of all subshapes of these two faces to the <theMI> map.
More...
 
void GetFullShapeMap (const Standard_Integer nF, BOPCol_MapOfInteger &theMI)
 Collects index nF and indices of all subshapes of the shape with index <nF>
to the map <theMI>.
More...
 
void RemoveUsedVertices (BOPDS_Curve &theNC, BOPCol_MapOfInteger &theMV)
 Removes indices of vertices that are already on the
curve <theNC> from the map <theMV>.
It is used in PutEFPavesOnCurve and PutStickPavesOnCurve methods.
More...
 
void PutPaveOnCurve (const Standard_Integer nV, const Standard_Real theTolR3D, BOPDS_Curve &theNC, const BOPCol_MapOfInteger &theMI, BOPCol_DataMapOfIntegerReal &theMVTol, const Standard_Integer aType=0)
 Puts the pave nV on the curve theNC.
Parameter aType defines whether to check the pave with
extended tolerance:
0 - do not perform the check;
other - perform the check (aType goes to ExtendedTolerance).
More...
 
void ProcessExistingPaveBlocks (const Standard_Integer theInt, const BOPDS_IndexedMapOfPaveBlock &theMPBOnIn, BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks &theMSCPB, BOPCol_DataMapOfShapeInteger &theMVI, const BOPCol_MapOfInteger &theMVB, BOPDS_MapOfPaveBlock &theMPB)
 Adds the existing edges from the map <theMPBOnIn> which interfere
with the vertices from <theMVB> map to the post treatment of section edges.
More...
 
void UpdateExistingPaveBlocks (const Handle< BOPDS_PaveBlock > &thePB, BOPDS_ListOfPaveBlock &theLPB, const Standard_Integer nF1, const Standard_Integer nF2)
 Replaces existing pave block <thePB> with new pave blocks <theLPB>.
The list <theLPB> contains images of <thePB> which were created in
the post treatment of section edges.
More...
 
void TreatNewVertices (const BOPCol_IndexedDataMapOfShapeInteger &theMVI, BOPCol_IndexedDataMapOfShapeListOfShape &theImages)
 Treatment of vertices that were created in EE intersections.
More...
 
void PutClosingPaveOnCurve (BOPDS_Curve &aNC)
 Put paves on the curve <aBC> in case when <aBC>
is closed 3D-curve
More...
 
void PreparePostTreatFF (const Standard_Integer aInt, const Handle< BOPDS_PaveBlock > &aPB, BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks &aMSCPB, BOPCol_DataMapOfShapeInteger &aMVI, BOPDS_VectorOfCurve &aVC)
 Keeps data for post treatment
More...
 
void RefineFaceInfoOn ()
 Refines the state On for the all faces having
state information
More...
 
void UpdateFaceInfo (BOPDS_DataMapOfPaveBlockListOfPaveBlock &theDME)
 Updates the information about faces
More...
 
void ForceInterfVE (const Standard_Integer nV, Handle< BOPDS_PaveBlock > &aPB, BOPDS_MapOfPaveBlock &aMPB)
 Updates tolerance of vertex with index <nV>
to make it interfere with edge
More...
 
Standard_Boolean ForceInterfVF (const Standard_Integer nV, const Standard_Integer nF)
 Updates tolerance of vertex with index <nV>
to make it interfere with face with index <nF>
More...
 
Standard_Boolean CheckPlanes (const Standard_Integer nF1, const Standard_Integer nF2) const
 Checks if there are any common or intersecting sub shapes
between two planar faces.
More...
 
Standard_Integer SplitEdge (const Standard_Integer nE, const Standard_Integer nV1, const Standard_Real aT1, const Standard_Integer nV2, const Standard_Real aT2)
 Creates new edge from the edge nE with vertices nV1 and nV2
and returns the index of that new edge in the DS.
More...
 
void UpdatePaveBlocks (const BOPCol_DataMapOfIntegerInteger &theDMI)
 Updates pave blocks which have the paves with indices contained
in the map <theDMI>.
More...
 
- Protected Member Functions inherited from BOPAlgo_Algo
 BOPAlgo_Algo ()
 
virtual ~BOPAlgo_Algo ()
 
 BOPAlgo_Algo (const BOPCol_BaseAllocator &theAllocator)
 
virtual void CheckData ()
 
virtual void CheckResult ()
 

Protected Attributes

Standard_Integer myLevelOfCheck
 
Standard_Boolean myNonDestructive
 
BOPCol_DataMapOfShapeShape myNewOldMap
 
- Protected Attributes inherited from BOPAlgo_PaveFiller
BOPCol_ListOfShape myArguments
 
BOPDS_PDS myDS
 
BOPDS_PIterator myIterator
 
Handle_BOPInt_Context myContext
 
BOPAlgo_SectionAttribute mySectionAttribute
 
- Protected Attributes inherited from BOPAlgo_Algo
BOPCol_BaseAllocator myAllocator
 
Standard_Integer myErrorStatus
 
Standard_Integer myWarningStatus
 
Standard_Boolean myRunParallel
 

Additional Inherited Members

- Static Protected Member Functions inherited from BOPAlgo_PaveFiller
static Standard_Boolean CheckFacePaves (const Standard_Integer theN, const BOPCol_MapOfInteger &theMIFOn, const BOPCol_MapOfInteger &theMIFIn)
 

Detailed Description

Checks shape on self-interference.

Constructor & Destructor Documentation

BOPAlgo_CheckerSI::BOPAlgo_CheckerSI ( )
virtual BOPAlgo_CheckerSI::~BOPAlgo_CheckerSI ( )
virtual

Member Function Documentation

virtual void BOPAlgo_CheckerSI::Init ( )
protectedvirtual

Reimplemented from BOPAlgo_PaveFiller.

Standard_Boolean BOPAlgo_CheckerSI::NonDestructive ( ) const

Returns the flag that defines the <br>

mode of the treatment:
true when the copy of the argument is used
false when the argument itself is used

virtual void BOPAlgo_CheckerSI::Perform ( )
virtual

Reimplemented from BOPAlgo_PaveFiller.

virtual void BOPAlgo_CheckerSI::PerformEZ ( )
protectedvirtual
virtual void BOPAlgo_CheckerSI::PerformFZ ( )
protectedvirtual
virtual void BOPAlgo_CheckerSI::PerformVZ ( )
protectedvirtual
virtual void BOPAlgo_CheckerSI::PerformZZ ( )
protectedvirtual
void BOPAlgo_CheckerSI::PostTreat ( )
protected

Provides post-treatment actions

void BOPAlgo_CheckerSI::PostTreatCopy ( )
protected

Provides post-treatment actions for the copy

virtual void BOPAlgo_CheckerSI::PrepareCopy ( )
protectedvirtual
void BOPAlgo_CheckerSI::SetLevelOfCheck ( const Standard_Integer  theLevel)

Sets the level of checking shape on self-interference.
It defines which interferferences will be checked:
0 - only V/V;
1 - V/V and V/E;
2 - V/V, V/E and E/E;
3 - V/V, V/E, E/E and V/F;
4 - V/V, V/E, E/E, V/F and E/F;
5 - all interferences, default value.

void BOPAlgo_CheckerSI::SetNonDestructive ( const Standard_Boolean  theFlag)

Sets the flag <theFlag> that defines <br>

the mode of the treatment:
the copy of the argument when theFlag is true
the argument itself when theFlag is false

Field Documentation

Standard_Integer BOPAlgo_CheckerSI::myLevelOfCheck
protected
BOPCol_DataMapOfShapeShape BOPAlgo_CheckerSI::myNewOldMap
protected
Standard_Boolean BOPAlgo_CheckerSI::myNonDestructive
protected

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