Open CASCADE Technology  7.3.1.dev
Public Member Functions
IntAna2d_AnaIntersection Class Reference

Implementation of the analytical intersection between: More...

#include <IntAna2d_AnaIntersection.hxx>

Public Member Functions

 IntAna2d_AnaIntersection ()
 Empty constructor. IsDone returns False. More...
 
 IntAna2d_AnaIntersection (const gp_Lin2d &L1, const gp_Lin2d &L2)
 Intersection between two lines. More...
 
 IntAna2d_AnaIntersection (const gp_Circ2d &C1, const gp_Circ2d &C2)
 Intersection between two circles. More...
 
 IntAna2d_AnaIntersection (const gp_Lin2d &L, const gp_Circ2d &C)
 Intersection between a line and a circle. More...
 
 IntAna2d_AnaIntersection (const gp_Lin2d &L, const IntAna2d_Conic &C)
 Intersection between a line and a conic. More...
 
 IntAna2d_AnaIntersection (const gp_Circ2d &C, const IntAna2d_Conic &Co)
 Intersection between a circle and another conic. More...
 
 IntAna2d_AnaIntersection (const gp_Elips2d &E, const IntAna2d_Conic &C)
 Intersection between an ellipse and another conic. More...
 
 IntAna2d_AnaIntersection (const gp_Parab2d &P, const IntAna2d_Conic &C)
 Intersection between a parabola and another conic. More...
 
 IntAna2d_AnaIntersection (const gp_Hypr2d &H, const IntAna2d_Conic &C)
 Intersection between an hyperbola and another conic. More...
 
void Perform (const gp_Lin2d &L1, const gp_Lin2d &L2)
 Intersection between two lines. More...
 
void Perform (const gp_Circ2d &C1, const gp_Circ2d &C2)
 Intersection between two circles. More...
 
void Perform (const gp_Lin2d &L, const gp_Circ2d &C)
 Intersection between a line and a circle. More...
 
void Perform (const gp_Lin2d &L, const IntAna2d_Conic &C)
 Intersection between a line and a conic. More...
 
void Perform (const gp_Circ2d &C, const IntAna2d_Conic &Co)
 Intersection between a circle and another conic. More...
 
void Perform (const gp_Elips2d &E, const IntAna2d_Conic &C)
 Intersection between an ellipse and another conic. More...
 
void Perform (const gp_Parab2d &P, const IntAna2d_Conic &C)
 Intersection between a parabola and another conic. More...
 
void Perform (const gp_Hypr2d &H, const IntAna2d_Conic &C)
 Intersection between an hyperbola and another conic. More...
 
Standard_Boolean IsDone () const
 Returns TRUE if the computation was succesfull. More...
 
Standard_Boolean IsEmpty () const
 Returns TRUE when there is no intersection, i-e. More...
 
Standard_Boolean IdenticalElements () const
 For the intersection between an element of gp and a conic known by an implicit equation, the result will be TRUE if the element of gp verifies the implicit equation. For the intersection between two Lin2d or two Circ2d, the result will be TRUE if the elements are identical. The function returns FALSE in all the other cases. More...
 
Standard_Boolean ParallelElements () const
 For the intersection between two Lin2d or two Circ2d, the function returns TRUE if the elements are parallel. The function returns FALSE in all the other cases. More...
 
Standard_Integer NbPoints () const
 returns the number of IntPoint between the 2 curves. More...
 
const IntAna2d_IntPointPoint (const Standard_Integer N) const
 returns the intersection point of range N; If (N<=0) or (N>NbPoints), an exception is raised. More...
 

Detailed Description

Implementation of the analytical intersection between:

Constructor & Destructor Documentation

◆ IntAna2d_AnaIntersection() [1/9]

IntAna2d_AnaIntersection::IntAna2d_AnaIntersection ( )

Empty constructor. IsDone returns False.

◆ IntAna2d_AnaIntersection() [2/9]

IntAna2d_AnaIntersection::IntAna2d_AnaIntersection ( const gp_Lin2d L1,
const gp_Lin2d L2 
)

Intersection between two lines.

◆ IntAna2d_AnaIntersection() [3/9]

IntAna2d_AnaIntersection::IntAna2d_AnaIntersection ( const gp_Circ2d C1,
const gp_Circ2d C2 
)

Intersection between two circles.

◆ IntAna2d_AnaIntersection() [4/9]

