Open CASCADE Technology
6.5.4
|
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)
#include <IntAna_IntConicQuad.hxx>
Public Member Functions | |
DEFINE_STANDARD_ALLOC | 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) | |
Intersection between a line and a plane. Tolang is used to determine if the angle between two vectors is null. | |
void | Perform (const gp_Lin &L, const gp_Pln &P, const Standard_Real Tolang) |
Intersects a line and a plane. Tolang is used to determine if the angle between two vectors is null. | |
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_Pnt & | Point (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. |
IntAna_IntConicQuad::IntAna_IntConicQuad | ( | const gp_Lin & | L, |
const gp_Pln & | P, | ||
const Standard_Real | Tolang | ||
) |
IntAna_IntConicQuad::IntAna_IntConicQuad | ( | const gp_Circ & | C, |
const gp_Pln & | P, | ||
const Standard_Real | Tolang, | ||
const Standard_Real | Tol | ||
) |
IntAna_IntConicQuad::IntAna_IntConicQuad | ( | const gp_Elips & | E, |
const gp_Pln & | P, | ||
const Standard_Real | Tolang, | ||
const Standard_Real | Tol | ||
) |
IntAna_IntConicQuad::IntAna_IntConicQuad | ( | const gp_Parab & | Pb, |
const gp_Pln & | P, | ||
const Standard_Real | Tolang | ||
) |
IntAna_IntConicQuad::IntAna_IntConicQuad | ( | const gp_Hypr & | H, |
const gp_Pln & | P, | ||
const Standard_Real | Tolang | ||
) |
Standard_Boolean IntAna_IntConicQuad::IsDone | ( | ) | const |
void IntAna_IntConicQuad::Perform | ( | const gp_Lin & | L, |
const IntAna_Quadric & | Q | ||
) |
void IntAna_IntConicQuad::Perform | ( | const gp_Circ & | C, |
const IntAna_Quadric & | Q | ||
) |
void IntAna_IntConicQuad::Perform | ( | const gp_Elips & | E, |
const IntAna_Quadric & | Q | ||
) |
void IntAna_IntConicQuad::Perform | ( | const gp_Parab & | P, |
const IntAna_Quadric & | Q | ||
) |
void IntAna_IntConicQuad::Perform | ( | const gp_Hypr & | H, |
const IntAna_Quadric & | Q | ||
) |
void IntAna_IntConicQuad::Perform | ( | const gp_Lin & | L, |
const gp_Pln & | P, | ||
const Standard_Real | Tolang | ||
) |
void IntAna_IntConicQuad::Perform | ( | const gp_Circ & | C, |
const gp_Pln & | P, | ||
const Standard_Real | Tolang, | ||
const Standard_Real | Tol | ||
) |
void IntAna_IntConicQuad::Perform | ( | const gp_Elips & | E, |
const gp_Pln & | P, | ||
const Standard_Real | Tolang, | ||
const Standard_Real | Tol | ||
) |
void IntAna_IntConicQuad::Perform | ( | const gp_Parab & | Pb, |
const gp_Pln & | P, | ||
const Standard_Real | Tolang | ||
) |
void IntAna_IntConicQuad::Perform | ( | const gp_Hypr & | H, |
const gp_Pln & | P, | ||
const Standard_Real | Tolang | ||
) |
const gp_Pnt& IntAna_IntConicQuad::Point | ( | const Standard_Integer | N | ) | const |