Open CASCADE Technology 7.8.2.dev
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.
 
 IntAna_IntConicQuad (const gp_Lin &L, const IntAna_Quadric &Q)
 Creates the intersection between a line and a quadric.
 
void Perform (const gp_Lin &L, const IntAna_Quadric &Q)
 Intersects a line and a quadric.
 
 IntAna_IntConicQuad (const gp_Circ &C, const IntAna_Quadric &Q)
 Creates the intersection between a circle and a quadric.
 
void Perform (const gp_Circ &C, const IntAna_Quadric &Q)
 Intersects a circle and a quadric.
 
 IntAna_IntConicQuad (const gp_Elips &E, const IntAna_Quadric &Q)
 Creates the intersection between an ellipse and a quadric.
 
void Perform (const gp_Elips &E, const IntAna_Quadric &Q)
 Intersects an ellipse and a quadric.
 
 IntAna_IntConicQuad (const gp_Parab &P, const IntAna_Quadric &Q)
 Creates the intersection between a parabola and a quadric.
 
void Perform (const gp_Parab &P, const IntAna_Quadric &Q)
 Intersects a parabola and a quadric.
 
 IntAna_IntConicQuad (const gp_Hypr &H, const IntAna_Quadric &Q)
 Creates the intersection between an hyperbola and a quadric.
 
void Perform (const gp_Hypr &H, const IntAna_Quadric &Q)
 Intersects an hyperbola and a quadric.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
 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.
 
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.
 
Standard_Boolean IsDone () const
 Returns TRUE if the creation completed.
 
Standard_Boolean IsInQuadric () const
 Returns TRUE if the conic is in the quadric.
 
Standard_Boolean IsParallel () const
 Returns TRUE if the line is in a quadric which is parallel to the quadric.
 
Standard_Integer NbPoints () const
 Returns the number of intersection point.
 
const gp_PntPoint (const Standard_Integer N) const
 Returns the point of range N.
 
Standard_Real ParamOnConic (const Standard_Integer N) const
 Returns the parameter on the line of the intersection point of range N.
 

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_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() [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 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() [4/10]

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

Intersects an ellipse and a quadric.

◆ Perform() [5/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.

◆ Perform() [6/10]

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

Intersects an hyperbola and a quadric.

◆ Perform() [7/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() [8/10]

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

Intersects a line and a quadric.

◆ Perform() [9/10]

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

Intersects a parabola and a quadric.

◆ Perform() [10/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.

◆ 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: