1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

Compare commits

...

1 Commits

Author SHA1 Message Date
aka
d9b54592ec 0024258: Classes in TKBO toolkit lack documentation
First version of descriptions of methods
2016-12-13 15:41:03 +03:00
8 changed files with 245 additions and 78 deletions

View File

@@ -43,8 +43,12 @@ public:
//! Empty constructor
Standard_EXPORT BOPAlgo_BOP();
Standard_EXPORT virtual ~BOPAlgo_BOP();
//! Destructor
Standard_EXPORT virtual ~BOPAlgo_BOP();
//! Contructor
//! theAllocator - the allocator to manage the memory
Standard_EXPORT BOPAlgo_BOP(const BOPCol_BaseAllocator& theAllocator);
//! Clears internal fields and arguments

View File

@@ -41,25 +41,31 @@ class TopoDS_Shape;
class BOPAlgo_PaveFiller;
//!
class BOPAlgo_Builder : public BOPAlgo_BuilderShape
{
public:
DEFINE_STANDARD_ALLOC
//! Empty constructor
Standard_EXPORT BOPAlgo_Builder();
Standard_EXPORT virtual ~BOPAlgo_Builder();
//! Destructor
Standard_EXPORT virtual ~BOPAlgo_Builder();
//! Contructor
//! theAllocator - the allocator to manage the memory
Standard_EXPORT BOPAlgo_Builder(const BOPCol_BaseAllocator& theAllocator);
//! Clears the content
Standard_EXPORT virtual void Clear();
Standard_EXPORT BOPAlgo_PPaveFiller PPaveFiller();
Standard_EXPORT BOPDS_PDS PDS();
//!
Standard_EXPORT virtual void AddArgument (const TopoDS_Shape& theShape);
Standard_EXPORT virtual void SetArguments (const BOPCol_ListOfShape& theLS);

View File

@@ -60,32 +60,47 @@ class TopoDS_Vertex;
class TopoDS_Edge;
class TopoDS_Face;
//! The class BOPAlgo_PaveFiller implements
//! intersection part of partition and
//! boolean operation algorithms.It is used to
//! initialize the data structure (DS);
//! compute interferences;
//! build split/section edges and p-curves;
//! store all obtained informaton in DS.
class BOPAlgo_PaveFiller : public BOPAlgo_Algo
{
public:
DEFINE_STANDARD_ALLOC
//! Empty constructor
Standard_EXPORT BOPAlgo_PaveFiller();
//! Destructor
Standard_EXPORT virtual ~BOPAlgo_PaveFiller();
//! Contructor
//! theAllocator - the allocator to manage the memory
Standard_EXPORT BOPAlgo_PaveFiller(const BOPCol_BaseAllocator& theAllocator);
//! Returns the data structure
Standard_EXPORT const BOPDS_DS& DS();
//! Returns the data structure
Standard_EXPORT BOPDS_PDS PDS();
Standard_EXPORT const BOPDS_PIterator& Iterator();
//Standard_EXPORT const BOPDS_PIterator& Iterator();
//! Sets the arguments (shapes) for the operation
Standard_EXPORT void SetArguments (const BOPCol_ListOfShape& theLS);
//! Returns the arguments of an operation
Standard_EXPORT const BOPCol_ListOfShape& Arguments() const;
//! Returns the intersection Context
Standard_EXPORT const Handle(IntTools_Context)& Context();
//! Sets auxiliary attributes to the container
Standard_EXPORT void SetSectionAttribute (const BOPAlgo_SectionAttribute& theSecAttr);
//! Sets the flag that defines the mode of treatment.
@@ -98,6 +113,22 @@ public:
//! a copy of a sub-shape is created in the result if it is needed to be updated.
Standard_EXPORT Standard_Boolean NonDestructive() const;
//! The interferences between shapes are computed on the basis of increasing
//! of the dimension value of the shape in the following order:
//! Vertex / Vertex,------|
//! Vertex / Edge, |
//! Edge / Edge, |Brep Interferences, occurs in place of 3D space where
//! Vertex / Face, |the distance between the underlying geometry of shapes
//! Edge / Face, |is less or equal to the sum of tolerances of the shapes
//! Face / Face,----------|
//!
//! Vertex / Solid,-------|
//! Edge / Solid, |Non-Brep interferences, occurs if two shapes has no brep
//! Face / Solid, |interferences but one shape completely inside the other
//! Solid / Solid.--------|
//! This order allows avoiding the computation of redundant interferences between
//! upper - level shapes when there are interferences between lower sub - shapes.
//! The result of interferences will be stored in DS
Standard_EXPORT virtual void Perform() Standard_OVERRIDE;
@@ -121,67 +152,101 @@ protected:
//! Sets non-destructive mode automatically if an argument
//! contains a locked sub-shape (see TopoDS_Shape::Locked()).
Standard_EXPORT void SetNonDestructive();
//!
Standard_EXPORT void SetIsPrimary(const Standard_Boolean theFlag);
//!
Standard_EXPORT Standard_Boolean IsPrimary() const;
Standard_EXPORT virtual void PerformInternal();
//! Clears the contents
Standard_EXPORT virtual void Clear();
//! Initialize the contents: data structure,
//! iterator and intersection context
Standard_EXPORT virtual void Init();
//! Prepare the data (update edges if it is nessesary)
Standard_EXPORT void Prepare();
//! Compute Vertex/Vertex interferences
Standard_EXPORT virtual void PerformVV();
//! Compute Vertex/Edge interferences
Standard_EXPORT virtual void PerformVE();
//! Compute Vertex/Face interferences
Standard_EXPORT virtual void PerformVF();
//! Compute Edge/Edge interferences
Standard_EXPORT virtual void PerformEE();
//! Compute Edge/Face interferences
Standard_EXPORT virtual void PerformEF();
//! Compute Face/Face interferences
Standard_EXPORT virtual void PerformFF();
//! Compute Vertex/Solid interferences
Standard_EXPORT virtual void PerformVZ();
//! Compute Edge/Solid interferences
Standard_EXPORT virtual void PerformEZ();
//! Compute Face/Solid interferences
Standard_EXPORT virtual void PerformFZ();
//! Compute Solid/Solid interferences
Standard_EXPORT virtual void PerformZZ();
//! Compute Shape/Solid interferences
//! <aTS> - type of shape
Standard_EXPORT virtual void PerformSZ(const TopAbs_ShapeEnum aTS);
//! Compute VF interferences for each new vertex from EE interferences
Standard_EXPORT void TreatVerticesEE();
Standard_EXPORT void MakeSDVerticesFF(const BOPCol_DataMapOfIntegerListOfInteger& aDMVLV,
BOPCol_DataMapOfIntegerInteger& theDMNewSD);
//! For each pave block do the folowing:
//! get the real pave block, which is equal this pave block
//! if it is not a common block or first PB from the list of common block;
//! build split edge, append it to the current PB and store info about new edge in DS
Standard_EXPORT void MakeSplitEdges();
//!
Standard_EXPORT void MakeBlocks();
Standard_EXPORT void MakePCurves();
//! Build new vertices from the vertices located to each other
//! at a distance less the sum of their tolerances.
//! Store information about new vertices in Data Structure.
Standard_EXPORT Standard_Integer MakeSDVertices(const BOPCol_ListOfInteger& theVertIndices,
const Standard_Boolean theAddInterfs = 1);
//! Process Degenerated edges if it is needed
Standard_EXPORT void ProcessDE();
//! Set shrunk data for the current paveblock <thePB>
Standard_EXPORT void FillShrunkData (Handle(BOPDS_PaveBlock)& thePB);
Standard_EXPORT void FillShrunkData (const TopAbs_ShapeEnum theType1, const TopAbs_ShapeEnum theType2);
//! Sets shrunk data of the edges that has interferences with other shapes
//! <theType1> , <theType2> denotes which interferences should be considered
Standard_EXPORT void FillShrunkData (const TopAbs_ShapeEnum theType1,
const TopAbs_ShapeEnum theType2);
//!
Standard_EXPORT Standard_Integer PerformVerticesEE (BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks& theMVCPB, const BOPCol_BaseAllocator& theAllocator);
Standard_EXPORT Standard_Integer PerformVerticesEF (BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks& theMVCPB, const BOPCol_BaseAllocator& theAllocator);
Standard_EXPORT Standard_Boolean CheckFacePaves (const TopoDS_Vertex& theVnew, const BOPCol_MapOfInteger& theMIF);
//!
Standard_EXPORT static Standard_Boolean CheckFacePaves (const Standard_Integer theN, const BOPCol_MapOfInteger& theMIFOn, const BOPCol_MapOfInteger& theMIFIn);
Standard_EXPORT Standard_Boolean IsExistingVertex (const gp_Pnt& theP, const Standard_Real theTol, const BOPCol_MapOfInteger& theMVOn) const;
@@ -233,10 +298,14 @@ protected:
Standard_EXPORT void FindPaveBlocks (const Standard_Integer theV, const Standard_Integer theF, BOPDS_ListOfPaveBlock& theLPB);
Standard_EXPORT void FillPaves (const Standard_Integer theV, const Standard_Integer theE, const Standard_Integer theF, const BOPDS_ListOfPaveBlock& theLPB, const Handle(BOPDS_PaveBlock)& thePB);
//!
Standard_EXPORT void MakeSplitEdge (const Standard_Integer theV, const Standard_Integer theF);
Standard_EXPORT void GetEFPnts (const Standard_Integer nF1, const Standard_Integer nF2, IntSurf_ListOfPntOn2S& aListOfPnts);
//! new pnt from interference EF
Standard_EXPORT void GetEFPnts (const Standard_Integer nF1,
const Standard_Integer nF2,
IntSurf_ListOfPntOn2S& aListOfPnts);
//! Checks and puts paves created in EF intersections on the curve <theNC>.
@@ -261,18 +330,24 @@ protected:
//! 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.
Standard_EXPORT void GetStickVertices (const Standard_Integer nF1, const Standard_Integer nF2, BOPCol_MapOfInteger& theMVStick, BOPCol_MapOfInteger& theMVEF, BOPCol_MapOfInteger& theMI);
Standard_EXPORT void GetStickVertices (const Standard_Integer nF1,
const Standard_Integer nF2,
BOPCol_MapOfInteger& theMVStick,
BOPCol_MapOfInteger& theMVEF,
BOPCol_MapOfInteger& theMI);
//! Collects index nF and indices of all subshapes of the shape with index <nF>
//! to the map <theMI>.
Standard_EXPORT void GetFullShapeMap (const Standard_Integer nF, BOPCol_MapOfInteger& theMI);
Standard_EXPORT void GetFullShapeMap (const Standard_Integer nF,
BOPCol_MapOfInteger& theMI);
//! Removes indices of vertices that are already on the
//! curve <theNC> from the map <theMV>.
//! It is used in PutEFPavesOnCurve and PutStickPavesOnCurve methods.
Standard_EXPORT void RemoveUsedVertices (BOPDS_Curve& theNC, BOPCol_MapOfInteger& theMV);
Standard_EXPORT void RemoveUsedVertices (BOPDS_Curve& theNC,
BOPCol_MapOfInteger& theMV);
//! Puts the pave nV on the curve theNC.
@@ -291,17 +366,26 @@ protected:
//! Adds the existing edges from the map <theMPBOnIn> which interfere
//! with the vertices from <theMVB> map to the post treatment of section edges.
Standard_EXPORT void ProcessExistingPaveBlocks (const Standard_Integer theInt, const BOPDS_IndexedMapOfPaveBlock& theMPBOnIn, const BOPCol_DataMapOfIntegerListOfInteger& theDMBV, BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks& theMSCPB, BOPCol_DataMapOfShapeInteger& theMVI, BOPDS_MapOfPaveBlock& theMPB);
Standard_EXPORT void ProcessExistingPaveBlocks (const Standard_Integer theInt,
const BOPDS_IndexedMapOfPaveBlock& theMPBOnIn,
const BOPCol_DataMapOfIntegerListOfInteger& theDMBV,
BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks& theMSCPB,
BOPCol_DataMapOfShapeInteger& theMVI,
BOPDS_MapOfPaveBlock& theMPB);
//! 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.
Standard_EXPORT void UpdateExistingPaveBlocks (const Handle(BOPDS_PaveBlock)& thePB, BOPDS_ListOfPaveBlock& theLPB, const Standard_Integer nF1, const Standard_Integer nF2);
Standard_EXPORT void UpdateExistingPaveBlocks (const Handle(BOPDS_PaveBlock)& thePB,
BOPDS_ListOfPaveBlock& theLPB,
const Standard_Integer nF1,
const Standard_Integer nF2);
//! Treatment of vertices that were created in EE intersections.
Standard_EXPORT void TreatNewVertices(const BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks& theMVCPB, BOPCol_IndexedDataMapOfShapeListOfShape& theImages);
Standard_EXPORT void TreatNewVertices(const BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks& theMVCPB,
BOPCol_IndexedDataMapOfShapeListOfShape& theImages);
//! Put paves on the curve <aBC> in case when <aBC>
@@ -310,7 +394,12 @@ protected:
//! Keeps data for post treatment
Standard_EXPORT void PreparePostTreatFF (const Standard_Integer aInt, const Standard_Integer aCur, const Handle(BOPDS_PaveBlock)& aPB, BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks& aMSCPB, BOPCol_DataMapOfShapeInteger& aMVI, BOPDS_ListOfPaveBlock& aLPB);
Standard_EXPORT void PreparePostTreatFF (const Standard_Integer aInt,
const Standard_Integer aCur,
const Handle(BOPDS_PaveBlock)& aPB,
BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks& aMSCPB,
BOPCol_DataMapOfShapeInteger& aMVI,
BOPDS_ListOfPaveBlock& aLPB);
//! Refines the state On for the all faces having
@@ -319,27 +408,36 @@ protected:
//! Updates the information about faces
Standard_EXPORT void UpdateFaceInfo (BOPDS_DataMapOfPaveBlockListOfPaveBlock& theDME, const BOPCol_DataMapOfIntegerInteger& theDMV);
Standard_EXPORT void UpdateFaceInfo (BOPDS_DataMapOfPaveBlockListOfPaveBlock& theDME,
const BOPCol_DataMapOfIntegerInteger& theDMV);
//! Updates tolerance of vertex with index <nV>
//! to make it interfere with edge
Standard_EXPORT void ForceInterfVE (const Standard_Integer nV, Handle(BOPDS_PaveBlock)& aPB, BOPDS_MapOfPaveBlock& aMPB);
Standard_EXPORT 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 face with index <nF>
Standard_EXPORT Standard_Boolean ForceInterfVF (const Standard_Integer nV, const Standard_Integer nF);
Standard_EXPORT Standard_Boolean ForceInterfVF (const Standard_Integer nV,
const Standard_Integer nF);
//! Checks if there are any common or intersecting sub shapes
//! between two planar faces.
Standard_EXPORT Standard_Boolean CheckPlanes (const Standard_Integer nF1, const Standard_Integer nF2) const;
Standard_EXPORT Standard_Boolean CheckPlanes (const Standard_Integer nF1,
const Standard_Integer nF2) const;
//! Creates new edge from the edge nE with vertices nV1 and nV2
//! and returns the index of that new edge in the DS.
Standard_EXPORT Standard_Integer SplitEdge (const Standard_Integer nE, const Standard_Integer nV1, const Standard_Real aT1, const Standard_Integer nV2, const Standard_Real aT2);
Standard_EXPORT Standard_Integer SplitEdge (const Standard_Integer nE,
const Standard_Integer nV1,
const Standard_Real aT1,
const Standard_Integer nV2,
const Standard_Real aT2);
//! Updates pave blocks which have the paves with indices contained
@@ -351,11 +449,14 @@ protected:
//! @return DS index of updated vertex.
Standard_EXPORT Standard_Integer UpdateVertex(const Standard_Integer nV,
const Standard_Real aTolNew);
//! Update the pave blocks for all shapes in data structure
Standard_EXPORT void UpdatePaveBlocksWithSDVertices();
//! Update the pave block of the common block for all shapes in data structure
Standard_EXPORT void UpdateCommonBlocksWithSDVertices();
//!
Standard_EXPORT void UpdateBlocksWithSharedVertices();
Standard_EXPORT Standard_Boolean EstimatePaveOnCurve(const Standard_Integer nV,

View File

@@ -108,7 +108,7 @@ void BOPAlgo_PaveFiller::PerformVV()
}
//=======================================================================
// function: PerformVV
// function: MakeSDVertices
// purpose:
//=======================================================================
Standard_Integer BOPAlgo_PaveFiller::MakeSDVertices

View File

@@ -32,27 +32,60 @@ class BOPDS_PaveBlock;
class BOPDS_CommonBlock;
class IntTools_Context;
//! Provides static methods to perform interferenses between VV, VE, EE etc.
class BOPAlgo_Tools
{
public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT static void MakeBlocksCnx (const BOPCol_IndexedDataMapOfIntegerListOfInteger& theMILI, BOPCol_DataMapOfIntegerListOfInteger& theMBlocks, const BOPCol_BaseAllocator& theAllocator);
Standard_EXPORT static void MakeBlocks (const BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock& theMILI, BOPDS_DataMapOfIntegerListOfPaveBlock& theMBlocks, const BOPCol_BaseAllocator& theAllocator);
Standard_EXPORT static void PerformCommonBlocks (BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock& theMBlocks, const BOPCol_BaseAllocator& theAllocator, BOPDS_PDS& pDS);
Standard_EXPORT static void FillMap (const Standard_Integer tneN1, const Standard_Integer tneN2, BOPCol_IndexedDataMapOfIntegerListOfInteger& theMILI, const BOPCol_BaseAllocator& theAllocator);
Standard_EXPORT static void FillMap (const Handle(BOPDS_PaveBlock)& tnePB1, const Handle(BOPDS_PaveBlock)& tnePB2, BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock& theMILI, const BOPCol_BaseAllocator& theAllocator);
Standard_EXPORT static void FillMap (const Handle(BOPDS_PaveBlock)& tnePB1, const Standard_Integer tneF, BOPDS_IndexedDataMapOfPaveBlockListOfInteger& theMILI, const BOPCol_BaseAllocator& theAllocator);
Standard_EXPORT static void PerformCommonBlocks (const BOPDS_IndexedDataMapOfPaveBlockListOfInteger& theMBlocks, const BOPCol_BaseAllocator& theAllocator, BOPDS_PDS& pDS);
//! Compute the connexity chains of interfered vertices
//!
Standard_EXPORT static void MakeBlocksCnx (const BOPCol_IndexedDataMapOfIntegerListOfInteger& theMILI,
BOPCol_DataMapOfIntegerListOfInteger& theMBlocks,
const BOPCol_BaseAllocator& theAllocator);
//! Compute common blocks from map of interfered pave blocks <theMILI>.
//! The result list of common blocks will be stored in <theMBlocks>.
Standard_EXPORT static void MakeBlocks (const BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock& theMILI,
BOPDS_DataMapOfIntegerListOfPaveBlock& theMBlocks,
const BOPCol_BaseAllocator& theAllocator);
//! For each common part of intersected edges <theMBLocks>:
//! Compute connexity chains of pave blocks; compute common blocks on them;
//! attach the common blocks to the pave blocks;
//! store information about new commmon blocks in DS
Standard_EXPORT static void PerformCommonBlocks (BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock& theMBlocks,
const BOPCol_BaseAllocator& theAllocator,
BOPDS_PDS& pDS);
//!
Standard_EXPORT static void FillMap (const Standard_Integer tneN1, const Standard_Integer tneN2, BOPCol_IndexedDataMapOfIntegerListOfInteger& theMILI, const BOPCol_BaseAllocator& theAllocator);
//! Add interfered pave blocks (<thePB1>, <thePB2>) to the map <theMLI>.
//! The key of this map is a pave block, and the value
//! is a list of pave blocks intersected with the key
Standard_EXPORT static void FillMap (const Handle(BOPDS_PaveBlock)& tnePB1,
const Handle(BOPDS_PaveBlock)& tnePB2,
BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock& theMILI,
const BOPCol_BaseAllocator& theAllocator);
//! Fil the map <theMILI>.
//! The key is - pave plock <tnePB1>,
//! the value - list of faces <tneF> which intersects with the pave block
Standard_EXPORT static void FillMap (const Handle(BOPDS_PaveBlock)& tnePB1,
const Standard_Integer tneF,
BOPDS_IndexedDataMapOfPaveBlockListOfInteger& theMILI,
const BOPCol_BaseAllocator& theAllocator);
//! For each common part of edge: create common blocks
//! from pave blocks that lie on the faces <theMBlocks>
//! and attach them to the pave blocks in DS
Standard_EXPORT static void PerformCommonBlocks (const BOPDS_IndexedDataMapOfPaveBlockListOfInteger& theMBlocks,
const BOPCol_BaseAllocator& theAllocator,
BOPDS_PDS& pDS);
//! Returns tolerance of common block
Standard_EXPORT static Standard_Real ComputeToleranceOfCB
(const Handle(BOPDS_CommonBlock)& theCB,
const BOPDS_PDS theDS,

View File

@@ -433,14 +433,26 @@ Standard_EXPORT virtual ~BOPDS_DS();
//! debug
const BOPDS_MapOfPassKey& Interferences() const;
//! Prints the information about the shape
Standard_EXPORT void Dump() const;
//! Sort pave blocks in common block according their tolerance
Standard_EXPORT void SortPaveBlocks (const Handle(BOPDS_CommonBlock)& theCB);
//! Query
//! Returns true if pave block with index theI
//! in common block should be sorted
Standard_EXPORT Standard_Boolean IsToSort (const Handle(BOPDS_CommonBlock)& theCB, Standard_Integer& theI);
//! Query
//! Returns true if the shape with indice theI1
//! is a sub-shape of the shape with indice theI2
Standard_EXPORT Standard_Boolean IsSubShape (const Standard_Integer theI1, const Standard_Integer theI2);
//! Fills theLP with sorted paves
//! of the shape with index theIndex
Standard_EXPORT void Paves (const Standard_Integer theIndex, BOPDS_ListOfPave& theLP);
@@ -457,6 +469,8 @@ Standard_EXPORT virtual ~BOPDS_DS();
//! Update the pave block of the common block for all shapes in data structure
Standard_EXPORT void UpdateCommonBlockWithSDVertices(const Handle(BOPDS_CommonBlock)& theCB);
//! Initializes the pave block for vertices,which was
//! used during computing V/V interferences
Standard_EXPORT void InitPaveBlocksForVertex(const Standard_Integer theNV);
protected:
@@ -472,8 +486,10 @@ protected:
//! Initializes the state of face with index theIndex
Standard_EXPORT void InitFaceInfo (const Standard_Integer theIndex);
//!
Standard_EXPORT void InitShape (const Standard_Integer theIndex, const TopoDS_Shape& theS, const BOPCol_BaseAllocator& theAllocator, BOPCol_DataMapOfShapeInteger& theMSI);
//!
Standard_EXPORT Standard_Boolean CheckCoincidence (const Handle(BOPDS_PaveBlock)& thePB1,
const Handle(BOPDS_PaveBlock)& thePB2,
const Standard_Real theFuzz);

View File

@@ -101,6 +101,8 @@ virtual ~BOPDS_ShapeInfo();
//! index theI
Standard_Boolean HasSubShape (const Standard_Integer theI) const;
//! Query
//! Returns true if the shape has reference information
Standard_Boolean HasReference() const;

View File

@@ -52,13 +52,18 @@ public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT static Standard_Integer ComputeVV (const TopoDS_Vertex& aV1, const gp_Pnt& aP2, const Standard_Real aTolP2);
Standard_EXPORT static Standard_Integer ComputeVV (const TopoDS_Vertex& aV1,
const gp_Pnt& aP2,
const Standard_Real aTolP2);
//!
Standard_EXPORT static Standard_Integer ComputeVV (const TopoDS_Vertex& aV1,
const TopoDS_Vertex& aV2,
const Standard_Real theFuzz = Precision::Confusion());
Standard_EXPORT static void MakeVertex (const BOPCol_ListOfShape& aLV, TopoDS_Vertex& aV);
//! Make one new vertex(aV) from the input list of vertices
Standard_EXPORT static void MakeVertex (const BOPCol_ListOfShape& aLV,
TopoDS_Vertex& aV);
Standard_EXPORT static void MakeEdge (const IntTools_Curve& theCurve, const TopoDS_Vertex& theV1, const Standard_Real theT1, const TopoDS_Vertex& theV2, const Standard_Real theT2, const Standard_Real theTolR3D, TopoDS_Edge& theE);