OCC Main Page | ModelingData | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

ModelingData
TKGeomBase
IntAna


IntAna_QuadQuadGeo Class Reference

Geometric intersections between two natural quadrics
(Sphere , Cylinder , Cone , Pln from gp).
The possible intersections are :
- 1 point
- 1 or 2 line(s)
- 1 Point and 1 Line
- 1 circle
- 1 ellipse
- 1 parabola
- 1 or 2 hyperbola(s).
- Empty : there is no intersection between the two quadrics.
- Same : the quadrics are identical
- NoGeometricSolution : there may be an intersection, but it
is necessary to use an analytic algorithm to determine
it. See class IntQuadQuad from IntAna.
.

#include <IntAna_QuadQuadGeo.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT IntAna_QuadQuadGeo ()
 Empty constructor.
.
Standard_EXPORT IntAna_QuadQuadGeo (const gp_Pln &P1, const gp_Pln &P2, const Standard_Real TolAng, const Standard_Real Tol)
 Creates the intersection between two planes.
TolAng is the angular tolerance used to determine
if the planes are parallel.
Tol is the tolerance used to determine if the planes
are identical (only when they are parallel).
.
Standard_EXPORT void Perform (const gp_Pln &P1, const gp_Pln &P2, const Standard_Real TolAng, const Standard_Real Tol)
 Intersects two planes.
TolAng is the angular tolerance used to determine
if the planes are parallel.
Tol is the tolerance used to determine if the planes
are identical (only when they are parallel).
.
Standard_EXPORT IntAna_QuadQuadGeo (const gp_Pln &P, const gp_Cylinder &C, const Standard_Real Tolang, const Standard_Real Tol)
 Creates the intersection between a plane and a cylinder.
TolAng is the angular tolerance used to determine
if the axis of the cylinder is parallel to the plane.
Tol is the tolerance used to determine if the result
is a circle or an ellipse. If the maximum distance between
the ellipse solution and the circle centered at the ellipse
center is less than Tol, the result will be the circle.
.
Standard_EXPORT void Perform (const gp_Pln &P, const gp_Cylinder &C, const Standard_Real Tolang, const Standard_Real Tol)
 Intersects a plane and a cylinder.
TolAng is the angular tolerance used to determine
if the axis of the cylinder is parallel to the plane.
Tol is the tolerance used to determine if the result
is a circle or an ellipse. If the maximum distance between
the ellipse solution and the circle centered at the ellipse
center is less than Tol, the result will be the circle.
.
Standard_EXPORT IntAna_QuadQuadGeo (const gp_Pln &P, const gp_Sphere &S)
 Creates the intersection between a plane and a sphere.
.
Standard_EXPORT void Perform (const gp_Pln &P, const gp_Sphere &S)
 Intersects a plane and a sphere.
.
Standard_EXPORT IntAna_QuadQuadGeo (const gp_Pln &P, const gp_Cone &C, const Standard_Real Tolang, const Standard_Real Tol)
 Creates the intersection between a plane and a cone.
TolAng is the angular tolerance used to determine
if the axis of the cone is parallel or perpendicular
to the plane, and if the generating line of the cone
is parallel to the plane.
Tol is the tolerance used to determine if the apex
of the cone is in the plane.
.
Standard_EXPORT void Perform (const gp_Pln &P, const gp_Cone &C, const Standard_Real Tolang, const Standard_Real Tol)
 Intersects a plane and a cone.
TolAng is the angular tolerance used to determine
if the axis of the cone is parallel or perpendicular
to the plane, and if the generating line of the cone
is parallel to the plane.
Tol is the tolerance used to determine if the apex
of the cone is in the plane.
.
Standard_EXPORT IntAna_QuadQuadGeo (const gp_Cylinder &Cyl1, const gp_Cylinder &Cyl2, const Standard_Real Tol)
 Creates the intersection between two cylinders.
.
Standard_EXPORT void Perform (const gp_Cylinder &Cyl1, const gp_Cylinder &Cyl2, const Standard_Real Tol)
 Intersects two cylinders
