Open CASCADE Technology  7.4.0
Public Member Functions
IntCurve_IntConicConic Class Reference

Provides methods to intersect two conics. The exception ConstructionError is raised in constructors or in Perform methods when a domain (Domain from IntRes2d) is not correct, i-e when a Circle (Circ2d from gp) or an Ellipse (i-e Elips2d from gp) do not have a closed domain (use the SetEquivalentParameters method for a domain on a circle or an ellipse). More...

#include <IntCurve_IntConicConic.hxx>

Inheritance diagram for IntCurve_IntConicConic:
Inheritance graph
[legend]

Public Member Functions

 IntCurve_IntConicConic ()
 Empty Constructor. More...
 
 IntCurve_IntConicConic (const gp_Lin2d &L1, const IntRes2d_Domain &D1, const gp_Lin2d &L2, const IntRes2d_Domain &D2, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between 2 lines from gp. More...
 
void Perform (const gp_Lin2d &L1, const IntRes2d_Domain &D1, const gp_Lin2d &L2, const IntRes2d_Domain &D2, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between 2 lines from gp. More...
 
 IntCurve_IntConicConic (const gp_Lin2d &L, const IntRes2d_Domain &DL, const gp_Circ2d &C, const IntRes2d_Domain &DC, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a line and a circle. The exception ConstructionError is raised if the method IsClosed of the domain of the circle returns False. More...
 
void Perform (const gp_Lin2d &L, const IntRes2d_Domain &DL, const gp_Circ2d &C, const IntRes2d_Domain &DC, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a line and a circle. The exception ConstructionError is raised if the method IsClosed of the domain of the circle returns False. More...
 
 IntCurve_IntConicConic (const gp_Lin2d &L, const IntRes2d_Domain &DL, const gp_Elips2d &E, const IntRes2d_Domain &DE, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a line and an ellipse. The exception ConstructionError is raised if the method IsClosed of the domain of the ellipse returns False. More...
 
void Perform (const gp_Lin2d &L, const IntRes2d_Domain &DL, const gp_Elips2d &E, const IntRes2d_Domain &DE, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a line and an ellipse. The exception ConstructionError is raised if the method IsClosed of the domain of the ellipse returns False. More...
 
 IntCurve_IntConicConic (const gp_Lin2d &L, const IntRes2d_Domain &DL, const gp_Parab2d &P, const IntRes2d_Domain &DP, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a line and a parabola from gp. More...
 
void Perform (const gp_Lin2d &L, const IntRes2d_Domain &DL, const gp_Parab2d &P, const IntRes2d_Domain &DP, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a line and a parabola from gp. More...
 
 IntCurve_IntConicConic (const gp_Lin2d &L, const IntRes2d_Domain &DL, const gp_Hypr2d &H, const IntRes2d_Domain &DH, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a line and an hyperbola. More...
 
void Perform (const gp_Lin2d &L, const IntRes2d_Domain &DL, const gp_Hypr2d &H, const IntRes2d_Domain &DH, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a line and an hyperbola. More...
 
 IntCurve_IntConicConic (const gp_Circ2d &C1, const IntRes2d_Domain &D1, const gp_Circ2d &C2, const IntRes2d_Domain &D2, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between 2 circles from gp. The exception ConstructionError is raised if the method IsClosed of one of the domain returns False. More...
 
void Perform (const gp_Circ2d &C1, const IntRes2d_Domain &D1, const gp_Circ2d &C2, const IntRes2d_Domain &D2, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between 2 circles from gp. The exception ConstructionError is raised if the method IsClosed of the domain of one of the circle returns False. More...
 
 IntCurve_IntConicConic (const gp_Circ2d &C, const IntRes2d_Domain &DC, const gp_Elips2d &E, const IntRes2d_Domain &DE, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a circle and an ellipse. The exception ConstructionError is raised if the method IsClosed of one the domain returns False. More...
 
void Perform (const gp_Circ2d &C, const IntRes2d_Domain &DC, const gp_Elips2d &E, const IntRes2d_Domain &DE, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a circle and an ellipse. The exception ConstructionError is raised if the method IsClosed of one the domain returns False. More...
 
 IntCurve_IntConicConic (const gp_Circ2d &C, const IntRes2d_Domain &DC, const gp_Parab2d &P, const IntRes2d_Domain &DP, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a circle and a parabola. The exception ConstructionError is raised if the method IsClosed of the domain of the circle returns False. More...
 
void Perform (const gp_Circ2d &C, const IntRes2d_Domain &DC, const gp_Parab2d &P, const IntRes2d_Domain &DP, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a circle and a parabola. The exception ConstructionError is raised if the method IsClosed of the domain of the circle returns False. More...
 
 IntCurve_IntConicConic (const gp_Circ2d &C, const IntRes2d_Domain &DC, const gp_Hypr2d &H, const IntRes2d_Domain &DH, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a circle and an hyperbola. The exception ConstructionError is raised if the method IsClosed of the domain of the circle returns False. More...
 
void Perform (const gp_Circ2d &C, const IntRes2d_Domain &DC, const gp_Hypr2d &H, const IntRes2d_Domain &DH, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a circle and an hyperbola. The exception ConstructionError is raised if the method IsClosed of the domain of the circle returns False. More...
 
 IntCurve_IntConicConic (const gp_Elips2d &E1, const IntRes2d_Domain &D1, const gp_Elips2d &E2, const IntRes2d_Domain &D2, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between 2 ellipses. The exception ConstructionError is raised if the method IsClosed of one of the domain returns False. More...
 
void Perform (const gp_Elips2d &E1, const IntRes2d_Domain &D1, const gp_Elips2d &E2, const IntRes2d_Domain &D2, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between 2 ellipses. The exception ConstructionError is raised if the method IsClosed of one of the domain returns False. More...
 
 IntCurve_IntConicConic (const gp_Elips2d &E, const IntRes2d_Domain &DE, const gp_Parab2d &P, const IntRes2d_Domain &DP, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between an ellipse and a parabola. The exception ConstructionError is raised if the method IsClosed of the domain of the ellipse returns False. More...
 
void Perform (const gp_Elips2d &E, const IntRes2d_Domain &DE, const gp_Parab2d &P, const IntRes2d_Domain &DP, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between an ellipse and a parabola. The exception ConstructionError is raised if the method IsClosed of the domain of the ellipse returns False. More...
 
 IntCurve_IntConicConic (const gp_Elips2d &E, const IntRes2d_Domain &DE, const gp_Hypr2d &H, const IntRes2d_Domain &DH, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between an ellipse and an hyperbola. The exception ConstructionError is raised if the method IsClosed of the domain of the ellipse returns False. More...
 
void Perform (const gp_Elips2d &E, const IntRes2d_Domain &DE, const gp_Hypr2d &H, const IntRes2d_Domain &DH, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between an ellipse and an hyperbola. The exception ConstructionError is raised if the method IsClosed of the domain of the ellipse returns False. More...
 
 IntCurve_IntConicConic (const gp_Parab2d &P1, const IntRes2d_Domain &D1, const gp_Parab2d &P2, const IntRes2d_Domain &D2, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between 2 parabolas. More...
 
void Perform (const gp_Parab2d &P1, const IntRes2d_Domain &D1, const gp_Parab2d &P2, const IntRes2d_Domain &D2, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between 2 parabolas. More...
 
 IntCurve_IntConicConic (const gp_Parab2d &P, const IntRes2d_Domain &DP, const gp_Hypr2d &H, const IntRes2d_Domain &DH, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a parabola and an hyperbola. More...
 
void Perform (const gp_Parab2d &P, const IntRes2d_Domain &DP, const gp_Hypr2d &H, const IntRes2d_Domain &DH, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between a parabola and an hyperbola. More...
 
 IntCurve_IntConicConic (const gp_Hypr2d &H1, const IntRes2d_Domain &D1, const gp_Hypr2d &H2, const IntRes2d_Domain &D2, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between 2 hyperbolas. More...
 
void Perform (const gp_Hypr2d &H1, const IntRes2d_Domain &D1, const gp_Hypr2d &H2, const IntRes2d_Domain &D2, const Standard_Real TolConf, const Standard_Real Tol)
 Intersection between 2 hyperbolas. More...
 
- Public Member Functions inherited from IntRes2d_Intersection
Standard_Boolean IsDone () const
 returns TRUE when the computation was successful. More...
 
Standard_Boolean IsEmpty () const
 Returns TRUE if there is no intersection between the given arguments. The exception NotDone is raised if IsDone returns FALSE. More...
 
Standard_Integer NbPoints () const
 This function returns the number of intersection points between the 2 curves. The exception NotDone is raised if IsDone returns FALSE. More...
 
const IntRes2d_IntersectionPointPoint (const Standard_Integer N) const
 This function returns the intersection point of range N; The exception NotDone is raised if IsDone returns FALSE. The exception OutOfRange is raised if (N <= 0) or (N > NbPoints). More...
 
Standard_Integer NbSegments () const
 This function returns the number of intersection segments between the two curves. The exception NotDone is raised if IsDone returns FALSE. More...
 
const IntRes2d_IntersectionSegmentSegment (const Standard_Integer N) const
 This function returns the intersection segment of range N; The exception NotDone is raised if IsDone returns FALSE. The exception OutOfRange is raised if (N <= 0) or (N > NbPoints). More...
 
void SetReversedParameters (const Standard_Boolean Reverseflag)
 

Additional Inherited Members

- Protected Member Functions inherited from IntRes2d_Intersection
 IntRes2d_Intersection ()
 Empty constructor. More...
 
 IntRes2d_Intersection (const IntRes2d_Intersection &Other)
 
 ~IntRes2d_Intersection ()
 Destructor is protected, for safe inheritance. More...
 
void SetValues (const IntRes2d_Intersection &Inter)
 
void Append (const IntRes2d_Intersection &Inter, const Standard_Real FirstParam1, const Standard_Real LastParam1, const Standard_Real FirstParam2, const Standard_Real LastParam2)
 
void Append (const IntRes2d_IntersectionSegment &Seg)
 
void Append (const IntRes2d_IntersectionPoint &Pnt)
 
void Insert (const IntRes2d_IntersectionPoint &Pnt)
 
void ResetFields ()
 
Standard_Boolean ReversedParameters () const
 
- Protected Attributes inherited from IntRes2d_Intersection
Standard_Boolean done
 

Detailed Description

Provides methods to intersect two conics. The exception ConstructionError is raised in constructors or in Perform methods when a domain (Domain from IntRes2d) is not correct, i-e when a Circle (Circ2d from gp) or an Ellipse (i-e Elips2d from gp) do not have a closed domain (use the SetEquivalentParameters method for a domain on a circle or an ellipse).

Constructor & Destructor Documentation

◆ IntCurve_IntConicConic() [1/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( )

Empty Constructor.

◆ IntCurve_IntConicConic() [2/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Lin2d L1,
const IntRes2d_Domain D1,
const gp_Lin2d L2,
const IntRes2d_Domain D2,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between 2 lines from gp.

◆ IntCurve_IntConicConic() [3/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Lin2d L,
const IntRes2d_Domain DL,
const gp_Circ2d C,
const IntRes2d_Domain DC,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a line and a circle. The exception ConstructionError is raised if the method IsClosed of the domain of the circle returns False.

◆ IntCurve_IntConicConic() [4/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Lin2d L,
const IntRes2d_Domain DL,
const gp_Elips2d E,
const IntRes2d_Domain DE,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a line and an ellipse. The exception ConstructionError is raised if the method IsClosed of the domain of the ellipse returns False.

◆ IntCurve_IntConicConic() [5/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Lin2d L,
const IntRes2d_Domain DL,
const gp_Parab2d P,
const IntRes2d_Domain DP,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a line and a parabola from gp.

◆ IntCurve_IntConicConic() [6/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Lin2d L,
const IntRes2d_Domain DL,
const gp_Hypr2d H,
const IntRes2d_Domain DH,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a line and an hyperbola.

◆ IntCurve_IntConicConic() [7/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Circ2d C1,
const IntRes2d_Domain D1,
const gp_Circ2d C2,
const IntRes2d_Domain D2,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between 2 circles from gp. The exception ConstructionError is raised if the method IsClosed of one of the domain returns False.

◆ IntCurve_IntConicConic() [8/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Circ2d C,
const IntRes2d_Domain DC,
const gp_Elips2d E,
const IntRes2d_Domain DE,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a circle and an ellipse. The exception ConstructionError is raised if the method IsClosed of one the domain returns False.

◆ IntCurve_IntConicConic() [9/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Circ2d C,
const IntRes2d_Domain DC,
const gp_Parab2d P,
const IntRes2d_Domain DP,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a circle and a parabola. The exception ConstructionError is raised if the method IsClosed of the domain of the circle returns False.

◆ IntCurve_IntConicConic() [10/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Circ2d C,
const IntRes2d_Domain DC,
const gp_Hypr2d H,
const IntRes2d_Domain DH,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a circle and an hyperbola. The exception ConstructionError is raised if the method IsClosed of the domain of the circle returns False.

◆ IntCurve_IntConicConic() [11/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Elips2d E1,
const IntRes2d_Domain D1,
const gp_Elips2d E2,
const IntRes2d_Domain D2,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between 2 ellipses. The exception ConstructionError is raised if the method IsClosed of one of the domain returns False.

◆ IntCurve_IntConicConic() [12/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Elips2d E,
const IntRes2d_Domain DE,
const gp_Parab2d P,
const IntRes2d_Domain DP,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between an ellipse and a parabola. The exception ConstructionError is raised if the method IsClosed of the domain of the ellipse returns False.

◆ IntCurve_IntConicConic() [13/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Elips2d E,
const IntRes2d_Domain DE,
const gp_Hypr2d H,
const IntRes2d_Domain DH,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between an ellipse and an hyperbola. The exception ConstructionError is raised if the method IsClosed of the domain of the ellipse returns False.

◆ IntCurve_IntConicConic() [14/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Parab2d P1,
const IntRes2d_Domain D1,
const gp_Parab2d P2,
const IntRes2d_Domain D2,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between 2 parabolas.

◆ IntCurve_IntConicConic() [15/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Parab2d P,
const IntRes2d_Domain DP,
const gp_Hypr2d H,
const IntRes2d_Domain DH,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a parabola and an hyperbola.

◆ IntCurve_IntConicConic() [16/16]

IntCurve_IntConicConic::IntCurve_IntConicConic ( const gp_Hypr2d H1,
const IntRes2d_Domain D1,
const gp_Hypr2d H2,
const IntRes2d_Domain D2,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between 2 hyperbolas.

Member Function Documentation

◆ Perform() [1/15]

void IntCurve_IntConicConic::Perform ( const gp_Lin2d L1,
const IntRes2d_Domain D1,
const gp_Lin2d L2,
const IntRes2d_Domain D2,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between 2 lines from gp.

◆ Perform() [2/15]

void IntCurve_IntConicConic::Perform ( const gp_Lin2d L,
const IntRes2d_Domain DL,
const gp_Circ2d C,
const IntRes2d_Domain DC,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a line and a circle. The exception ConstructionError is raised if the method IsClosed of the domain of the circle returns False.

◆ Perform() [3/15]

void IntCurve_IntConicConic::Perform ( const gp_Lin2d L,
const IntRes2d_Domain DL,
const gp_Elips2d E,
const IntRes2d_Domain DE,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a line and an ellipse. The exception ConstructionError is raised if the method IsClosed of the domain of the ellipse returns False.

◆ Perform() [4/15]

void IntCurve_IntConicConic::Perform ( const gp_Lin2d L,
const IntRes2d_Domain DL,
const gp_Parab2d P,
const IntRes2d_Domain DP,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a line and a parabola from gp.

◆ Perform() [5/15]

void IntCurve_IntConicConic::Perform ( const gp_Lin2d L,
const IntRes2d_Domain DL,
const gp_Hypr2d H,
const IntRes2d_Domain DH,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a line and an hyperbola.

◆ Perform() [6/15]

void IntCurve_IntConicConic::Perform ( const gp_Circ2d C1,
const IntRes2d_Domain D1,
const gp_Circ2d C2,
const IntRes2d_Domain D2,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between 2 circles from gp. The exception ConstructionError is raised if the method IsClosed of the domain of one of the circle returns False.

◆ Perform() [7/15]

void IntCurve_IntConicConic::Perform ( const gp_Circ2d C,
const IntRes2d_Domain DC,
const gp_Elips2d E,
const IntRes2d_Domain DE,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a circle and an ellipse. The exception ConstructionError is raised if the method IsClosed of one the domain returns False.

◆ Perform() [8/15]

void IntCurve_IntConicConic::Perform ( const gp_Circ2d C,
const IntRes2d_Domain DC,
const gp_Parab2d P,
const IntRes2d_Domain DP,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a circle and a parabola. The exception ConstructionError is raised if the method IsClosed of the domain of the circle returns False.

◆ Perform() [9/15]

void IntCurve_IntConicConic::Perform ( const gp_Circ2d C,
const IntRes2d_Domain DC,
const gp_Hypr2d H,
const IntRes2d_Domain DH,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a circle and an hyperbola. The exception ConstructionError is raised if the method IsClosed of the domain of the circle returns False.

◆ Perform() [10/15]

void IntCurve_IntConicConic::Perform ( const gp_Elips2d E1,
const IntRes2d_Domain D1,
const gp_Elips2d E2,
const IntRes2d_Domain D2,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between 2 ellipses. The exception ConstructionError is raised if the method IsClosed of one of the domain returns False.

◆ Perform() [11/15]

void IntCurve_IntConicConic::Perform ( const gp_Elips2d E,
const IntRes2d_Domain DE,
const gp_Parab2d P,
const IntRes2d_Domain DP,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between an ellipse and a parabola. The exception ConstructionError is raised if the method IsClosed of the domain of the ellipse returns False.

◆ Perform() [12/15]

void IntCurve_IntConicConic::Perform ( const gp_Elips2d E,
const IntRes2d_Domain DE,
const gp_Hypr2d H,
const IntRes2d_Domain DH,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between an ellipse and an hyperbola. The exception ConstructionError is raised if the method IsClosed of the domain of the ellipse returns False.

◆ Perform() [13/15]

void IntCurve_IntConicConic::Perform ( const gp_Parab2d P1,
const IntRes2d_Domain D1,
const gp_Parab2d P2,
const IntRes2d_Domain D2,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between 2 parabolas.

◆ Perform() [14/15]

void IntCurve_IntConicConic::Perform ( const gp_Parab2d P,
const IntRes2d_Domain DP,
const gp_Hypr2d H,
const IntRes2d_Domain DH,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between a parabola and an hyperbola.

◆ Perform() [15/15]

void IntCurve_IntConicConic::Perform ( const gp_Hypr2d H1,
const IntRes2d_Domain D1,
const gp_Hypr2d H2,
const IntRes2d_Domain D2,
const Standard_Real  TolConf,
const Standard_Real  Tol 
)

Intersection between 2 hyperbolas.


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