Open CASCADE Technology  7.4.0
Public Member Functions

IntAna_IntConicQuad Class Reference

This class provides the analytic intersection between a conic defined as an element of gp (Lin,Circ,Elips, Parab,Hypr) and a quadric as defined in the class Quadric from IntAna. The intersection between a conic and a plane is treated as a special case. More...

#include <IntAna_IntConicQuad.hxx>

Public Member Functions

 IntAna_IntConicQuad ()
 Empty constructor. More...
 
 IntAna_IntConicQuad (const gp_Lin &L, const IntAna_Quadric &Q)
 Creates the intersection between a line and a quadric. More...
 
void Perform (const gp_Lin &L, const IntAna_Quadric &Q)
 Intersects a line and a quadric. More...
 
 IntAna_IntConicQuad (const gp_Circ &C, const IntAna_Quadric &Q)
 Creates the intersection between a circle and a quadric. More...
 
void Perform (const gp_Circ &C, const IntAna_Quadric &Q)
 Intersects a circle and a quadric. More...
 
 IntAna_IntConicQuad (const gp_Elips &E, const IntAna_Quadric &Q)
 Creates the intersection between an ellipse and a quadric. More...
 
void Perform (const gp_Elips &E, const IntAna_Quadric &Q)
 Intersects an ellipse and a quadric. More...
 
 IntAna_IntConicQuad (const gp_Parab &P, const IntAna_Quadric &Q)
 Creates the intersection between a parabola and a quadric. More...
 
void Perform (const gp_Parab &P, const IntAna_Quadric &Q)
 Intersects a parabola and a quadric. More...
 
 IntAna_IntConicQuad (const gp_Hypr &H, const IntAna_Quadric &Q)
 Creates the intersection between an hyperbola and a quadric. More...
 
void Perform (const gp_Hypr &H, const IntAna_Quadric &Q)
 Intersects an hyperbola and a quadric. More...
 
 IntAna_IntConicQuad (const gp_Lin &L, const gp_Pln &P, const Standard_Real Tolang, const Standard_Real Tol=0, const Standard_Real Len=0)
 Intersection between a line and a plane. Tolang is used to determine if the angle between two vectors is null. Tol is used to check the distance between line and plane on the distance <Len> from the origin of the line. More...
 
void Perform (const gp_Lin &L, const gp_Pln &P, const Standard_Real Tolang, const Standard_Real Tol=0, const Standard_Real Len=0)
 Intersects a line and a plane. Tolang is used to determine if the angle between two vectors is null. Tol is used to check the distance between line and plane on the distance <Len> from the origin of the line. More...
 
 IntAna_IntConicQuad (const gp_Circ &C, const gp_Pln &P, const Standard_Real Tolang, const Standard_Real Tol)
 Intersection between a circle and a plane. Tolang is used to determine if the angle between two vectors is null. Tol is used to determine if a distance is null. More...
 
void Perform (const gp_Circ &C, const gp_Pln &P, const Standard_Real Tolang, const Standard_Real Tol)
 Intersects a circle and a plane. Tolang is used to determine if the angle between two vectors is null. Tol is used to determine if a distance is null. More...
 
 IntAna_IntConicQuad (const gp_Elips &E, const gp_Pln &P, const Standard_Real Tolang, const Standard_Real Tol)
 Intersection between an ellipse and a plane. Tolang is used to determine if the angle between two vectors is null. Tol is used to determine if a distance is null. More...
 
void Perform (const gp_Elips &E, const gp_Pln &P, const Standard_Real Tolang, const Standard_Real Tol)
 Intersects an ellipse and a plane. Tolang is used to determine if the angle between two vectors is null. Tol is used to determine if a distance is null. More...
 
 IntAna_IntConicQuad (const gp_Parab &Pb, const gp_Pln &P, const Standard_Real Tolang)
 Intersection between a parabola and a plane. Tolang is used to determine if the angle between two vectors is null. More...
 
void Perform (const gp_Parab &Pb, const gp_Pln &P, const Standard_Real Tolang)
 Intersects a parabola and a plane. Tolang is used to determine if the angle between two vectors is null. More...
 
 IntAna_IntConicQuad (const gp_Hypr &H, const gp_Pln &P, const Standard_Real Tolang)
 Intersection between an hyperbola and a plane. Tolang is used to determine if the angle between two vectors is null. More...
 