.
Standard_EXPORT IntAna_QuadQuadGeo (const gp_Cylinder &Cyl, const gp_Sphere &Sph, const Standard_Real Tol)
 Creates the intersection between a Cylinder and a Sphere.
.
Standard_EXPORT void Perform (const gp_Cylinder &Cyl, const gp_Sphere &Sph, const Standard_Real Tol)
 Intersects a cylinder and a sphere.
.
Standard_EXPORT IntAna_QuadQuadGeo (const gp_Cylinder &Cyl, const gp_Cone &Con, const Standard_Real Tol)
 Creates the intersection between a Cylinder and a Cone
.
Standard_EXPORT void Perform (const gp_Cylinder &Cyl, const gp_Cone &Con, const Standard_Real Tol)
 Intersects a cylinder and a cone.
.
Standard_EXPORT IntAna_QuadQuadGeo (const gp_Sphere &Sph1, const gp_Sphere &Sph2, const Standard_Real Tol)
 Creates the intersection between two Spheres.
.
Standard_EXPORT void Perform (const gp_Sphere &Sph1, const gp_Sphere &Sph2, const Standard_Real Tol)
 Intersects a two spheres.
.
Standard_EXPORT IntAna_QuadQuadGeo (const gp_Sphere &Sph, const gp_Cone &Con, const Standard_Real Tol)
 Creates the intersection beween a Sphere and a Cone.
.
Standard_EXPORT void Perform (const gp_Sphere &Sph, const gp_Cone &Con, const Standard_Real Tol)
 Intersects a sphere and a cone.
.
Standard_EXPORT IntAna_QuadQuadGeo (const gp_Cone &Con1, const gp_Cone &Con2, const Standard_Real Tol)
 Creates the intersection beween two cones.
.
Standard_EXPORT void Perform (const gp_Cone &Con1, const gp_Cone &Con2, const Standard_Real Tol)
 Intersects two cones.
.
Standard_Boolean IsDone () const
 Returns Standard_True if the computation was successful.

.
IntAna_ResultType TypeInter () const
 Returns the type of intersection.

.
Standard_Integer NbSolutions () const
 Returns the number of interesections.
The possible intersections are :
- 1 point
- 1 or 2 line(s)
- 1 Point and 1 Line
- 1 circle
- 1 ellipse
- 1 parabola
- 1 or 2 hyperbola(s).

.
Standard_EXPORT gp_Pnt Point (const Standard_Integer Num) const
 Returns the point solution of range Num.
.
Standard_EXPORT gp_Lin Line (const Standard_Integer Num) const
 Returns the line solution of range Num.
.
Standard_EXPORT gp_Circ Circle (const Standard_Integer Num) const
 Returns the circle solution of range Num.
.
Standard_EXPORT gp_Elips Ellipse (const Standard_Integer Num) const
 Returns the ellipse solution of range Num.
.
Standard_EXPORT gp_Parab Parabola (const Standard_Integer Num) const
 Returns the parabola solution of range Num.
.
Standard_EXPORT gp_Hypr Hyperbola (const Standard_Integer Num) const
 Returns the hyperbola solution of range Num.
.
Standard_EXPORT Standard_Boolean HasCommonGen () const
Standard_EXPORT const gp_Pnt & PChar () const

Protected Member Functions

Standard_EXPORT void InitTolerances ()
 Initialize the values of inner tolerances.
.

Protected Attributes

Standard_Boolean done
Standard_Integer nbint
IntAna_ResultType typeres
gp_Pnt pt1
gp_Pnt pt2
gp_Dir dir1
gp_Dir dir2
Standard_Real param1
Standard_Real param2
Standard_Real param1bis
Standard_Real param2bis
Standard_Real myEPSILON_DISTANCE
Standard_Real myEPSILON_ANGLE_CONE
Standard_Real myEPSILON_MINI_CIRCLE_RADIUS
Standard_Real myEPSILON_CYLINDER_DELTA_RADIUS
Standard_Real myEPSILON_CYLINDER_DELTA_DISTANCE
Standard_Real myEPSILON_AXES_PARA
Standard_Boolean myCommonGen
gp_Pnt myPChar


