Open CASCADE Technology  7.5.0
Public Member Functions | Protected Member Functions

BRepAlgoAPI_Section Class Reference

The algorithm is to build a Secton operation between arguments and tools. The result of Section operation consists of vertices and edges. The result of Section operation contains: More...

#include <BRepAlgoAPI_Section.hxx>

Inheritance diagram for BRepAlgoAPI_Section:
Inheritance graph
[legend]

Public Member Functions

 BRepAlgoAPI_Section ()
 Empty constructor. More...
 
virtual ~BRepAlgoAPI_Section ()
 
 BRepAlgoAPI_Section (const BOPAlgo_PaveFiller &PF)
 Empty constructor <PF> - PaveFiller object that is carried out. More...
 
 BRepAlgoAPI_Section (const TopoDS_Shape &S1, const TopoDS_Shape &S2, const Standard_Boolean PerformNow=Standard_True)
 Constructor with two shapes <S1> -argument <S2> -tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediatly Obsolete. More...
 
 BRepAlgoAPI_Section (const TopoDS_Shape &S1, const TopoDS_Shape &S2, const BOPAlgo_PaveFiller &aDSF, const Standard_Boolean PerformNow=Standard_True)
 Constructor with two shapes <S1> -argument <S2> -tool <PF> - PaveFiller object that is carried out <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediatly Obsolete. More...
 
 BRepAlgoAPI_Section (const TopoDS_Shape &S1, const gp_Pln &Pl, const Standard_Boolean PerformNow=Standard_True)
 Constructor with two shapes <S1> - argument <Pl> - tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediatly Obsolete. More...
 
 BRepAlgoAPI_Section (const TopoDS_Shape &S1, const Handle< Geom_Surface > &Sf, const Standard_Boolean PerformNow=Standard_True)
 Constructor with two shapes <S1> - argument <Sf> - tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediatly Obsolete. More...
 
 BRepAlgoAPI_Section (const Handle< Geom_Surface > &Sf, const TopoDS_Shape &S2, const Standard_Boolean PerformNow=Standard_True)
 Constructor with two shapes <Sf> - argument <S2> - tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediatly Obsolete. More...
 
 BRepAlgoAPI_Section (const Handle< Geom_Surface > &Sf1, const Handle< Geom_Surface > &Sf2, const Standard_Boolean PerformNow=Standard_True)
 Constructor with two shapes <Sf1> - argument <Sf2> - tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediatly Obsolete. More...
 
void Init1 (const TopoDS_Shape &S1)
 initialize the argument <S1> - argument Obsolete More...
 
void Init1 (const gp_Pln &Pl)
 initialize the argument <Pl> - argument Obsolete More...
 
void Init1 (const Handle< Geom_Surface > &Sf)
 initialize the argument <Sf> - argument Obsolete More...
 
void Init2 (const TopoDS_Shape &S2)
 initialize the tool <S2> - tool Obsolete More...
 
void Init2 (const gp_Pln &Pl)
 initialize the tool <Pl> - tool Obsolete More...
 
void Init2 (const Handle< Geom_Surface > &Sf)
 initialize the tool <Sf> - tool Obsolete More...
 
void Approximation (const Standard_Boolean B)
 
void ComputePCurveOn1 (const Standard_Boolean B)
 Indicates whether the P-Curve should be (or not) performed on the argument. By default, no parametric 2D curve (pcurve) is defined for the edges of the result. If ComputePCurve1 equals true, further computations performed to attach an P-Curve in the parametric space of the argument to the constructed edges. Obsolete. More...
 
void ComputePCurveOn2 (const Standard_Boolean B)
 Indicates whether the P-Curve should be (or not) performed on the tool. By default, no parametric 2D curve (pcurve) is defined for the edges of the result. If ComputePCurve1 equals true, further computations performed to attach an P-Curve in the parametric space of the tool to the constructed edges. Obsolete. More...
 
virtual void Build () override
 Performs the algorithm Filling interference Data Structure (if it is necessary) Building the result of the operation. More...
 
