# FoundationClasses
TKMath
gp

# gp_Cone Class Reference

Defines an infinite conical surface.
A cone is defined by its half-angle at the apex and
positioned in space with a coordinate system (a gp_Ax3
object) and a "reference radius" where:
- the "main Axis" of the coordinate system is the axis of revolution of the cone,
- the plane defined by the origin, the "X Direction" and
the "Y Direction" of the coordinate system is the
reference plane of the cone; the intersection of the
cone with this reference plane is a circle of radius
equal to the reference radius,
if the half-angle is positive, the apex of the cone is on
the negative side of the "main Axis" of the coordinate
system. If the half-angle is negative, the apex is on the positive side.
This coordinate system is the "local coordinate system" of the cone.
Note: when a gp_Cone cone is converted into a
Geom_ConicalSurface cone, some implicit properties of
its local coordinate system are used explicitly:
- its origin, "X Direction", "Y Direction" and "main <br> Direction" are used directly to define the parametric
directions on the cone and the origin of the parameters,
- its implicit orientation (right-handed or left-handed)
gives the orientation (direct or indirect) of the
Geom_ConicalSurface cone.
See Also
gce_MakeCone which provides functions for more
complex cone constructions
Geom_ConicalSurface which provides additional
functions for constructing cones and works, in particular,
with the parametric equations of cones gp_Ax3
.

`#include <gp_Cone.hxx>`

## Public Member Functions