IntAna2d_AnaIntersection::IntAna2d_AnaIntersection ( const gp_Lin2d L,
const gp_Circ2d C 
)

Intersection between a line and a circle.

◆ IntAna2d_AnaIntersection() [5/9]

IntAna2d_AnaIntersection::IntAna2d_AnaIntersection ( const gp_Lin2d L,
const IntAna2d_Conic C 
)

Intersection between a line and a conic.

◆ IntAna2d_AnaIntersection() [6/9]

IntAna2d_AnaIntersection::IntAna2d_AnaIntersection ( const gp_Circ2d C,
const IntAna2d_Conic Co 
)

Intersection between a circle and another conic.

◆ IntAna2d_AnaIntersection() [7/9]

IntAna2d_AnaIntersection::IntAna2d_AnaIntersection ( const gp_Elips2d E,
const IntAna2d_Conic C 
)

Intersection between an ellipse and another conic.

◆ IntAna2d_AnaIntersection() [8/9]

IntAna2d_AnaIntersection::IntAna2d_AnaIntersection ( const gp_Parab2d P,
const IntAna2d_Conic C 
)

Intersection between a parabola and another conic.

◆ IntAna2d_AnaIntersection() [9/9]

IntAna2d_AnaIntersection::IntAna2d_AnaIntersection ( const gp_Hypr2d H,
const IntAna2d_Conic C 
)

Intersection between an hyperbola and another conic.

Member Function Documentation

◆ IdenticalElements()

Standard_Boolean IntAna2d_AnaIntersection::IdenticalElements ( ) const

For the intersection between an element of gp and a conic known by an implicit equation, the result will be TRUE if the element of gp verifies the implicit equation. For the intersection between two Lin2d or two Circ2d, the result will be TRUE if the elements are identical. The function returns FALSE in all the other cases.

◆ IsDone()

Standard_Boolean IntAna2d_AnaIntersection::IsDone ( ) const

Returns TRUE if the computation was succesfull.

◆ IsEmpty()

Standard_Boolean IntAna2d_AnaIntersection::IsEmpty ( ) const

Returns TRUE when there is no intersection, i-e.

  • no intersection point
  • the elements are not identical. The element may be parallel in this case.

◆ NbPoints()

Standard_Integer IntAna2d_AnaIntersection::NbPoints ( ) const

returns the number of IntPoint between the 2 curves.

◆ ParallelElements()

Standard_Boolean IntAna2d_AnaIntersection::ParallelElements ( ) const

For the intersection between two Lin2d or two Circ2d, the function returns TRUE if the elements are parallel. The function returns FALSE in all the other cases.

◆ Perform() [1/8]

void IntAna2d_AnaIntersection::Perform ( const gp_Lin2d L1,
const gp_Lin2d L2 
)

Intersection between two lines.

◆ Perform() [2/8]

void IntAna2d_AnaIntersection::Perform ( const gp_Circ2d C1,
const gp_Circ2d C2 
)

Intersection between two circles.

◆ Perform() [3/8]

void IntAna2d_AnaIntersection::Perform ( const gp_Lin2d L,
const gp_Circ2d C 
)

Intersection between a line and a circle.

◆ Perform() [4/8]

void IntAna2d_AnaIntersection::Perform ( const gp_Lin2d L,
const IntAna2d_Conic C 
)

Intersection between a line and a conic.

◆ Perform() [5/8]

void IntAna2d_AnaIntersection::Perform ( const gp_Circ2d C,
const IntAna2d_Conic Co 
)

Intersection between a circle and another conic.

◆ Perform() [6/8]

void IntAna2d_AnaIntersection::Perform ( const gp_Elips2d E,
const IntAna2d_Conic C 
)

Intersection between an ellipse and another conic.

◆ Perform() [7/8]

void IntAna2d_AnaIntersection::Perform ( const gp_Parab2d P,
const IntAna2d_Conic C 
)

Intersection between a parabola and another conic.

◆ Perform() [8/8]

void IntAna2d_AnaIntersection::Perform ( const gp_Hypr2d H,
const IntAna2d_Conic C 
)

Intersection between an hyperbola and another conic.

◆ Point()

const IntAna2d_IntPoint& IntAna2d_AnaIntersection::Point ( const Standard_Integer  N) const

returns the intersection point of range N; If (N<=0) or (N>NbPoints), an exception is raised.


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