Standard_Boolean HasAncestorFaceOn1 (const TopoDS_Shape &E, TopoDS_Shape &F) const
 get the face of the first part giving section edge <E>. Returns True on the 3 following conditions : 1/ <E> is an edge returned by the Shape() metwod. 2/ First part of section performed is a shape. 3/ <E> is built on a intersection curve (i.e <E> is not the result of common edges) When False, F remains untouched. Obsolete More...
 
Standard_Boolean HasAncestorFaceOn2 (const TopoDS_Shape &E, TopoDS_Shape &F) const
 Identifies the ancestor faces of the intersection edge E resulting from the last computation performed in this framework, that is, the faces of the two original shapes on which the edge E lies: More...
 
- Public Member Functions inherited from BRepAlgoAPI_BooleanOperation
const TopoDS_ShapeShape1 () const
 Returns the first argument involved in this Boolean operation. Obsolete. More...
 
const TopoDS_ShapeShape2 () const
 Returns the second argument involved in this Boolean operation. Obsolete. More...
 
void SetTools (const TopTools_ListOfShape &theLS)
 Sets the Tool arguments. More...
 
const TopTools_ListOfShapeTools () const
 Returns the Tools arguments. More...
 
void SetOperation (const BOPAlgo_Operation theBOP)
 Sets the type of Boolean operation. More...
 
BOPAlgo_Operation Operation () const
 Returns the type of Boolean Operation. More...
 
 BRepAlgoAPI_BooleanOperation ()
 Empty constructor. More...
 
 BRepAlgoAPI_BooleanOperation (const BOPAlgo_PaveFiller &thePF)
 Constructor with precomputed intersections of arguments. More...
 
- Public Member Functions inherited from BRepAlgoAPI_BuilderAlgo
 BRepAlgoAPI_BuilderAlgo ()
 Empty constructor. More...
 
virtual ~BRepAlgoAPI_BuilderAlgo ()
 Empty constructor. More...
 
 BRepAlgoAPI_BuilderAlgo (const BOPAlgo_PaveFiller &thePF)
 Constructor with prepared Filler object. More...
 
void SetArguments (const TopTools_ListOfShape &theLS)
 Sets the arguments. More...
 
const TopTools_ListOfShapeArguments () const
 Gets the arguments. More...
 
void SetNonDestructive (const Standard_Boolean theFlag)
 Sets the flag that defines the mode of treatment. In non-destructive mode the argument shapes are not modified. Instead a copy of a sub-shape is created in the result if it is needed to be updated. More...
 
Standard_Boolean NonDestructive () const
 Returns the flag that defines the mode of treatment. In non-destructive mode the argument shapes are not modified. Instead a copy of a sub-shape is created in the result if it is needed to be updated. More...
 
void SetGlue (const BOPAlgo_GlueEnum theGlue)
 Sets the glue option for the algorithm, which allows increasing performance of the intersection of the input shapes. More...
 
BOPAlgo_GlueEnum Glue () const
 Returns the glue option of the algorithm. More...
 
void SetCheckInverted (const Standard_Boolean theCheck)
 Enables/Disables the check of the input solids for inverted status. More...
 
Standard_Boolean CheckInverted () const
 Returns the flag defining whether the check for input solids on inverted status should be performed or not. More...
 
void SimplifyResult (const Standard_Boolean theUnifyEdges=Standard_True, const Standard_Boolean theUnifyFaces=Standard_True, const Standard_Real theAngularTol=Precision::Angular())
 Simplification of the result shape is performed by the means of ShapeUpgrade_UnifySameDomain algorithm. The result of the operation will be overwritten with the simplified result. More...
 
virtual const TopTools_ListOfShapeModified (const TopoDS_Shape &theS) override
 Returns the shapes modified from the shape <theS>. If any, the list will contain only those splits of the given shape, contained in the result. More...
 