Constructor & Destructor Documentation

Standard_EXPORT IntAna_QuadQuadGeo::IntAna_QuadQuadGeo  ) 
 

Standard_EXPORT IntAna_QuadQuadGeo::IntAna_QuadQuadGeo const gp_Pln &  P1,
const gp_Pln &  P2,
const Standard_Real  TolAng,
const Standard_Real  Tol
 

Standard_EXPORT IntAna_QuadQuadGeo::IntAna_QuadQuadGeo const gp_Pln &  P,
const gp_Cylinder &  C,
const Standard_Real  Tolang,
const Standard_Real  Tol
 

Standard_EXPORT IntAna_QuadQuadGeo::IntAna_QuadQuadGeo const gp_Pln &  P,
const gp_Sphere &  S
 

Standard_EXPORT IntAna_QuadQuadGeo::IntAna_QuadQuadGeo const gp_Pln &  P,
const gp_Cone &  C,
const Standard_Real  Tolang,
const Standard_Real  Tol
 

Standard_EXPORT IntAna_QuadQuadGeo::IntAna_QuadQuadGeo const gp_Cylinder &  Cyl1,
const gp_Cylinder &  Cyl2,
const Standard_Real  Tol
 

Standard_EXPORT IntAna_QuadQuadGeo::IntAna_QuadQuadGeo const gp_Cylinder &  Cyl,
const gp_Sphere &  Sph,
const Standard_Real  Tol
 

Standard_EXPORT IntAna_QuadQuadGeo::IntAna_QuadQuadGeo const gp_Cylinder &  Cyl,
const gp_Cone &  Con,
const Standard_Real  Tol
 

Standard_EXPORT IntAna_QuadQuadGeo::IntAna_QuadQuadGeo const gp_Sphere &  Sph1,
const gp_Sphere &  Sph2,
const Standard_Real  Tol
 

Standard_EXPORT IntAna_QuadQuadGeo::IntAna_QuadQuadGeo const gp_Sphere &  Sph,
const gp_Cone &  Con,
const Standard_Real  Tol
 

Standard_EXPORT IntAna_QuadQuadGeo::IntAna_QuadQuadGeo const gp_Cone &  Con1,
const gp_Cone &  Con2,
const Standard_Real  Tol
 


Member Function Documentation

Standard_EXPORT gp_Circ IntAna_QuadQuadGeo::Circle const Standard_Integer  Num  )  const
 

Standard_EXPORT gp_Elips IntAna_QuadQuadGeo::Ellipse const Standard_Integer  Num  )  const
 

Standard_EXPORT Standard_Boolean IntAna_QuadQuadGeo::HasCommonGen  )  const
 

Standard_EXPORT gp_Hypr IntAna_QuadQuadGeo::Hyperbola const Standard_Integer  Num  )  const
 

Standard_EXPORT void IntAna_QuadQuadGeo::InitTolerances  )  [protected]
 

Standard_Boolean IntAna_QuadQuadGeo::IsDone  )  const [inline]
 

Standard_EXPORT gp_Lin IntAna_QuadQuadGeo::Line const Standard_Integer  Num  )  const
 

Standard_Integer IntAna_QuadQuadGeo::NbSolutions  )  const [inline]
 

void IntAna_QuadQuadGeo::operator delete void *  anAddress  )  [inline]
 

void* IntAna_QuadQuadGeo::operator new size_t  size  )  [inline]
 

void* IntAna_QuadQuadGeo::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_EXPORT gp_Parab IntAna_QuadQuadGeo::Parabola const Standard_Integer  Num  )  const
 

Standard_EXPORT const gp_Pnt& IntAna_QuadQuadGeo::PChar  )  const
 

