Open CASCADE Technology 7.8.2.dev
ChFi2d_FilletAPI Class Reference

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.
 
 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 (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 Init (const TopoDS_Wire &theWire, const gp_Pln &thePlane)
 Initializes a fillet algorithm: accepts a wire consisting of two edges in a plane.
 
void Init (const TopoDS_Edge &theEdge1, const TopoDS_Edge &theEdge2, const gp_Pln &thePlane)
 Initializes a fillet algorithm: accepts two edges in a plane.
 
Standard_Boolean Perform (const Standard_Real theRadius)
 Constructs a fillet edge. Returns true if at least one result was found.
 
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.
 
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.
 

Detailed Description

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).

Constructor & Destructor Documentation

◆ ChFi2d_FilletAPI() [1/3]

ChFi2d_FilletAPI::ChFi2d_FilletAPI ( )

An empty constructor of the fillet algorithm. Call a method Init() to initialize the algorithm before calling of a Perform() method.

◆ ChFi2d_FilletAPI() [2/3]

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() [3/3]

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.

Member Function Documentation

◆ Init() [1/2]

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.

◆ Init() [2/2]

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.

◆ NbResults()

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.

◆ Perform()

Standard_Boolean ChFi2d_FilletAPI::Perform ( const Standard_Real theRadius)

Constructs a fillet edge. Returns true if at least one result was found.

◆ Result()

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.


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