virtual const TopTools_ListOfShapeGenerated (const TopoDS_Shape &theS) override
 Returns the list of shapes generated from the shape <theS>. In frames of Boolean Operations algorithms only Edges and Faces could have Generated elements, as only they produce new elements during intersection: More...
 
virtual Standard_Boolean IsDeleted (const TopoDS_Shape &aS) override
 Checks if the shape <theS> has been completely removed from the result, i.e. the result does not contain the shape itself and any of its splits. Returns TRUE if the shape has been deleted. More...
 
virtual Standard_Boolean HasModified () const
 Returns true if any of the input shapes has been modified during operation. More...
 
virtual Standard_Boolean HasGenerated () const
 Returns true if any of the input shapes has generated shapes during operation. More...
 
virtual Standard_Boolean HasDeleted () const
 Returns true if any of the input shapes has been deleted during operation. Normally, General Fuse operation should not have Deleted elements, but all derived operation can have. More...
 
void SetToFillHistory (const Standard_Boolean theHistFlag)
 Allows disabling the history collection. More...
 
Standard_Boolean HasHistory () const
 Returns flag of history availability. More...
 
const TopTools_ListOfShapeSectionEdges ()
 Returns a list of section edges. The edges represent the result of intersection between arguments of operation. More...
 
const BOPAlgo_PPaveFillerDSFiller () const
 Returns the Intersection tool. More...
 
const BOPAlgo_PBuilderBuilder () const
 Returns the Building tool. More...
 
Handle< BRepTools_HistoryHistory () const
 History tool. More...
 
- Public Member Functions inherited from BRepAlgoAPI_Algo
virtual const TopoDS_ShapeShape () override
 Returns a shape built by the shape construction algorithm. Raises exception StdFail_NotDone if the shape was not built. More...
 
- Public Member Functions inherited from BRepBuilderAPI_MakeShape
 operator TopoDS_Shape ()
 
- Public Member Functions inherited from BRepBuilderAPI_Command
virtual ~BRepBuilderAPI_Command ()
 
virtual Standard_Boolean IsDone () const
 
void Check () const
 Raises NotDone if done is false. More...
 

Protected Member Functions

void Init (const Standard_Boolean PerformNow)
 
virtual void SetAttributes () override
 Sets options (available in child classes) for the intersection tool. Here it does nothing. More...
 
- Protected Member Functions inherited from BRepAlgoAPI_BooleanOperation
 BRepAlgoAPI_BooleanOperation (const TopoDS_Shape &theS1, const TopoDS_Shape &theS2, const BOPAlgo_Operation theOperation)
 Constructor to perform Boolean operation on only two arguments. Obsolete. More...
 
 BRepAlgoAPI_BooleanOperation (const TopoDS_Shape &theS1, const TopoDS_Shape &theS2, const BOPAlgo_PaveFiller &thePF, const BOPAlgo_Operation theOperation)
 Constructor to perform Boolean operation on only two arguments with precomputed intersection results. Obsolete. More...
 
- Protected Member Functions inherited from BRepAlgoAPI_BuilderAlgo
void IntersectShapes (const TopTools_ListOfShape &theArgs)
 Intersects the given shapes with the intersection tool. More...
 
void BuildResult ()
 Builds the resulting shape. More...
 
virtual void Clear () override
 Clears the algorithm from previous runs. More...
 
- Protected Member Functions inherited from BRepAlgoAPI_Algo
 BRepAlgoAPI_Algo ()
 Empty constructor. More...
 
virtual ~BRepAlgoAPI_Algo ()
 Destructor. More...
 
 BRepAlgoAPI_Algo (const Handle< NCollection_BaseAllocator > &theAllocator)
 Empty constructor. More...
 
- Protected Member Functions inherited from BRepBuilderAPI_MakeShape
 BRepBuilderAPI_MakeShape ()
 
- Protected Member Functions inherited from BRepBuilderAPI_Command
 BRepBuilderAPI_Command ()
 Set done to False. More...
 
void Done ()
 Set done to true. More...
 
void NotDone ()
 Set done to false. More...
 
