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_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. | |
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_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_Circ & | C, | 
| const IntAna_Quadric & | Q ) | 
Intersects a circle and a quadric.
| 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_Elips & | E, | 
| const IntAna_Quadric & | Q ) | 
Intersects an ellipse and a quadric.
| 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.
| 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_Lin & | L, | 
| const IntAna_Quadric & | Q ) | 
Intersects a line 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_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.
| const gp_Pnt & IntAna_IntConicQuad::Point | ( | const Standard_Integer | N | ) | const | 
Returns the point of range N.