|
Open CASCADE Technology
6.7.1
|
Construction of the section lines between two shapes.
For this Boolean operation, each face of the first
shape is intersected by each face of the second
shape. The resulting intersection edges are brought
together into a compound object, but not chained or
grouped into wires.
Computation of the intersection of two Shapes or Surfaces
The two parts involved in this Boolean operation may
be defined from geometric surfaces: the most common
use is the computation of the planar section of a shape.
A Section object provides the framework for:
More...
#include <BRepAlgo_Section.hxx>

Public Member Functions | |
| BRepAlgo_Section (const TopoDS_Shape &Sh1, const TopoDS_Shape &Sh2, const Standard_Boolean PerformNow=Standard_True) | |
| BRepAlgo_Section (const TopoDS_Shape &Sh, const gp_Pln &Pl, const Standard_Boolean PerformNow=Standard_True) | |
| BRepAlgo_Section (const TopoDS_Shape &Sh, const Handle< Geom_Surface > &Sf, const Standard_Boolean PerformNow=Standard_True) | |
| BRepAlgo_Section (const Handle< Geom_Surface > &Sf, const TopoDS_Shape &Sh, const Standard_Boolean PerformNow=Standard_True) | |
| BRepAlgo_Section (const Handle< Geom_Surface > &Sf1, const Handle< Geom_Surface > &Sf2, const Standard_Boolean PerformNow=Standard_True) | |
| This and the above algorithms construct a framework for computing the section lines of More... | |
| void | Init1 (const TopoDS_Shape &S1) |
| Initializes the first part More... | |
| void | Init1 (const gp_Pln &Pl) |
| Initializes the first part More... | |
| void | Init1 (const Handle< Geom_Surface > &Sf) |
| Initializes the first part More... | |
| void | Init2 (const TopoDS_Shape &S2) |
| initialize second part More... | |
| void | Init2 (const gp_Pln &Pl) |
| Initializes the second part More... | |
| void | Init2 (const Handle< Geom_Surface > &Sf) |
This and the above algorithms <br> reinitialize the first and the second parts on which | |
| void | Approximation (const Standard_Boolean B) |
Defines an option for computation of further <br> intersections. This computation will be performed by | |
| void | ComputePCurveOn1 (const Standard_Boolean B) |
| Indicates if the Pcurve must be (or not) performed on first part. More... | |
| void | ComputePCurveOn2 (const Standard_Boolean B) |
Define options for the computation of further <br> intersections which will be performed by the function | |
| void | Build () |
Performs the computation of the section lines <br> between the two parts defined at the time of | |
| Standard_Boolean | HasAncestorFaceOn1 (const TopoDS_Shape &E, TopoDS_Shape &F) const |
Identifies the ancestor faces of the new <br> intersection edge E resulting from the last | |
| Standard_Boolean | HasAncestorFaceOn2 (const TopoDS_Shape &E, TopoDS_Shape &F) const |
Identifies the ancestor faces of the new <br> intersection edge E resulting from the last | |
Public Member Functions inherited from BRepAlgo_BooleanOperation | |
| virtual void | Delete () |
| virtual | ~BRepAlgo_BooleanOperation () |
| void | PerformDS () |
| void | Perform (const TopAbs_State St1, const TopAbs_State St2) |
| Handle_TopOpeBRepBuild_HBuilder | Builder () const |
| const TopoDS_Shape & | Shape1 () const |
| Returns the first shape involved in this Boolean operation. More... | |
| const TopoDS_Shape & | Shape2 () const |
| Returns the second shape involved in this Boolean operation. More... | |
| virtual const TopTools_ListOfShape & | Modified (const TopoDS_Shape &S) |
| Returns the list of shapes modified from the shape <S>. More... | |
| virtual Standard_Boolean | IsDeleted (const TopoDS_Shape &S) |
| Returns true if the shape S has been deleted. More... | |
Public Member Functions inherited from BRepBuilderAPI_MakeShape | |
| virtual | ~BRepBuilderAPI_MakeShape () |
| const TopoDS_Shape & | Shape () const |
Returns a shape built by the shape construction algorithm. <br> Raises exception StdFail_NotDone if the shape was not built. | |
| operator TopoDS_Shape () const | |
| virtual const TopTools_ListOfShape & | Generated (const TopoDS_Shape &S) |
| Returns the list of shapes generated from the shape <S>. More... | |
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... | |
Additional Inherited Members | |
Protected Member Functions inherited from BRepAlgo_BooleanOperation | |
| BRepAlgo_BooleanOperation (const TopoDS_Shape &S1, const TopoDS_Shape &S2) | |
| Prepares the operations for S1 and S2. More... | |
| void | BuilderCanWork (const Standard_Boolean B) |
| Standard_Boolean | BuilderCanWork () const |
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 Attributes inherited from BRepAlgo_BooleanOperation | |
| Handle_TopOpeBRepBuild_HBuilder | myHBuilder |
| TopoDS_Shape | myS1 |
| TopoDS_Shape | myS2 |
Protected Attributes inherited from BRepBuilderAPI_MakeShape | |
| TopoDS_Shape | myShape |
| TopTools_ListOfShape | myGenerated |
Construction of the section lines between two shapes.
For this Boolean operation, each face of the first
shape is intersected by each face of the second
shape. The resulting intersection edges are brought
together into a compound object, but not chained or
grouped into wires.
Computation of the intersection of two Shapes or Surfaces
The two parts involved in this Boolean operation may
be defined from geometric surfaces: the most common
use is the computation of the planar section of a shape.
A Section object provides the framework for:
| BRepAlgo_Section::BRepAlgo_Section | ( | const TopoDS_Shape & | Sh1, |
| const TopoDS_Shape & | Sh2, | ||
| const Standard_Boolean | PerformNow = Standard_True |
||
| ) |
| BRepAlgo_Section::BRepAlgo_Section | ( | const TopoDS_Shape & | Sh, |
| const gp_Pln & | Pl, | ||
| const Standard_Boolean | PerformNow = Standard_True |
||
| ) |
| BRepAlgo_Section::BRepAlgo_Section | ( | const TopoDS_Shape & | Sh, |
| const Handle< Geom_Surface > & | Sf, | ||
| const Standard_Boolean | PerformNow = Standard_True |
||
| ) |
| BRepAlgo_Section::BRepAlgo_Section | ( | const Handle< Geom_Surface > & | Sf, |
| const TopoDS_Shape & | Sh, | ||
| const Standard_Boolean | PerformNow = Standard_True |
||
| ) |
| BRepAlgo_Section::BRepAlgo_Section | ( | const Handle< Geom_Surface > & | Sf1, |
| const Handle< Geom_Surface > & | Sf2, | ||
| const Standard_Boolean | PerformNow = Standard_True |
||
| ) |
This and the above algorithms construct a framework for computing the section lines of
| void BRepAlgo_Section::Approximation | ( | const Standard_Boolean | B | ) |
Defines an option for computation of further <br>
intersections. This computation will be performed by
the function Build in this framework.
By default, the underlying 3D geometry attached to
each elementary edge of the result of a computed intersection is:
|
virtual |
Performs the computation of the section lines <br>
between the two parts defined at the time of
construction of this framework or reinitialized with the
Init1 and Init2 functions.
The constructed shape will be returned by the function
Shape. This is a compound object composed of
edges. These intersection edges may be built:
Reimplemented from BRepBuilderAPI_MakeShape.
| void BRepAlgo_Section::ComputePCurveOn1 | ( | const Standard_Boolean | B | ) |
Indicates if the Pcurve must be (or not) performed on first part.
| void BRepAlgo_Section::ComputePCurveOn2 | ( | const Standard_Boolean | B | ) |
Define options for the computation of further <br>
intersections which will be performed by the function
Build in this framework.
By default, no parametric 2D curve (pcurve) is defined
for the elementary edges of the result.
If ComputePCurve1 equals true, further computations
performed in this framework with the function Build
will attach an additional pcurve in the parametric
space of the first shape to the constructed edges.
If ComputePCurve2 equals true, the additional pcurve
will be attached to the constructed edges in the
parametric space of the second shape.
These two functions may be used together.
Note that as a result, pcurves will only be added onto
edges built on new intersection lines.
| Standard_Boolean BRepAlgo_Section::HasAncestorFaceOn1 | ( | const TopoDS_Shape & | E, |
| TopoDS_Shape & | F | ||
| ) | const |
Identifies the ancestor faces of the new <br>
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:
| Standard_Boolean BRepAlgo_Section::HasAncestorFaceOn2 | ( | const TopoDS_Shape & | E, |
| TopoDS_Shape & | F | ||
| ) | const |
Identifies the ancestor faces of the new <br>
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:
| void BRepAlgo_Section::Init1 | ( | const TopoDS_Shape & | S1 | ) |
Initializes the first part
| void BRepAlgo_Section::Init1 | ( | const gp_Pln & | Pl | ) |
Initializes the first part
| void BRepAlgo_Section::Init1 | ( | const Handle< Geom_Surface > & | Sf | ) |
Initializes the first part
| void BRepAlgo_Section::Init2 | ( | const TopoDS_Shape & | S2 | ) |
initialize second part
| void BRepAlgo_Section::Init2 | ( | const gp_Pln & | Pl | ) |
Initializes the second part
| void BRepAlgo_Section::Init2 | ( | const Handle< Geom_Surface > & | Sf | ) |
This and the above algorithms <br>
reinitialize the first and the second parts on which
this algorithm is going to perform the intersection
computation. This is done with either: the surface
Sf, the plane Pl or the shape Sh.
You use the function Build to construct the result.
1.8.5