Open CASCADE Technology
7.1.0.beta

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 bsplines. 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 bsplines. 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_Wire &  theWire, 
const gp_Pln &  thePlane  
) 
Initializes a fillet algorithm: accepts a wire consisting of 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.
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.