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