Open CASCADE Technology
6.5.4
|
This class provides the analytic intersection between a
cylinder or a cone from gp and another quadric, as defined
in the class Quadric from IntAna.
This algorithm is used when the geometric intersection
(class QuadQuadGeo from IntAna) returns no geometric
solution.
The result of the intersection may be
More...
#include <IntAna_IntQuadQuad.hxx>
Public Member Functions | |
DEFINE_STANDARD_ALLOC | IntAna_IntQuadQuad () |
Empty Constructor | |
IntAna_IntQuadQuad (const gp_Cylinder &C, const IntAna_Quadric &Q, const Standard_Real Tol) | |
Creates the intersection between a cylinder and a quadric . Tol est a definir plus precisemment. | |
IntAna_IntQuadQuad (const gp_Cone &C, const IntAna_Quadric &Q, const Standard_Real Tol) | |
Creates the intersection between a cone and a quadric. Tol est a definir plus precisemment. | |
void | Perform (const gp_Cylinder &C, const IntAna_Quadric &Q, const Standard_Real Tol) |
Intersects a cylinder and a quadric . Tol est a definir plus precisemment. | |
void | Perform (const gp_Cone &C, const IntAna_Quadric &Q, const Standard_Real Tol) |
Intersects a cone and a quadric. Tol est a definir plus precisemment. | |
Standard_Boolean | IsDone () const |
Returns True if the computation was successful. | |
Standard_Boolean | IdenticalElements () const |
Returns TRUE if the cylinder, the cone or the sphere is identical to the quadric. | |
Standard_Integer | NbCurve () const |
Returns the number of curves solution. | |
const IntAna_Curve & | Curve (const Standard_Integer N) const |
Returns the curve of range N. | |
Standard_Integer | NbPnt () const |
Returns the number of contact point. | |
const gp_Pnt & | Point (const Standard_Integer N) const |
Returns the point of range N. | |
void | Parameters (const Standard_Integer N, Standard_Real &U1, Standard_Real &U2) const |
Returns the paramaters on the "explicit quadric" (i.e the cylinder or the cone, the first argument given to the constructor) of the point of range N. | |
Standard_Boolean | HasNextCurve (const Standard_Integer I) const |
Returns True if the Curve I shares its last bound with another curve. | |
Standard_Integer | NextCurve (const Standard_Integer I, Standard_Boolean &Opposite) const |
If HasNextCurve(I) returns True, this function returns the Index J of the curve which has a common bound with the curve I. If Opposite == True , then the last parameter of the curve I, and the last parameter of the curve J give the same point. Else the last parameter of the curve I and the first parameter of the curve J are the same point. | |
Standard_Boolean | HasPreviousCurve (const Standard_Integer I) const |
Returns True if the Curve I shares its first bound with another curve. | |
Standard_Integer | PreviousCurve (const Standard_Integer I, Standard_Boolean &Opposite) const |
if HasPreviousCurve(I) returns True, this function returns the Index J of the curve which has a common bound with the curve I. If Opposite == True , then the first parameter of the curve I, and the first parameter of the curve J give the same point. Else the first parameter of the curve I and the last parameter of the curve J are the same point. | |
Protected Member Functions | |
void | InternalSetNextAndPrevious () |
Set the next and previous fields. Private method. | |
Protected Attributes | |
Standard_Boolean | done |
Standard_Boolean | identical |
IntAna_Curve | TheCurve [12] |
Standard_Integer | previouscurve [12] |
Standard_Integer | nextcurve [12] |
Standard_Integer | NbCurves |
Standard_Integer | Nbpoints |
gp_Pnt | Thepoints [2] |
Standard_Integer | myNbMaxCurves |
Standard_Real | myEpsilon |
Standard_Real | myEpsilonCoeffPolyNull |
IntAna_IntQuadQuad::IntAna_IntQuadQuad | ( | const gp_Cylinder & | C, |
const IntAna_Quadric & | Q, | ||
const Standard_Real | Tol | ||
) |
IntAna_IntQuadQuad::IntAna_IntQuadQuad | ( | const gp_Cone & | C, |
const IntAna_Quadric & | Q, | ||
const Standard_Real | Tol | ||
) |
const IntAna_Curve& IntAna_IntQuadQuad::Curve | ( | const Standard_Integer | N | ) | const |
void IntAna_IntQuadQuad::InternalSetNextAndPrevious | ( | ) | [protected] |
Standard_Boolean IntAna_IntQuadQuad::IsDone | ( | ) | const |
Standard_Integer IntAna_IntQuadQuad::NbCurve | ( | ) | const |
Standard_Integer IntAna_IntQuadQuad::NbPnt | ( | ) | const |
Standard_Integer IntAna_IntQuadQuad::NextCurve | ( | const Standard_Integer | I, |
Standard_Boolean & | Opposite | ||
) | const |
void IntAna_IntQuadQuad::Parameters | ( | const Standard_Integer | N, |
Standard_Real & | U1, | ||
Standard_Real & | U2 | ||
) | const |
void IntAna_IntQuadQuad::Perform | ( | const gp_Cylinder & | C, |
const IntAna_Quadric & | Q, | ||
const Standard_Real | Tol | ||
) |
void IntAna_IntQuadQuad::Perform | ( | const gp_Cone & | C, |
const IntAna_Quadric & | Q, | ||
const Standard_Real | Tol | ||
) |
const gp_Pnt& IntAna_IntQuadQuad::Point | ( | const Standard_Integer | N | ) | const |
Standard_Integer IntAna_IntQuadQuad::PreviousCurve | ( | const Standard_Integer | I, |
Standard_Boolean & | Opposite | ||
) | const |
Standard_Boolean IntAna_IntQuadQuad::done [protected] |
Standard_Boolean IntAna_IntQuadQuad::identical [protected] |
Standard_Real IntAna_IntQuadQuad::myEpsilon [protected] |
Standard_Integer IntAna_IntQuadQuad::myNbMaxCurves [protected] |
Standard_Integer IntAna_IntQuadQuad::NbCurves [protected] |
Standard_Integer IntAna_IntQuadQuad::Nbpoints [protected] |
Standard_Integer IntAna_IntQuadQuad::nextcurve[12] [protected] |
Standard_Integer IntAna_IntQuadQuad::previouscurve[12] [protected] |
IntAna_Curve IntAna_IntQuadQuad::TheCurve[12] [protected] |
gp_Pnt IntAna_IntQuadQuad::Thepoints[2] [protected] |