Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
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.
 
 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 double Tolang, const double Tol=0, const double 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 double Tolang, const double Tol=0, const double 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 double Tolang, const double 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 double Tolang, const double 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 double Tolang, const double 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 double Tolang, const double 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 double 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 double 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 double 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 double Tolang)
 Intersects an hyperbola and a plane. Tolang is used to determine if the angle between two vectors is null.
 
bool IsDone () const
 Returns TRUE if the creation completed.
 
bool IsInQuadric () const
 Returns TRUE if the conic is in the quadric.
 
bool IsParallel () const
 Returns TRUE if the line is in a quadric which is parallel to the quadric.
 
int NbPoints () const
 Returns the number of intersection point.
 
const gp_PntPoint (const int N) const
 Returns the point of range N.
 
double ParamOnConic (const int 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 double Tolang,
const double Tol = 0,
const double 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 double Tolang,
const double 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 double Tolang,
const double 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 double 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 double 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()

bool IntAna_IntConicQuad::IsDone ( ) const

Returns TRUE if the creation completed.

◆ IsInQuadric()

bool IntAna_IntConicQuad::IsInQuadric ( ) const

Returns TRUE if the conic is in the quadric.

◆ IsParallel()

bool IntAna_IntConicQuad::IsParallel ( ) const

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

◆ NbPoints()

int IntAna_IntConicQuad::NbPoints ( ) const

Returns the number of intersection point.

◆ ParamOnConic()

double IntAna_IntConicQuad::ParamOnConic ( const int 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 double Tolang,
const double 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 double Tolang,
const double 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 double 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 double Tolang,
const double Tol = 0,
const double 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 double 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 int N) const

Returns the point of range N.


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