void * | operator new (size_t, void *anAddress)
void * | operator new (size_t size)
void | operator delete (void *anAddress)
| gp_Cone ()
| Creates an indefinite Cone. .
| gp_Cone (const gp_Ax3 &A3, const Standard_Real Ang, const Standard_Real Radius)
| Creates an infinite conical surface. A3 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. Raises ConstructionError . if Radius is lower than 0.0 . Ang < Resolution from gp or Ang >= (PI/2) - Resolution. .
void | SetAxis (const gp_Ax1 &A1)
| Changes the symmetry axis of the cone. Raises ConstructionError the direction of A1 is parallel to the "XDirection" of the coordinate system of the cone. .
void | SetLocation (const gp_Pnt &Loc)
| Changes the location of the cone. .
void | SetPosition (const gp_Ax3 &A3)
| Changes the local coordinate system of the cone. This coordinate system defines the reference plane of the cone. .
void | SetRadius (const Standard_Real R)
| Changes the radius of the cone in the reference plane of the cone. //! Raised if R < 0.0 .
void | SetSemiAngle (const Standard_Real Ang)
| Changes the semi-angle of the cone. Ang is the conical surface semi-angle ]0,PI/2[. Raises ConstructionError if Ang < Resolution from gp or Ang >= PI/2 - Resolution .
gp_Pnt | Apex () const
| Computes the cone's top. The Apex of the cone is on the negative side of the symmetry axis of the cone. .
void | UReverse ()
| Reverses the U parametrization of the cone reversing the YAxis. .
void | VReverse ()
| Reverses the V parametrization of the cone reversing the ZAxis. .
Standard_Boolean | Direct () const
| Returns true if the local coordinate system of this cone is right-handed. .
const gp_Ax1 & | Axis () const
| returns the symmetry axis of the cone.
Standard_EXPORT void | Coefficients (Standard_Real &A1, Standard_Real &A2, Standard_Real &A3, Standard_Real &B1, Standard_Real &B2, Standard_Real &B3, Standard_Real &C1, Standard_Real &C2, Standard_Real &C3, Standard_Real &D) const
| Computes the coefficients of the implicit equation of the quadric in the absolute cartesian coordinates system : A1.X**2 + A2.Y**2 + A3.Z**2 + 2.(B1.X.Y + B2.X.Z + B3.Y.Z) + 2.(C1.X + C2.Y + C3.Z) + D = 0.0 .
const gp_Pnt & | Location () const
| returns the "Location" point of the cone.
const gp_Ax3 & | Position () const
| Returns the local coordinates system of the cone. .
Standard_Real | RefRadius () const
| Returns the radius of the cone in the reference plane. .
Standard_Real | SemiAngle () const
| Returns the half-angle at the apex of this cone. .
gp_Ax1 | XAxis () const
| Returns the XAxis of the reference plane. .
gp_Ax1 | YAxis () const
| Returns the YAxis of the reference plane. .
Standard_EXPORT void | Mirror (const gp_Pnt &P)
Standard_EXPORT gp_Cone | Mirrored (const gp_Pnt &P) const
| Performs the symmetrical transformation of a cone with respect to the point P which is the center of the symmetry. .
Standard_EXPORT void | Mirror (const gp_Ax1 &A1)
Standard_EXPORT gp_Cone | Mirrored (const gp_Ax1 &A1) const
| Performs the symmetrical transformation of a cone with respect to an axis placement which is the axis of the symmetry. .
Standard_EXPORT void | Mirror (const gp_Ax2 &A2)
Standard_EXPORT gp_Cone | Mirrored (const gp_Ax2 &A2) const
| Performs the symmetrical transformation of a cone with respect to a plane. The axis placement A2 locates the plane of the of the symmetry : (Location, XDirection, YDirection). .
void | Rotate (const gp_Ax1 &A1, const Standard_Real Ang)
gp_Cone | Rotated (const gp_Ax1 &A1, const Standard_Real Ang) const
| Rotates a cone. A1 is the axis of the rotation. Ang is the angular value of the rotation in radians. .
void | Scale (const gp_Pnt &P, const Standard_Real S)
gp_Cone | Scaled (const gp_Pnt &P, const Standard_Real S) const
| Scales a cone. S is the scaling value. The absolute value of S is used to scale the cone .
void | Transform (const gp_Trsf &T)
gp_Cone | Transformed (const gp_Trsf &T) const
| Transforms a cone with the transformation T from class Trsf. .
void | Translate (const gp_Vec &V)
gp_Cone | Translated (const gp_Vec &V) const
| Translates a cone in the direction of the vector V. The magnitude of the translation is the vector's magnitude. .
void | Translate (const gp_Pnt &P1, const gp_Pnt &P2)
gp_Cone | Translated (const gp_Pnt &P1, const gp_Pnt &P2) const
| Translates a cone from the point P1 to the point P2. .
const gp_Ax3 & | _CSFDB_Getgp_Conepos () const
Standard_Real | _CSFDB_Getgp_Coneradius () const
void | _CSFDB_Setgp_Coneradius (const Standard_Real p)
Standard_Real | _CSFDB_Getgp_ConesemiAngle () const
void | _CSFDB_Setgp_ConesemiAngle (const Standard_Real p)

## Private Attributes

gp_Ax3 | pos
Standard_Real | radius
Standard_Real | semiAngle

## Friends

Standard_EXPORT friend Handle_Standard_Type & | gp_Cone_Type_ ()

## Constructor & Destructor Documentation

gp_Cone::gp_Cone | ( |  | ) | `[inline]`

gp_Cone::gp_Cone | ( | const gp_Ax3 & | A3,
|  | const Standard_Real | Ang,
|  | const Standard_Real | Radius
| ) | `[inline]`

## Member Function Documentation

const gp_Ax3& gp_Cone::_CSFDB_Getgp_Conepos | ( |  | ) | const`[inline]`

Standard_Real gp_Cone::_CSFDB_Getgp_Coneradius | ( |  | ) | const`[inline]`

Standard_Real gp_Cone::_CSFDB_Getgp_ConesemiAngle | ( |  | ) | const`[inline]`

void gp_Cone::_CSFDB_Setgp_Coneradius | ( | const Standard_Real | p | ) | `[inline]`

void gp_Cone::_CSFDB_Setgp_ConesemiAngle | ( | const Standard_Real | p | ) | `[inline]`

gp_Pnt gp_Cone::Apex | ( |  | ) | const`[inline]`

const gp_Ax1 & gp_Cone::Axis | ( |  | ) | const`[inline]`

Standard_EXPORT void gp_Cone::Coefficients | ( | Standard_Real & | A1,
|  | Standard_Real & | A2,
|  | Standard_Real & | A3,
|  | Standard_Real & | B1,
|  | Standard_Real & | B2,
|  | Standard_Real & | B3,
|  | Standard_Real & | C1,
|  | Standard_Real & | C2,
|  | Standard_Real & | C3,
|  | Standard_Real & | D
| ) | const

Standard_Boolean gp_Cone::Direct | ( |  | ) | const`[inline]`

const gp_Pnt & gp_Cone::Location | ( |  | ) | const`[inline]`

Standard_EXPORT void gp_Cone::Mirror | ( | const gp_Ax2 & | A2 | ) |

Standard_EXPORT void gp_Cone::Mirror | ( | const gp_Ax1 & | A1 | ) |

Standard_EXPORT void gp_Cone::Mirror | ( | const gp_Pnt & | P | ) |

Standard_EXPORT gp_Cone gp_Cone::Mirrored | ( | const gp_Ax2 & | A2 | ) | const

Standard_EXPORT gp_Cone gp_Cone::Mirrored | ( | const gp_Ax1 & | A1 | ) | const

Standard_EXPORT gp_Cone gp_Cone::Mirrored | ( | const gp_Pnt & | P | ) | const

void gp_Cone::operator delete | ( | void * | anAddress | ) | `[inline]`

void* gp_Cone::operator new | ( | size_t | size | ) | `[inline]`

void* gp_Cone::operator new | ( | size_t | ,
|  | void * | anAddress
| ) | `[inline]`

const gp_Ax3 & gp_Cone::Position | ( |  | ) | const`[inline]`

Standard_Real gp_Cone::RefRadius | ( |  | ) | const`[inline]`

void gp_Cone::Rotate | ( | const gp_Ax1 & | A1,
|  | const Standard_Real | Ang
| ) | `[inline]`

gp_Cone gp_Cone::Rotated | ( | const gp_Ax1 & | A1,
|  | const Standard_Real | Ang
| ) | const`[inline]`

void gp_Cone::Scale | ( | const gp_Pnt & | P,
|  | const Standard_Real | S
| ) | `[inline]`

gp_Cone gp_Cone::Scaled | ( | const gp_Pnt & | P,
|  | const Standard_Real | S
| ) | const`[inline]`

Standard_Real gp_Cone::SemiAngle | ( |  | ) | const`[inline]`

void gp_Cone::SetAxis | ( | const gp_Ax1 & | A1 | ) | `[inline]`

void gp_Cone::SetLocation | ( | const gp_Pnt & | Loc | ) | `[inline]`

void gp_Cone::SetPosition | ( | const gp_Ax3 & | A3 | ) | `[inline]`

void gp_Cone::SetRadius | ( | const Standard_Real | R | ) | `[inline]`

void gp_Cone::SetSemiAngle | ( | const Standard_Real | Ang | ) | `[inline]`

void gp_Cone::Transform | ( | const gp_Trsf & | T | ) | `[inline]`

gp_Cone gp_Cone::Transformed | ( | const gp_Trsf & | T | ) | const`[inline]`

void gp_Cone::Translate | ( | const gp_Pnt & | P1,
|  | const gp_Pnt & | P2
| ) | `[inline]`

void gp_Cone::Translate | ( | const gp_Vec & | V | ) | `[inline]`

gp_Cone gp_Cone::Translated | ( | const gp_Pnt & | P1,
|  | const gp_Pnt & | P2
| ) | const`[inline]`

gp_Cone gp_Cone::Translated | ( | const gp_Vec & | V | ) | const`[inline]`

void gp_Cone::UReverse | ( |  | ) | `[inline]`

void gp_Cone::VReverse | ( |  | ) | `[inline]`

gp_Ax1 gp_Cone::XAxis | ( |  | ) | const`[inline]`

gp_Ax1 gp_Cone::YAxis | ( |  | ) | const`[inline]`

## Friends And Related Function Documentation

Standard_EXPORT friend Handle_Standard_Type& gp_Cone_Type_ | ( |  | ) | `[friend]`

## Field Documentation

gp_Ax3 gp_Cone::pos `[private]`

Standard_Real gp_Cone::radius `[private]`

Standard_Real gp_Cone::semiAngle `[private]`

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

- gp_Cone.hxx
- gp_Cone.lxx