Open CASCADE Technology 6.6.0
|
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 | |
void | Init1 (const TopoDS_Shape &S1) |
Initializes the first part | |
void | Init1 (const gp_Pln &Pl) |
Initializes the first part | |
void | Init1 (const Handle< Geom_Surface > &Sf) |
Initializes the first part | |
void | Init2 (const TopoDS_Shape &S2) |
initialize second part | |
void | Init2 (const gp_Pln &Pl) |
Initializes the second part | |
void | Init2 (const Handle< Geom_Surface > &Sf) |
This and the above algorithms 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. | |
void | Approximation (const Standard_Boolean B) |
Defines an option for computation of further 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: | |
void | ComputePCurveOn1 (const Standard_Boolean B) |
Indicates if the Pcurve must be (or not) performed on first part. | |
void | ComputePCurveOn2 (const Standard_Boolean B) |
Define options for the computation of further 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. | |
void | Build () |
Performs the computation of the section lines 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: | |
Standard_Boolean | HasAncestorFaceOn1 (const TopoDS_Shape &E, TopoDS_Shape &F) const |
Identifies the ancestor faces of the new 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 | HasAncestorFaceOn2 (const TopoDS_Shape &E, TopoDS_Shape &F) const |
Identifies the ancestor faces of the new 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: |
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 |
||
) |
void BRepAlgo_Section::Approximation | ( | const Standard_Boolean | B | ) |
void BRepAlgo_Section::Build | ( | ) | [virtual] |
Reimplemented from BRepBuilderAPI_MakeShape.
void BRepAlgo_Section::ComputePCurveOn1 | ( | const Standard_Boolean | B | ) |
void BRepAlgo_Section::ComputePCurveOn2 | ( | const Standard_Boolean | B | ) |
Standard_Boolean BRepAlgo_Section::HasAncestorFaceOn1 | ( | const TopoDS_Shape & | E, |
TopoDS_Shape & | F | ||
) | const |
Standard_Boolean BRepAlgo_Section::HasAncestorFaceOn2 | ( | const TopoDS_Shape & | E, |
TopoDS_Shape & | F | ||
) | const |
void BRepAlgo_Section::Init1 | ( | const Handle< Geom_Surface > & | Sf | ) |
void BRepAlgo_Section::Init1 | ( | const gp_Pln & | Pl | ) |
void BRepAlgo_Section::Init1 | ( | const TopoDS_Shape & | S1 | ) |
void BRepAlgo_Section::Init2 | ( | const Handle< Geom_Surface > & | Sf | ) |
void BRepAlgo_Section::Init2 | ( | const gp_Pln & | Pl | ) |
void BRepAlgo_Section::Init2 | ( | const TopoDS_Shape & | S2 | ) |