void Perform (const gp_Hypr &H, const gp_Pln &P, const Standard_Real Tolang)
 Intersects an hyperbola and a plane. Tolang is used to determine if the angle between two vectors is null. More...
 
Standard_Boolean IsDone () const
 Returns TRUE if the creation completed. More...
 
Standard_Boolean IsInQuadric () const
 Returns TRUE if the conic is in the quadric. More...
 
Standard_Boolean IsParallel () const
 Returns TRUE if the line is in a quadric which is parallel to the quadric. More...
 
Standard_Integer NbPoints () const
 Returns the number of intersection point. More...
 
const gp_PntPoint (const Standard_Integer N) const
 Returns the point of range N. More...
 
Standard_Real ParamOnConic (const Standard_Integer N) const
 Returns the parameter on the line of the intersection point of range N. More...
 

Detailed Description

This class provides the analytic intersection between a conic defined as an element of gp (Lin,Circ,Elips, Parab,Hypr) and a quadric as defined in the class Quadric from IntAna. The intersection between a conic and a plane is treated as a special case.

The result of the intersection are points (Pnt from gp), associated with the parameter on the conic.

A call to an Intersection L:Lin from gp and SPH: Sphere from gp can be written either : IntAna_IntConicQuad Inter(L,IntAna_Quadric(SPH)) or : IntAna_IntConicQuad Inter(L,SPH) (it is necessary to include IntAna_Quadric.hxx in this case)

Constructor & Destructor Documentation

◆ IntAna_IntConicQuad() [1/11]

IntAna_IntConicQuad::IntAna_IntConicQuad ( )

Empty constructor.

◆ IntAna_IntConicQuad() [2/11]

IntAna_IntConicQuad::IntAna_IntConicQuad ( const gp_Lin L,
const IntAna_Quadric Q 
)

Creates the intersection between a line and a quadric.

◆ IntAna_IntConicQuad() [3/11]

IntAna_IntConicQuad::IntAna_IntConicQuad ( const gp_Circ C,
const IntAna_Quadric Q 
)

Creates the intersection between a circle and a quadric.

◆ IntAna_IntConicQuad() [4/11]

IntAna_IntConicQuad::IntAna_IntConicQuad ( const gp_Elips E,
const IntAna_Quadric Q 
)

Creates the intersection between an ellipse and a quadric.

◆ IntAna_IntConicQuad() [5/11]

IntAna_IntConicQuad::IntAna_IntConicQuad ( const gp_Parab P,
const IntAna_Quadric Q 
)

Creates the intersection between a parabola and a quadric.

◆ IntAna_IntConicQuad() [6/11]

IntAna_IntConicQuad::IntAna_IntConicQuad ( const gp_Hypr H,
const IntAna_Quadric Q 
)

Creates the intersection between an hyperbola and a quadric.

◆ IntAna_IntConicQuad() [7/11]

IntAna_IntConicQuad::IntAna_IntConicQuad ( const gp_Lin L,
const gp_Pln P,
const Standard_Real  Tolang,
const Standard_Real  Tol = 0,
const Standard_Real  Len = 0 
)

Intersection between a line and a plane. Tolang is used to determine if the angle between two vectors is null. Tol is used to check the distance between line and plane on the distance <Len> from the origin of the line.

◆ IntAna_IntConicQuad() [8/11]

IntAna_IntConicQuad::IntAna_IntConicQuad ( const gp_Circ C,
const gp_Pln P,
const Standard_Real  Tolang,
const Standard_Real  Tol 
)

Intersection between a circle and a plane. Tolang is used to determine if the angle between two vectors is null. Tol is used to determine if a distance is null.

◆ IntAna_IntConicQuad() [9/11]

IntAna_IntConicQuad::IntAna_IntConicQuad ( const gp_Elips E,
const gp_Pln P,
const Standard_Real  Tolang,
const Standard_Real  Tol 
)

Intersection between an ellipse and a plane. Tolang is used to determine if the angle between two vectors is null. Tol is used to determine if a distance is null.

