Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
gce_MakeCone Class Reference

This class implements the following algorithms used
to create a Cone from gp.
More...

#include <gce_MakeCone.hxx>

Inheritance diagram for gce_MakeCone:
Inheritance graph
[legend]

Public Member Functions

 gce_MakeCone (const gp_Ax2 &A2, const Standard_Real Ang, const Standard_Real Radius)
 Creates an infinite conical surface. A2 locates the cone
in the space and defines the reference plane of the surface.
Ang is the conical surface semi-angle between 0 and PI/2 radians.
Radius is the radius of the circle in the reference plane of
the cone.
If Radius is lower than 0.0 the status is "
If Ang < Resolution from gp or Ang >= (PI/2) - Resolution.
More...
 
 gce_MakeCone (const gp_Cone &Cone, const gp_Pnt &Point)
 Makes a Cone from gp <TheCone> coaxial to another
Cone <Cone> and passing through a Pnt <Point>.
More...
 
 gce_MakeCone (const gp_Cone &Cone, const Standard_Real Dist)
 Makes a Cone from gp <TheCone> coaxial to another
Cone <Cone> at the distance <Dist> which can
be greater or lower than zero.
More...
 
 gce_MakeCone (const gp_Pnt &P1, const gp_Pnt &P2, const gp_Pnt &P3, const gp_Pnt &P4)
 Makes a Cone from gp <TheCone> by four points <P1>,
<P2>,<P3> and <P4>.
Its axis is <P1P2> and the radius of its base is
the distance between <P3> and <P1P2>.
The distance between <P4> and <P1P2> is the radius of
the section passing through <P4>.
If <P1> and <P2> are confused or <P3> and <P4> are
confused we have the status "ConfusedPoints"
if <P1>,<P2>,<P3>,<P4> are colinear we have the
status "ColinearPoints"
If <P3P4> is perpendicular to <P1P2> we have the
status "NullAngle".
<P3P4> is colinear to <P1P2> we have the status
"NullAngle".
More...
 
 gce_MakeCone (const gp_Ax1 &Axis, const gp_Pnt &P1, const gp_Pnt &P2)
 Makes a Cone by its axis <Axis> and and two points.
The distance between <P1> and the axis is the radius
of the section passing through <P1>.
The distance between <P2> and the axis is the radius
of the section passing through <P2>.
If <P1P2> is colinear to <Axis> we have the status
"NullAngle"
If <P3P4> is perpendicular to <Axis> we have the status
"NullAngle"
If <P1> and <P2> are confused we have the status
"ConfusedPoints"
More...
 
 gce_MakeCone (const gp_Lin &Axis, const gp_Pnt &P1, const gp_Pnt &P2)
 Makes a Cone by its axis <Axis> and and two points.
The distance between <P1> and the axis is the radius
of the section passing through <P1>
The distance between <P2> and the axis is the radius
of the section passing through <P2>
If <P1P2> is colinear to <Axis> we have the status
"NullAngle"
If <P3P4> is perpendicular to <Axis> we have the status
"NullAngle"
If <P1> and <P2> are confused we have the status
"ConfusedPoints"
More...
 
 gce_MakeCone (const gp_Pnt &P1, const gp_Pnt &P2, const Standard_Real R1, const Standard_Real R2)
 
 Makes a Cone with two points and two radius. <br>
     The axis of the solution is the line passing through <br>
     <P1> and <P2>. <br>
     <R1> is the radius of the section passing through <P1> <br>
     and <R2> the radius of the section passing through <P2>. <br>
     If <P1> and <P2> are confused we have the status "NullAxis". <br>

Warning
If an error occurs (that is, when IsDone returns
false), the Status function returns:
More...

 
const gp_ConeValue () const
 
 Returns the constructed cone. <br>

Exceptions StdFail_NotDone if no cone is constructed.
More...

 
const gp_ConeOperator () const
 
 operator gp_Cone () const
 
- Public Member Functions inherited from gce_Root
Standard_Boolean IsDone () const
 Returns true if the construction is successful.
More...
 
gce_ErrorType Status () const
 Returns the status of the construction:
More...
 

Additional Inherited Members

- Protected Attributes inherited from gce_Root
gce_ErrorType TheError
 

Detailed Description

This class implements the following algorithms used
to create a Cone from gp.

Constructor & Destructor Documentation

gce_MakeCone::gce_MakeCone ( const gp_Ax2 A2,
const Standard_Real  Ang,
const Standard_Real  Radius 
)