Standard_EXPORT void IntAna_QuadQuadGeo::Perform const gp_Cone &  Con1,
const gp_Cone &  Con2,
const Standard_Real  Tol
 

Standard_EXPORT void IntAna_QuadQuadGeo::Perform const gp_Sphere &  Sph,
const gp_Cone &  Con,
const Standard_Real  Tol
 

Standard_EXPORT void IntAna_QuadQuadGeo::Perform const gp_Sphere &  Sph1,
const gp_Sphere &  Sph2,
const Standard_Real  Tol
 

Standard_EXPORT void IntAna_QuadQuadGeo::Perform const gp_Cylinder &  Cyl,
const gp_Cone &  Con,
const Standard_Real  Tol
 

Standard_EXPORT void IntAna_QuadQuadGeo::Perform const gp_Cylinder &  Cyl,
const gp_Sphere &  Sph,
const Standard_Real  Tol
 

Standard_EXPORT void IntAna_QuadQuadGeo::Perform const gp_Cylinder &  Cyl1,
const gp_Cylinder &  Cyl2,
const Standard_Real  Tol
 

Standard_EXPORT void IntAna_QuadQuadGeo::Perform const gp_Pln &  P,
const gp_Cone &  C,
const Standard_Real  Tolang,
const Standard_Real  Tol
 

Standard_EXPORT void IntAna_QuadQuadGeo::Perform const gp_Pln &  P,
const gp_Sphere &  S
 

Standard_EXPORT void IntAna_QuadQuadGeo::Perform const gp_Pln &  P,
const gp_Cylinder &  C,
const Standard_Real  Tolang,
const Standard_Real  Tol
 

Standard_EXPORT void IntAna_QuadQuadGeo::Perform const gp_Pln &  P1,
const gp_Pln &  P2,
const Standard_Real  TolAng,
const Standard_Real  Tol
 

Standard_EXPORT gp_Pnt IntAna_QuadQuadGeo::Point const Standard_Integer  Num  )  const
 

IntAna_ResultType IntAna_QuadQuadGeo::TypeInter  )  const [inline]
 


Field Documentation

gp_Dir IntAna_QuadQuadGeo::dir1 [protected]
 

gp_Dir IntAna_QuadQuadGeo::dir2 [protected]
 

Standard_Boolean IntAna_QuadQuadGeo::done [protected]
 

Standard_Boolean IntAna_QuadQuadGeo::myCommonGen [protected]
 

Standard_Real IntAna_QuadQuadGeo::myEPSILON_ANGLE_CONE [protected]
 

Standard_Real IntAna_QuadQuadGeo::myEPSILON_AXES_PARA [protected]
 

Standard_Real IntAna_QuadQuadGeo::myEPSILON_CYLINDER_DELTA_DISTANCE [protected]
 

Standard_Real IntAna_QuadQuadGeo::myEPSILON_CYLINDER_DELTA_RADIUS [protected]
 

Standard_Real IntAna_QuadQuadGeo::myEPSILON_DISTANCE [protected]
 

Standard_Real IntAna_QuadQuadGeo::myEPSILON_MINI_CIRCLE_RADIUS [protected]
 

gp_Pnt IntAna_QuadQuadGeo::myPChar [protected]
 

Standard_Integer IntAna_QuadQuadGeo::nbint [protected]
 

Standard_Real IntAna_QuadQuadGeo::param1 [protected]
 

Standard_Real IntAna_QuadQuadGeo::param1bis [protected]
 

Standard_Real IntAna_QuadQuadGeo::param2 [protected]
 

Standard_Real IntAna_QuadQuadGeo::param2bis [protected]
 

gp_Pnt IntAna_QuadQuadGeo::pt1 [protected]
 

gp_Pnt IntAna_QuadQuadGeo::pt2 [protected]
 

IntAna_ResultType IntAna_QuadQuadGeo::typeres [protected]
 


The documentation for this class was generated from the following files:
Generated on Mon Aug 25 13:23:02 2008 for OpenCASCADE by  doxygen 1.4.1