Open CASCADE Technology
7.3.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.