Open CASCADE Technology  7.7.0
Public Member Functions | Protected Member Functions | Protected Attributes
IntAna_IntQuadQuad Class Reference

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

 IntAna_IntQuadQuad ()
 Empty Constructor. More...
 
 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. More...
 
 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. More...
 
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. More...
 
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. More...
 
Standard_Boolean IsDone () const
 Returns True if the computation was successful. More...
 
Standard_Boolean IdenticalElements () const
 Returns TRUE if the cylinder, the cone or the sphere is identical to the quadric. More...
 
Standard_Integer NbCurve () const
 Returns the number of curves solution. More...
 
const IntAna_CurveCurve (const Standard_Integer N) const
 Returns the curve of range N. More...
 
Standard_Integer NbPnt () const
 Returns the number of contact point. More...
 
const gp_PntPoint (const Standard_Integer N) const
 Returns the point of range N. More...
 
void Parameters (const Standard_Integer N, Standard_Real &U1, Standard_Real &U2) const
 Returns the parameters on the "explicit quadric" (i.e the cylinder or the cone, the first argument given to the constructor) of the point of range N. More...
 
Standard_Boolean HasNextCurve (const Standard_Integer I) const
 Returns True if the Curve I shares its last bound with another curve. More...
 
Standard_Integer NextCurve (const Standard_Integer I, Standard_Boolean &theOpposite) 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 theOpposite == 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. More...
 
Standard_Boolean HasPreviousCurve (const Standard_Integer I) const
 Returns True if the Curve I shares its first bound with another curve. More...
 
Standard_Integer PreviousCurve (const Standard_Integer I, Standard_Boolean &theOpposite) 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 theOpposite == 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. More...
 

Protected Member Functions

void InternalSetNextAndPrevious ()
 Set the next and previous fields. Private method. More...
 

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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ IntAna_IntQuadQuad() [1/3]

IntAna_IntQuadQuad::IntAna_IntQuadQuad ( )

Empty Constructor.

◆ IntAna_IntQuadQuad() [2/3]

IntAna_IntQuadQuad::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() [3/3]

IntAna_IntQuadQuad::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.

Member Function Documentation

◆ Curve()

const IntAna_Curve& IntAna_IntQuadQuad::Curve ( const Standard_Integer  N) const

Returns the curve of range N.

◆ HasNextCurve()

Standard_Boolean IntAna_IntQuadQuad::HasNextCurve ( const Standard_Integer  I) const

Returns True if the Curve I shares its last bound with another curve.

◆ HasPreviousCurve()

Standard_Boolean IntAna_IntQuadQuad::HasPreviousCurve ( const Standard_Integer  I) const

Returns True if the Curve I shares its first bound with another curve.

◆ IdenticalElements()

Standard_Boolean IntAna_IntQuadQuad::IdenticalElements ( ) const

Returns TRUE if the cylinder, the cone or the sphere is identical to the quadric.

◆ InternalSetNextAndPrevious()

void IntAna_IntQuadQuad::InternalSetNextAndPrevious ( )
protected

Set the next and previous fields. Private method.

◆ IsDone()

Standard_Boolean IntAna_IntQuadQuad::IsDone ( ) const

Returns True if the computation was successful.

◆ NbCurve()

Standard_Integer IntAna_IntQuadQuad::NbCurve ( ) const

Returns the number of curves solution.

◆ NbPnt()

Standard_Integer IntAna_IntQuadQuad::NbPnt ( ) const

Returns the number of contact point.

◆ NextCurve()

Standard_Integer IntAna_IntQuadQuad::NextCurve ( const Standard_Integer  I,
Standard_Boolean theOpposite 
) 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 theOpposite == 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.

◆ Parameters()

void IntAna_IntQuadQuad::Parameters ( const Standard_Integer  N,
Standard_Real U1,
Standard_Real U2 
) const

Returns the parameters on the "explicit quadric" (i.e the cylinder or the cone, the first argument given to the constructor) of the point of range N.

◆ Perform() [1/2]

void IntAna_IntQuadQuad::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.

◆ Perform() [2/2]

void IntAna_IntQuadQuad::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.

◆ Point()

const gp_Pnt& IntAna_IntQuadQuad::Point ( const Standard_Integer  N) const

Returns the point of range N.

◆ PreviousCurve()

Standard_Integer IntAna_IntQuadQuad::PreviousCurve ( const Standard_Integer  I,
Standard_Boolean theOpposite 
) 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 theOpposite == 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.

Field Documentation

◆ done

Standard_Boolean IntAna_IntQuadQuad::done
protected

◆ identical

Standard_Boolean IntAna_IntQuadQuad::identical
protected

◆ myEpsilon

Standard_Real IntAna_IntQuadQuad::myEpsilon
protected

◆ myEpsilonCoeffPolyNull

Standard_Real IntAna_IntQuadQuad::myEpsilonCoeffPolyNull
protected

◆ myNbMaxCurves

Standard_Integer IntAna_IntQuadQuad::myNbMaxCurves
protected

◆ NbCurves

Standard_Integer IntAna_IntQuadQuad::NbCurves
protected

◆ Nbpoints

Standard_Integer IntAna_IntQuadQuad::Nbpoints
protected

◆ nextcurve

Standard_Integer IntAna_IntQuadQuad::nextcurve[12]
protected

◆ previouscurve

Standard_Integer IntAna_IntQuadQuad::previouscurve[12]
protected

◆ TheCurve

IntAna_Curve IntAna_IntQuadQuad::TheCurve[12]
protected

◆ Thepoints

gp_Pnt IntAna_IntQuadQuad::Thepoints[2]
protected

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