Open CASCADE Technology
7.6.0
|
An interface class for 2D fillets. Open CASCADE provides two algorithms for 2D fillets: ChFi2d_Builder - it constructs a fillet or chamfer for linear and circular edges of a face. ChFi2d_FilletAPI - it encapsulates two algorithms: ChFi2d_AnaFilletAlgo - analytical constructor of the fillet. It works only for linear and circular edges, having a common point. ChFi2d_FilletAlgo - iteration recursive method constructing the fillet edge for any type of edges including ellipses and b-splines. The edges may even have no common point. More...
#include <ChFi2d_FilletAPI.hxx>
Public Member Functions | |
ChFi2d_FilletAPI () | |
An empty constructor of the fillet algorithm. Call a method Init() to initialize the algorithm before calling of a Perform() method. More... | |
ChFi2d_FilletAPI (const TopoDS_Wire &theWire, const gp_Pln &thePlane) | |
A constructor of a fillet algorithm: accepts a wire consisting of two edges in a plane. More... | |
ChFi2d_FilletAPI (const TopoDS_Edge &theEdge1, const TopoDS_Edge &theEdge2, const gp_Pln &thePlane) | |
A constructor of a fillet algorithm: accepts two edges in a plane. More... | |
void | Init (const TopoDS_Wire &theWire, const gp_Pln &thePlane) |
Initializes a fillet algorithm: accepts a wire consisting of two edges in a plane. More... | |
void | Init (const TopoDS_Edge &theEdge1, const TopoDS_Edge &theEdge2, const gp_Pln &thePlane) |
Initializes a fillet algorithm: accepts two edges in a plane. More... | |
Standard_Boolean | Perform (const Standard_Real theRadius) |
Constructs a fillet edge. Returns true if at least one result was found. More... | |
Standard_Integer | NbResults (const gp_Pnt &thePoint) |
Returns number of possible solutions. <thePoint> chooses a particular fillet in case of several fillets may be constructed (for example, a circle intersecting a segment in 2 points). Put the intersecting (or common) point of the edges. More... | |
TopoDS_Edge | Result (const gp_Pnt &thePoint, TopoDS_Edge &theEdge1, TopoDS_Edge &theEdge2, const Standard_Integer iSolution=-1) |
Returns result (fillet edge, modified edge1, modified edge2), nearest to the given point <thePoint> if iSolution == -1 <thePoint> chooses a particular fillet in case of several fillets may be constructed (for example, a circle intersecting a segment in 2 points). Put the intersecting (or common) point of the edges. More... | |
An interface class for 2D fillets. Open CASCADE provides two algorithms for 2D fillets: ChFi2d_Builder - it constructs a fillet or chamfer for linear and circular edges of a face. ChFi2d_FilletAPI - it encapsulates two algorithms: ChFi2d_AnaFilletAlgo - analytical constructor of the fillet. It works only for linear and circular edges, having a common point. ChFi2d_FilletAlgo - iteration recursive method constructing the fillet edge for any type of edges including ellipses and b-splines. The edges may even have no common point.
The algorithms ChFi2d_AnaFilletAlgo and ChFi2d_FilletAlgo may be used directly or via this ChFi2d_FilletAPI class. This class chooses an appropriate algorithm analyzing the arguments (a wire or two edges).
ChFi2d_FilletAPI::ChFi2d_FilletAPI | ( | ) |
ChFi2d_FilletAPI::ChFi2d_FilletAPI | ( | const TopoDS_Wire & | theWire, |
const gp_Pln & | thePlane | ||
) |
A constructor of a fillet algorithm: accepts a wire consisting of two edges in a plane.
ChFi2d_FilletAPI::ChFi2d_FilletAPI | ( | const TopoDS_Edge & | theEdge1, |
const TopoDS_Edge & | theEdge2, | ||
const gp_Pln & | thePlane | ||
) |
A constructor of a fillet algorithm: accepts two edges in a plane.
void ChFi2d_FilletAPI::Init | ( | const TopoDS_Edge & | theEdge1, |
const TopoDS_Edge & | theEdge2, | ||
const gp_Pln & | thePlane | ||
) |
Initializes a fillet algorithm: accepts two edges in a plane.
void ChFi2d_FilletAPI::Init | ( | const TopoDS_Wire & | theWire, |
const gp_Pln & | thePlane | ||
) |
Initializes a fillet algorithm: accepts a wire consisting of two edges in a plane.
Standard_Integer ChFi2d_FilletAPI::NbResults | ( | const gp_Pnt & | thePoint | ) |
Returns number of possible solutions. <thePoint> chooses a particular fillet in case of several fillets may be constructed (for example, a circle intersecting a segment in 2 points). Put the intersecting (or common) point of the edges.
Standard_Boolean ChFi2d_FilletAPI::Perform | ( | const Standard_Real | theRadius | ) |
Constructs a fillet edge. Returns true if at least one result was found.
TopoDS_Edge ChFi2d_FilletAPI::Result | ( | const gp_Pnt & | thePoint, |
TopoDS_Edge & | theEdge1, | ||
TopoDS_Edge & | theEdge2, | ||
const Standard_Integer | iSolution = -1 |
||
) |
Returns result (fillet edge, modified edge1, modified edge2), nearest to the given point <thePoint> if iSolution == -1 <thePoint> chooses a particular fillet in case of several fillets may be constructed (for example, a circle intersecting a segment in 2 points). Put the intersecting (or common) point of the edges.