Open CASCADE Technology 7.8.2.dev
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:

Public Member Functions

 IntCurve_IntConicConic ()
 Empty Constructor.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
- Public Member Functions inherited from IntRes2d_Intersection
Standard_Boolean IsDone () const
 returns TRUE when the computation was successful.
 
Standard_Boolean IsEmpty () const
 Returns TRUE if there is no intersection between the given arguments. The exception NotDone is raised if IsDone returns FALSE.
 
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.
 
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).
 
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.
 
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).
 
void SetReversedParameters (const Standard_Boolean Reverseflag)
 

Additional Inherited Members

- Protected Member Functions inherited from IntRes2d_Intersection
 IntRes2d_Intersection ()
 Empty constructor.
 
 IntRes2d_Intersection (const IntRes2d_Intersection &Other)
 
IntRes2d_Intersectionoperator= (const IntRes2d_Intersection &theOther)
 Assignment.
 
 ~IntRes2d_Intersection ()
 Destructor is protected, for safe inheritance.
 
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
IntRes2d_SequenceOfIntersectionPoint lpnt
 
IntRes2d_SequenceOfIntersectionSegment lseg
 
Standard_Boolean done
 
Standard_Boolean reverse
 

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_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() [2/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() [3/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() [4/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() [5/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() [6/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() [7/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() [8/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.

◆ Perform() [9/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() [10/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() [11/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() [12/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() [13/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() [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_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.


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