Open CASCADE Technology
7.7.0
|
Algorithm that creates fillet edge: arc tangent to two edges in the start and in the end vertices. Initial edges must be located on the plane and must be connected by the end or start points (shared vertices are not obligatory). Created fillet arc is created with the given radius, that is useful in sketcher applications. More...
#include <ChFi2d_FilletAlgo.hxx>
Public Member Functions | |
ChFi2d_FilletAlgo () | |
An empty constructor of the fillet algorithm. Call a method Init() to initialize the algorithm before calling of a Perform() method. More... | |
ChFi2d_FilletAlgo (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_FilletAlgo (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... | |
Algorithm that creates fillet edge: arc tangent to two edges in the start and in the end vertices. Initial edges must be located on the plane and must be connected by the end or start points (shared vertices are not obligatory). Created fillet arc is created with the given radius, that is useful in sketcher applications.
The algorithm is iterative that allows to create fillet on any curves of initial edges, that supports projection of point and C2 continuous. Principles of algorithm can de reduced to the Newton method:
ChFi2d_FilletAlgo::ChFi2d_FilletAlgo | ( | ) |
ChFi2d_FilletAlgo::ChFi2d_FilletAlgo | ( | 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_FilletAlgo::ChFi2d_FilletAlgo | ( | 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_FilletAlgo::Init | ( | const TopoDS_Wire & | theWire, |
const gp_Pln & | thePlane | ||
) |
Initializes a fillet algorithm: accepts a wire consisting of two edges in a plane.
void ChFi2d_FilletAlgo::Init | ( | const TopoDS_Edge & | theEdge1, |
const TopoDS_Edge & | theEdge2, | ||
const gp_Pln & | thePlane | ||
) |
Initializes a fillet algorithm: accepts two edges in a plane.
Standard_Integer ChFi2d_FilletAlgo::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_FilletAlgo::Perform | ( | const Standard_Real | theRadius | ) |
Constructs a fillet edge. Returns true, if at least one result was found.
TopoDS_Edge ChFi2d_FilletAlgo::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.