- Protected Member Functions inherited from BOPAlgo_Options
void UserBreak () const
 Breaks the execution if the break signal is indicated by myProgressIndicator. More...
 
 BOPAlgo_Options ()
 Empty constructor. More...
 
 BOPAlgo_Options (const Handle< NCollection_BaseAllocator > &theAllocator)
 Constructor with allocator. More...
 
virtual ~BOPAlgo_Options ()
 Destructor. More...
 
const Handle< NCollection_BaseAllocator > & Allocator () const
 Returns allocator. More...
 
void AddError (const Handle< Message_Alert > &theAlert)
 Adds the alert as error (fail) More...
 
void AddWarning (const Handle< Message_Alert > &theAlert)
 Adds the alert as warning. More...
 
Standard_Boolean HasErrors () const
 Returns true if algorithm has failed. More...
 
Standard_Boolean HasError (const Handle< Standard_Type > &theType) const
 Returns true if algorithm has generated error of specified type. More...
 
Standard_Boolean HasWarnings () const
 Returns true if algorithm has generated some warning alerts. More...
 
Standard_Boolean HasWarning (const Handle< Standard_Type > &theType) const
 Returns true if algorithm has generated warning of specified type. More...
 
const Handle< Message_Report > & GetReport () const
 Returns report collecting all errors and warnings. More...
 
void DumpErrors (Standard_OStream &theOS) const
 Dumps the error status into the given stream. More...
 
void DumpWarnings (Standard_OStream &theOS) const
 Dumps the warning statuses into the given stream. More...
 
void ClearWarnings ()
 Clears the warnings of the algorithm. More...
 
void SetFuzzyValue (const Standard_Real theFuzz)
 Sets the additional tolerance. More...
 
Standard_Real FuzzyValue () const
 Returns the additional tolerance. More...
 
void SetProgressIndicator (const Message_ProgressScope &theProgress)
 Set the Progress Indicator object. More...
 
void SetRunParallel (const Standard_Boolean theFlag)
 Set the flag of parallel processing 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...
 
void SetUseOBB (const Standard_Boolean theUseOBB)
 Enables/Disables the usage of OBB. More...
 
Standard_Boolean UseOBB () const
 Returns the flag defining usage of OBB. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from BOPAlgo_Options
static Standard_Boolean GetParallelMode ()
 Gets the global parallel mode. More...
 
static void SetParallelMode (const Standard_Boolean theNewMode)
 Sets the global parallel mode. More...
 
- Protected Attributes inherited from BRepAlgoAPI_BooleanOperation
TopTools_ListOfShape myTools
 Tool arguments of operation. More...
 
BOPAlgo_Operation myOperation
 Type of Boolean Operation. More...
 
- Protected Attributes inherited from BRepAlgoAPI_BuilderAlgo
TopTools_ListOfShape myArguments
 Arguments of the operation. More...
 
Standard_Boolean myNonDestructive
 Non-destructive mode management. More...
 
BOPAlgo_GlueEnum myGlue
 Gluing mode management. More...
 
Standard_Boolean myCheckInverted
 Check for inverted solids management. More...
 
Standard_Boolean myFillHistory
 Controls the history collection. More...
 
Standard_Boolean myIsIntersectionNeeded
 Flag to control whether the intersection of arguments should be performed or not. More...
 
BOPAlgo_PPaveFiller myDSFiller
 Intersection tool performs intersection of the argument shapes. More...
 
BOPAlgo_PBuilder myBuilder
 Building tool performs construction of the result basing on the results of intersection. More...
 
Handle< BRepTools_HistorymyHistory
 General History tool, containing all History of shapes modifications during the operation (including result simplification) More...
 
Handle< BRepTools_HistorymySimplifierHistory
 History of result shape simplification. More...
 
- Protected Attributes inherited from BRepBuilderAPI_MakeShape
TopoDS_Shape myShape
 
TopTools_ListOfShape myGenerated
 