◆ IntAna_IntConicQuad() [10/11]

IntAna_IntConicQuad::IntAna_IntConicQuad ( const gp_Parab Pb,
const gp_Pln P,
const Standard_Real  Tolang 
)

Intersection between a parabola and a plane. Tolang is used to determine if the angle between two vectors is null.

◆ IntAna_IntConicQuad() [11/11]

IntAna_IntConicQuad::IntAna_IntConicQuad ( const gp_Hypr H,
const gp_Pln P,
const Standard_Real  Tolang 
)

Intersection between an hyperbola and a plane. Tolang is used to determine if the angle between two vectors is null.

Member Function Documentation

◆ IsDone()

Standard_Boolean IntAna_IntConicQuad::IsDone ( ) const

Returns TRUE if the creation completed.

◆ IsInQuadric()

Standard_Boolean IntAna_IntConicQuad::IsInQuadric ( ) const

Returns TRUE if the conic is in the quadric.

◆ IsParallel()

Standard_Boolean IntAna_IntConicQuad::IsParallel ( ) const

Returns TRUE if the line is in a quadric which is parallel to the quadric.

◆ NbPoints()

Standard_Integer IntAna_IntConicQuad::NbPoints ( ) const

Returns the number of intersection point.

◆ ParamOnConic()

Standard_Real IntAna_IntConicQuad::ParamOnConic ( const Standard_Integer  N) const

Returns the parameter on the line of the intersection point of range N.

◆ Perform() [1/10]

void IntAna_IntConicQuad::Perform ( const gp_Lin L,
const IntAna_Quadric Q 
)

Intersects a line and a quadric.

◆ Perform() [2/10]

void IntAna_IntConicQuad::Perform ( const gp_Circ C,
const IntAna_Quadric Q 
)

Intersects a circle and a quadric.

◆ Perform() [3/10]

void IntAna_IntConicQuad::Perform ( const gp_Elips E,
const IntAna_Quadric Q 
)

Intersects an ellipse and a quadric.

◆ Perform() [4/10]

void IntAna_IntConicQuad::Perform ( const gp_Parab P,
const IntAna_Quadric Q 
)

Intersects a parabola and a quadric.

◆ Perform() [5/10]

void IntAna_IntConicQuad::Perform ( const gp_Hypr H,
const IntAna_Quadric Q 
)

Intersects an hyperbola and a quadric.

◆ Perform() [6/10]

void IntAna_IntConicQuad::Perform ( const gp_Lin L,
const gp_Pln P,
const Standard_Real  Tolang,
const Standard_Real  Tol = 0,
const Standard_Real  Len = 0 
)

Intersects a line and a plane. Tolang is used to determine if the angle between two vectors is null. Tol is used to check the distance between line and plane on the distance <Len> from the origin of the line.

◆ Perform() [7/10]

void IntAna_IntConicQuad::Perform ( const gp_Circ C,
const gp_Pln P,
const Standard_Real  Tolang,
const Standard_Real  Tol 
)

Intersects a circle and a plane. Tolang is used to determine if the angle between two vectors is null. Tol is used to determine if a distance is null.

◆ Perform() [8/10]

void IntAna_IntConicQuad::Perform ( const gp_Elips E,
const gp_Pln P,
const Standard_Real  Tolang,
const Standard_Real  Tol 
)

Intersects an ellipse and a plane. Tolang is used to determine if the angle between two vectors is null. Tol is used to determine if a distance is null.

◆ Perform() [9/10]

void IntAna_IntConicQuad::Perform ( const gp_Parab Pb,
const gp_Pln P,
const Standard_Real  Tolang 
)

Intersects a parabola and a plane. Tolang is used to determine if the angle between two vectors is null.

◆ Perform() [10/10]

void IntAna_IntConicQuad::Perform ( const gp_Hypr H,
const gp_Pln P,
const Standard_Real  Tolang 
)

Intersects an hyperbola and a plane. Tolang is used to determine if the angle between two vectors is null.

◆ Point()

const gp_Pnt& IntAna_IntConicQuad::Point ( const Standard_Integer  N) const

Returns the point of range N.


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