OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    BRepAlgoAPI_Section Class Reference

    The algorithm is to build a Section 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:

    Public Member Functions

     BRepAlgoAPI_Section ()
     Empty constructor.
     ~BRepAlgoAPI_Section () override
     BRepAlgoAPI_Section (const BOPAlgo_PaveFiller &PF)
     Empty constructor <PF> - PaveFiller object that is carried out.
     BRepAlgoAPI_Section (const TopoDS_Shape &S1, const TopoDS_Shape &S2, const bool PerformNow=true)
     Constructor with two shapes <S1> -argument <S2> -tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediately Obsolete.
     BRepAlgoAPI_Section (const TopoDS_Shape &S1, const TopoDS_Shape &S2, const BOPAlgo_PaveFiller &aDSF, const bool PerformNow=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 immediately Obsolete.
     BRepAlgoAPI_Section (const TopoDS_Shape &S1, const gp_Pln &Pl, const bool PerformNow=true)
     Constructor with two shapes <S1> - argument <Pl> - tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediately Obsolete.
     BRepAlgoAPI_Section (const TopoDS_Shape &S1, const occ::handle< Geom_Surface > &Sf, const bool PerformNow=true)
     Constructor with two shapes <S1> - argument <Sf> - tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediately Obsolete.
     BRepAlgoAPI_Section (const occ::handle< Geom_Surface > &Sf, const TopoDS_Shape &S2, const bool PerformNow=true)
     Constructor with two shapes <Sf> - argument <S2> - tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediately Obsolete.
     BRepAlgoAPI_Section (const occ::handle< Geom_Surface > &Sf1, const occ::handle< Geom_Surface > &Sf2, const bool PerformNow=true)
     Constructor with two shapes <Sf1> - argument <Sf2> - tool <PerformNow> - the flag: if <PerformNow>=True - the algorithm is performed immediately Obsolete.
    void Init1 (const TopoDS_Shape &S1)
     initialize the argument <S1> - argument Obsolete
    void Init1 (const gp_Pln &Pl)
     initialize the argument <Pl> - argument Obsolete
    void Init1 (const occ::handle< Geom_Surface > &Sf)
     initialize the argument <Sf> - argument Obsolete
    void Init2 (const TopoDS_Shape &S2)
     initialize the tool <S2> - tool Obsolete
    void Init2 (const gp_Pln &Pl)
     initialize the tool <Pl> - tool Obsolete
    void Init2 (const occ::handle< Geom_Surface > &Sf)
     initialize the tool <Sf> - tool Obsolete
    void Approximation (const bool B)
    void ComputePCurveOn1 (const bool 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.
    void ComputePCurveOn2 (const bool 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.
    void Build (const Message_ProgressRange &theRange=Message_ProgressRange()) override
     Performs the algorithm Filling interference Data Structure (if it is necessary) Building the result of the operation.
    bool 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
    bool 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:
    Public Member Functions inherited from BRepAlgoAPI_BooleanOperation
    const TopoDS_ShapeShape1 () const
     Returns the second argument involved in this Boolean operation. Obsolete.
    const TopoDS_ShapeShape2 () const
     Returns the second argument involved in this Boolean operation. Obsolete.
    void SetTools (const NCollection_List< TopoDS_Shape > &theLS)
     Sets the Tool arguments.
    const NCollection_List< TopoDS_Shape > & Tools () const
     Returns the Tools arguments.
    void SetOperation (const BOPAlgo_Operation theBOP)
     Returns the type of Boolean Operation.
    BOPAlgo_Operation Operation () const
     Returns the type of Boolean Operation.
     BRepAlgoAPI_BooleanOperation ()
     Constructor with precomputed intersections of arguments.
     BRepAlgoAPI_BooleanOperation (const BOPAlgo_PaveFiller &thePF)
     Constructor with precomputed intersections of arguments.
    Public Member Functions inherited from BRepAlgoAPI_BuilderAlgo
     BRepAlgoAPI_BuilderAlgo ()
     Constructor with prepared Filler object.
     ~BRepAlgoAPI_BuilderAlgo () override
     Constructor with prepared Filler object.
     BRepAlgoAPI_BuilderAlgo (const BOPAlgo_PaveFiller &thePF)
     Constructor with prepared Filler object.
     BRepAlgoAPI_BuilderAlgo (const BRepAlgoAPI_BuilderAlgo &)=delete
     Copy constructor is not allowed.
     BRepAlgoAPI_BuilderAlgo (BRepAlgoAPI_BuilderAlgo &&)=delete
     Move constructor is not allowed.
    BRepAlgoAPI_BuilderAlgooperator= (const BRepAlgoAPI_BuilderAlgo &)=delete
     Copy assignment is not allowed.
    BRepAlgoAPI_BuilderAlgooperator= (BRepAlgoAPI_BuilderAlgo &&)=delete
     Move assignment is not allowed.
    void SetArguments (const NCollection_List< TopoDS_Shape > &theLS)
     Gets the arguments.
    const NCollection_List< TopoDS_Shape > & Arguments () const
     Gets the arguments.
    void SetNonDestructive (const bool theFlag)
     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.
    bool 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.
    void SetGlue (const BOPAlgo_GlueEnum theGlue)
     Sets the glue option for the algorithm, which allows increasing performance of the intersection of the input shapes.
    BOPAlgo_GlueEnum Glue () const
     Returns the glue option of the algorithm.
    void SetCheckInverted (const bool theCheck)
     Enables/Disables the check of the input solids for inverted status.
    bool CheckInverted () const
     Returns the flag defining whether the check for input solids on inverted status should be performed or not.
    void SimplifyResult (const bool theUnifyEdges=true, const bool theUnifyFaces=true, const double theAngularTol=Precision::Angular())
    const NCollection_List< TopoDS_Shape > & Modified (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:
    const NCollection_List< TopoDS_Shape > & Generated (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:
    bool 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.
    virtual bool HasModified () const
     Returns true if any of the input shapes has been modified during operation.
    virtual bool HasGenerated () const
     Returns true if any of the input shapes has generated shapes during operation.
    virtual bool 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.
    void SetToFillHistory (const bool theHistFlag)
     Returns flag of history availability.
    bool HasHistory () const
     Returns flag of history availability.
    const NCollection_List< TopoDS_Shape > & SectionEdges ()
    const BOPAlgo_PPaveFillerDSFiller () const
     Returns the Building tool.
    const BOPAlgo_PBuilderBuilder () const
     Returns the Building tool.
    occ::handle< BRepTools_HistoryHistory () const
     History tool.
    Public Member Functions inherited from BRepAlgoAPI_Algo
    const TopoDS_ShapeShape () override
     Returns a shape built by the shape construction algorithm. Does not check if the shape is built.
    void ClearWarnings ()
     Clears the warnings of the algorithm.
    void DumpErrors (Standard_OStream &theOS) const
     Dumps the error status into the given stream.
    void DumpWarnings (Standard_OStream &theOS) const
     Dumps the warning statuses into the given stream.
    double FuzzyValue () const
     Returns the additional tolerance.
    const occ::handle< Message_Report > & GetReport () const
     Returns report collecting all errors and warnings.
    bool HasError (const occ::handle< Standard_Type > &theType) const
     Returns true if algorithm has generated error of specified type.
    bool HasErrors () const
     Returns true if algorithm has failed.
    bool HasWarning (const occ::handle< Standard_Type > &theType) const
     Returns true if algorithm has generated warning of specified type.
    bool HasWarnings () const
     Returns true if algorithm has generated some warning alerts.
    bool RunParallel () const
     Returns the flag of parallel processing.
    void SetFuzzyValue (const double theFuzz)
     Sets the additional tolerance.
    void SetRunParallel (const bool 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.
    void SetUseOBB (const bool theUseOBB)
     Enables/Disables the usage of OBB.
    Public Member Functions inherited from BRepBuilderAPI_MakeShape
     operator TopoDS_Shape ()
    Public Member Functions inherited from BRepBuilderAPI_Command
    virtual ~BRepBuilderAPI_Command ()
    virtual bool IsDone () const
    void Check () const
     Raises NotDone if done is false.

    Protected Member Functions

    void Init (const bool PerformNow)
    void SetAttributes () override
     BRepAlgoAPI_BooleanOperation (const TopoDS_Shape &theS1, const TopoDS_Shape &theS2, const BOPAlgo_Operation theOperation)
     Constructor with precomputed intersections of arguments.
     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.
    Protected Member Functions inherited from BRepAlgoAPI_BuilderAlgo
    void IntersectShapes (const NCollection_List< TopoDS_Shape > &theArgs, const Message_ProgressRange &theRange)
     Builds the resulting shape.
    void BuildResult (const Message_ProgressRange &theRange=Message_ProgressRange())
     Builds the resulting shape.
    void Clear () override
     Clears all warnings and errors, and any data cached by the algorithm. User defined options are not cleared.
    Protected Member Functions inherited from BRepAlgoAPI_Algo
     BRepAlgoAPI_Algo ()
     Empty constructor.
     ~BRepAlgoAPI_Algo () override
     Destructor.
     BRepAlgoAPI_Algo (const occ::handle< NCollection_BaseAllocator > &theAllocator)
     Empty constructor.
    Protected Member Functions inherited from BRepBuilderAPI_MakeShape
     BRepBuilderAPI_MakeShape ()
    Protected Member Functions inherited from BRepBuilderAPI_Command
     BRepBuilderAPI_Command ()
     Set done to False.
    void Done ()
     Set done to true.
    void NotDone ()
     Set done to false.
    bool UserBreak (const Message_ProgressScope &thePS)
     Adds error to the report if the break signal was caught. Returns true in this case, false otherwise.
     BOPAlgo_Options ()
     Empty constructor.
     BOPAlgo_Options (const occ::handle< NCollection_BaseAllocator > &theAllocator)
     Constructor with allocator.
    virtual ~BOPAlgo_Options ()
     Destructor.
    const occ::handle< NCollection_BaseAllocator > & Allocator () const
     Returns allocator.
    void AddError (const occ::handle< Message_Alert > &theAlert)
     Adds the alert as error (fail).
    void AddWarning (const occ::handle< Message_Alert > &theAlert)
     Adds the alert as warning.
    bool HasErrors () const
     Returns true if algorithm has failed.
    bool HasError (const occ::handle< Standard_Type > &theType) const
     Returns true if algorithm has generated error of specified type.
    bool HasWarnings () const
     Returns true if algorithm has generated some warning alerts.
    bool HasWarning (const occ::handle< Standard_Type > &theType) const
     Returns true if algorithm has generated warning of specified type.
    const occ::handle< Message_Report > & GetReport () const
     Returns report collecting all errors and warnings.
    void DumpErrors (Standard_OStream &theOS) const
     Dumps the error status into the given stream.
    void DumpWarnings (Standard_OStream &theOS) const
     Dumps the warning statuses into the given stream.
    void ClearWarnings ()
     Clears the warnings of the algorithm.
    void SetFuzzyValue (const double theFuzz)
     Sets the additional tolerance.
    double FuzzyValue () const
     Returns the additional tolerance.
    void SetUseOBB (const bool theUseOBB)
     Enables/Disables the usage of OBB.
    bool UseOBB () const
     Returns the flag defining usage of OBB.
    void SetRunParallel (const bool 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.
    bool RunParallel () const
     Returns the flag of parallel processing.

    Additional Inherited Members

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

    Detailed Description

    The algorithm is to build a Section 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()

    BRepAlgoAPI_Section::~BRepAlgoAPI_Section ( )
    override

    ◆ 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 bool PerformNow = true )

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

    ◆ BRepAlgoAPI_Section() [4/8]

    BRepAlgoAPI_Section::BRepAlgoAPI_Section ( const TopoDS_Shape & S1,
    const TopoDS_Shape & S2,
    const BOPAlgo_PaveFiller & aDSF,
    const bool PerformNow = 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 immediately Obsolete.

    ◆ BRepAlgoAPI_Section() [5/8]

    BRepAlgoAPI_Section::BRepAlgoAPI_Section ( const TopoDS_Shape & S1,
    const gp_Pln & Pl,
    const bool PerformNow = true )

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

    ◆ BRepAlgoAPI_Section() [6/8]

    BRepAlgoAPI_Section::BRepAlgoAPI_Section ( const TopoDS_Shape & S1,
    const occ::handle< Geom_Surface > & Sf,
    const bool PerformNow = true )

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

    ◆ BRepAlgoAPI_Section() [7/8]

    BRepAlgoAPI_Section::BRepAlgoAPI_Section ( const occ::handle< Geom_Surface > & Sf,
    const TopoDS_Shape & S2,
    const bool PerformNow = true )

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

    ◆ BRepAlgoAPI_Section() [8/8]

    BRepAlgoAPI_Section::BRepAlgoAPI_Section ( const occ::handle< Geom_Surface > & Sf1,
    const occ::handle< Geom_Surface > & Sf2,
    const bool PerformNow = true )

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

    Member Function Documentation

    ◆ Approximation()

    void BRepAlgoAPI_Section::Approximation ( const bool B)

    ◆ Build()

    void BRepAlgoAPI_Section::Build ( const Message_ProgressRange & theRange = Message_ProgressRange())
    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 bool 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 bool 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()

    bool 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()

    bool 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 bool PerformNow)
    protected

    ◆ Init1() [1/3]

    void BRepAlgoAPI_Section::Init1 ( const gp_Pln & Pl)

    initialize the argument <Pl> - argument Obsolete

    ◆ Init1() [2/3]

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

    initialize the argument <Sf> - argument Obsolete

    ◆ Init1() [3/3]

    void BRepAlgoAPI_Section::Init1 ( const TopoDS_Shape & S1)

    initialize the argument <S1> - argument Obsolete

    ◆ Init2() [1/3]

    void BRepAlgoAPI_Section::Init2 ( const gp_Pln & Pl)

    initialize the tool <Pl> - tool Obsolete

    ◆ Init2() [2/3]

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

    initialize the tool <Sf> - tool Obsolete

    ◆ Init2() [3/3]

    void BRepAlgoAPI_Section::Init2 ( const TopoDS_Shape & S2)

    initialize the tool <S2> - tool Obsolete

    ◆ SetAttributes()

    void BRepAlgoAPI_Section::SetAttributes ( )
    overrideprotectedvirtual

    Reimplemented from BRepAlgoAPI_BuilderAlgo.


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