- Protected Attributes inherited from BOPAlgo_Options
Handle< NCollection_BaseAllocatormyAllocator
 Enables/Disables the usage of OBB. More...
 
Handle< Message_ReportmyReport
 Enables/Disables the usage of OBB. More...
 
Standard_Boolean myRunParallel
 Enables/Disables the usage of OBB. More...
 
Standard_Real myFuzzyValue
 Enables/Disables the usage of OBB. More...
 
const Message_ProgressScopemyProgressScope
 Enables/Disables the usage of OBB. More...
 
Standard_Boolean myUseOBB
 Enables/Disables the usage of OBB. More...
 

Detailed Description

The algorithm is to build a Secton operation between arguments and tools. The result of Section operation consists of vertices and edges. The result of Section operation contains:

  1. new vertices that are subjects of V/V, E/E, E/F, F/F interferences
  2. vertices that are subjects of V/E, V/F interferences
  3. new edges that are subjects of F/F interferences
  4. edges that are Common Blocks

Constructor & Destructor Documentation

◆ BRepAlgoAPI_Section() [1/8]

BRepAlgoAPI_Section::BRepAlgoAPI_Section ( )

Empty constructor.

◆ ~BRepAlgoAPI_Section()

virtual BRepAlgoAPI_Section::~BRepAlgoAPI_Section ( )
virtual

◆ BRepAlgoAPI_Section() [2/8]

BRepAlgoAPI_Section::BRepAlgoAPI_Section ( const BOPAlgo_PaveFiller PF)

Empty constructor <PF> - PaveFiller object that is carried out.

◆ BRepAlgoAPI_Section() [3/8]

BRepAlgoAPI_Section::BRepAlgoAPI_Section ( const TopoDS_Shape S1,
const TopoDS_Shape S2,
const Standard_Boolean  PerformNow = Standard_True 
)

Constructor with two shapes <S1> -argument <S2> -tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediatly Obsolete.

◆ BRepAlgoAPI_Section() [4/8]

BRepAlgoAPI_Section::BRepAlgoAPI_Section ( const TopoDS_Shape S1,
const TopoDS_Shape S2,
const BOPAlgo_PaveFiller aDSF,
const Standard_Boolean  PerformNow = Standard_True 
)

Constructor with two shapes <S1> -argument <S2> -tool <PF> - PaveFiller object that is carried out <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediatly Obsolete.

◆ BRepAlgoAPI_Section() [5/8]

BRepAlgoAPI_Section::BRepAlgoAPI_Section ( const TopoDS_Shape S1,
const gp_Pln Pl,
const Standard_Boolean  PerformNow = Standard_True 
)

Constructor with two shapes <S1> - argument <Pl> - tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediatly Obsolete.

◆ BRepAlgoAPI_Section() [6/8]

BRepAlgoAPI_Section::BRepAlgoAPI_Section ( const TopoDS_Shape S1,
const Handle< Geom_Surface > &  Sf,
const Standard_Boolean  PerformNow = Standard_True 
)

Constructor with two shapes <S1> - argument <Sf> - tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediatly Obsolete.

◆ BRepAlgoAPI_Section() [7/8]

BRepAlgoAPI_Section::BRepAlgoAPI_Section ( const Handle< Geom_Surface > &  Sf,
const TopoDS_Shape S2,
const Standard_Boolean  PerformNow = Standard_True 
)

Constructor with two shapes <Sf> - argument <S2> - tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediatly Obsolete.

◆ BRepAlgoAPI_Section() [8/8]

BRepAlgoAPI_Section::BRepAlgoAPI_Section ( const Handle< Geom_Surface > &  Sf1,
const Handle< Geom_Surface > &  Sf2,
const Standard_Boolean  PerformNow = Standard_True 
)

Constructor with two shapes <Sf1> - argument <Sf2> - tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediatly Obsolete.

Member Function Documentation

◆ Approximation()

void BRepAlgoAPI_Section::Approximation ( const Standard_Boolean  B)

◆ Build()