Creates an infinite conical surface. A2 locates the cone
in the space and defines the reference plane of the surface.
Ang is the conical surface semi-angle between 0 and PI/2 radians.
Radius is the radius of the circle in the reference plane of
the cone.
If Radius is lower than 0.0 the status is "
If Ang < Resolution from gp or Ang >= (PI/2) - Resolution.

gce_MakeCone::gce_MakeCone ( const gp_Cone Cone,
const gp_Pnt Point 
)

Makes a Cone from gp <TheCone> coaxial to another
Cone <Cone> and passing through a Pnt <Point>.

gce_MakeCone::gce_MakeCone ( const gp_Cone Cone,
const Standard_Real  Dist 
)

Makes a Cone from gp <TheCone> coaxial to another
Cone <Cone> at the distance <Dist> which can
be greater or lower than zero.

gce_MakeCone::gce_MakeCone ( const gp_Pnt P1,
const gp_Pnt P2,
const gp_Pnt P3,
const gp_Pnt P4 
)

Makes a Cone from gp <TheCone> by four points <P1>,
<P2>,<P3> and <P4>.
Its axis is <P1P2> and the radius of its base is
the distance between <P3> and <P1P2>.
The distance between <P4> and <P1P2> is the radius of
the section passing through <P4>.
If <P1> and <P2> are confused or <P3> and <P4> are
confused we have the status "ConfusedPoints"
if <P1>,<P2>,<P3>,<P4> are colinear we have the
status "ColinearPoints"
If <P3P4> is perpendicular to <P1P2> we have the
status "NullAngle".
<P3P4> is colinear to <P1P2> we have the status
"NullAngle".

gce_MakeCone::gce_MakeCone ( const gp_Ax1 Axis,
const gp_Pnt P1,
const gp_Pnt P2 
)

Makes a Cone by its axis <Axis> and and two points.
The distance between <P1> and the axis is the radius
of the section passing through <P1>.
The distance between <P2> and the axis is the radius
of the section passing through <P2>.
If <P1P2> is colinear to <Axis> we have the status
"NullAngle"
If <P3P4> is perpendicular to <Axis> we have the status
"NullAngle"
If <P1> and <P2> are confused we have the status
"ConfusedPoints"

gce_MakeCone::gce_MakeCone ( const gp_Lin Axis,
const gp_Pnt P1,
const gp_Pnt P2 
)

Makes a Cone by its axis <Axis> and and two points.
The distance between <P1> and the axis is the radius
of the section passing through <P1>
The distance between <P2> and the axis is the radius
of the section passing through <P2>
If <P1P2> is colinear to <Axis> we have the status
"NullAngle"
If <P3P4> is perpendicular to <Axis> we have the status
"NullAngle"
If <P1> and <P2> are confused we have the status
"ConfusedPoints"

gce_MakeCone::gce_MakeCone ( const gp_Pnt P1,
const gp_Pnt P2,
const Standard_Real  R1,
const Standard_Real  R2 
)

 Makes a Cone with two points and two radius. <br>
     The axis of the solution is the line passing through <br>
     <P1> and <P2>. <br>
     <R1> is the radius of the section passing through <P1> <br>
     and <R2> the radius of the section passing through <P2>. <br>
     If <P1> and <P2> are confused we have the status "NullAxis". <br>

Warning
If an error occurs (that is, when IsDone returns
false), the Status function returns:

  • gce_NegativeRadius if Radius, R1 or R2 is less than 0.0;
  • gce_BadAngle if Ang is less than
    gp::Resolution() or greater than Pi/2.- gp::Resolution();
  • gce_ConfusedPoints if P1 and P2 or P3 and P4 are coincident;
  • gce_NullAxis if the points P1 and P2, are coincident (5th syntax only);
  • gce_NullAngle if:
    • the vector joining P1 to P2 is parallel to either
      Axis or the line joining P3 to P4, or
    • R1 and R2 are equal, (that is, their difference is
      less than gp::Resolution()); or
  • gce_NullRadius if:
  • the vector joining P1 to P2 is perpendicular to the line joining P3 to P4,
    • the vector joining P1 to P2 is perpendicular to Axis, or
    • P1, P2, P3, and P4 are collinear.

Member Function Documentation

const gp_Cone& gce_MakeCone::Operator ( ) const
gce_MakeCone::operator gp_Cone ( ) const
const gp_Cone& gce_MakeCone::Value ( ) const

 Returns the constructed cone. <br>

Exceptions StdFail_NotDone if no cone is constructed.


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