virtual void BRepAlgoAPI_Section::Build ( )
overridevirtual

Performs the algorithm Filling interference Data Structure (if it is necessary) Building the result of the operation.

Reimplemented from BRepAlgoAPI_BooleanOperation.

◆ ComputePCurveOn1()

void BRepAlgoAPI_Section::ComputePCurveOn1 ( const Standard_Boolean  B)

Indicates whether the P-Curve should be (or not) performed on the argument. By default, no parametric 2D curve (pcurve) is defined for the edges of the result. If ComputePCurve1 equals true, further computations performed to attach an P-Curve in the parametric space of the argument to the constructed edges. Obsolete.

◆ ComputePCurveOn2()

void BRepAlgoAPI_Section::ComputePCurveOn2 ( const Standard_Boolean  B)

Indicates whether the P-Curve should be (or not) performed on the tool. By default, no parametric 2D curve (pcurve) is defined for the edges of the result. If ComputePCurve1 equals true, further computations performed to attach an P-Curve in the parametric space of the tool to the constructed edges. Obsolete.

◆ HasAncestorFaceOn1()

Standard_Boolean BRepAlgoAPI_Section::HasAncestorFaceOn1 ( const TopoDS_Shape E,
TopoDS_Shape F 
) const

get the face of the first part giving section edge <E>. Returns True on the 3 following conditions : 1/ <E> is an edge returned by the Shape() metwod. 2/ First part of section performed is a shape. 3/ <E> is built on a intersection curve (i.e <E> is not the result of common edges) When False, F remains untouched. Obsolete

◆ HasAncestorFaceOn2()

Standard_Boolean BRepAlgoAPI_Section::HasAncestorFaceOn2 ( const TopoDS_Shape E,
TopoDS_Shape F 
) const

Identifies the ancestor faces of the intersection edge E resulting from the last computation performed in this framework, that is, the faces of the two original shapes on which the edge E lies:

  • HasAncestorFaceOn1 gives the ancestor face in the first shape, and
  • HasAncestorFaceOn2 gives the ancestor face in the second shape. These functions return true if an ancestor face F is found, or false if not. An ancestor face is identifiable for the edge E if the following conditions are satisfied:
  • the first part on which this algorithm performed its last computation is a shape, that is, it was not given as a surface or a plane at the time of construction of this algorithm or at a later time by the Init1 function,
  • E is one of the elementary edges built by the last computation of this section algorithm. To use these functions properly, you have to test the returned Boolean value before using the ancestor face: F is significant only if the returned Boolean value equals true. Obsolete

◆ Init()

void BRepAlgoAPI_Section::Init ( const Standard_Boolean  PerformNow)
protected

◆ Init1() [1/3]

void BRepAlgoAPI_Section::Init1 ( const TopoDS_Shape S1)

initialize the argument <S1> - argument Obsolete

◆ Init1() [2/3]

void BRepAlgoAPI_Section::Init1 ( const gp_Pln Pl)

initialize the argument <Pl> - argument Obsolete

◆ Init1() [3/3]

void BRepAlgoAPI_Section::Init1 ( const Handle< Geom_Surface > &  Sf)

initialize the argument <Sf> - argument Obsolete

◆ Init2() [1/3]

void BRepAlgoAPI_Section::Init2 ( const TopoDS_Shape S2)

initialize the tool <S2> - tool Obsolete

◆ Init2() [2/3]

void BRepAlgoAPI_Section::Init2 ( const gp_Pln Pl)

initialize the tool <Pl> - tool Obsolete

◆ Init2() [3/3]

void BRepAlgoAPI_Section::Init2 ( const Handle< Geom_Surface > &  Sf)

initialize the tool <Sf> - tool Obsolete

◆ SetAttributes()

virtual void BRepAlgoAPI_Section::SetAttributes ( )
overrideprotectedvirtual

Sets options (available in child classes) for the intersection tool. Here it does nothing.

Reimplemented from BRepAlgoAPI_BuilderAlgo.


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