Open CASCADE Technology 7.8.2.dev
gp_Cone Class Reference

Defines an infinite conical surface. A cone is defined by its half-angle (can be negative) at the apex and positioned in space with a coordinate system (a gp_Ax3 object) and a "reference radius" where: More...

#include <gp_Cone.hxx>

Public Member Functions

 gp_Cone ()
 Creates an indefinite Cone.
 
 gp_Cone (const gp_Ax3 &theA3, const Standard_Real theAng, const Standard_Real theRadius)
 Creates an infinite conical surface. theA3 locates the cone in the space and defines the reference plane of the surface. Ang is the conical surface semi-angle. Its absolute value is in range ]0, PI/2[. theRadius is the radius of the circle in the reference plane of the cone. theRaises ConstructionError.
 
void SetAxis (const gp_Ax1 &theA1)
 Changes the symmetry axis of the cone. Raises ConstructionError the direction of theA1 is parallel to the "XDirection" of the coordinate system of the cone.
 
void SetLocation (const gp_Pnt &theLoc)
 Changes the location of the cone.
 
void SetPosition (const gp_Ax3 &theA3)
 Changes the local coordinate system of the cone. This coordinate system defines the reference plane of the cone.
 
void SetRadius (const Standard_Real theR)
 Changes the radius of the cone in the reference plane of the cone. Raised if theR < 0.0.
 
void SetSemiAngle (const Standard_Real theAng)
 Changes the semi-angle of the cone. Semi-angle can be negative. Its absolute value Abs(theAng) is in range ]0,PI/2[. Raises ConstructionError if Abs(theAng) < Resolution from gp or Abs(theAng) >= 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_Ax1Axis () const
 returns the symmetry axis of the cone.
 
void Coefficients (Standard_Real &theA1, Standard_Real &theA2, Standard_Real &theA3, Standard_Real &theB1, Standard_Real &theB2, Standard_Real &theB3, Standard_Real &theC1, Standard_Real &theC2, Standard_Real &theC3, Standard_Real &theD) const
 Computes the coefficients of the implicit equation of the quadric in the absolute cartesian coordinates system : theA1.X**2 + theA2.Y**2 + theA3.Z**2 + 2.(theB1.X.Y + theB2.X.Z + theB3.Y.Z) + 2.(theC1.X + theC2.Y + theC3.Z) + theD = 0.0.
 
const gp_PntLocation () const
 returns the "Location" point of the cone.
 
const gp_Ax3Position () 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. Attention! Semi-angle can be negative.
 
gp_Ax1 XAxis () const
 Returns the XAxis of the reference plane.
 
gp_Ax1 YAxis () const
 Returns the YAxis of the reference plane.
 
void Mirror (const gp_Pnt &theP)
 
gp_Cone Mirrored (const gp_Pnt &theP) const
 Performs the symmetrical transformation of a cone with respect to the point theP which is the center of the symmetry.
 
void Mirror (const gp_Ax1 &theA1)
 
gp_Cone Mirrored (const gp_Ax1 &theA1) const
 Performs the symmetrical transformation of a cone with respect to an axis placement which is the axis of the symmetry.
 
void Mirror (const gp_Ax2 &theA2)
 
gp_Cone Mirrored (const gp_Ax2 &theA2) const
 Performs the symmetrical transformation of a cone with respect to a plane. The axis placement theA2 locates the plane of the of the symmetry : (Location, XDirection, YDirection).
 
void Rotate (const gp_Ax1 &theA1, const Standard_Real theAng)
 
gp_Cone Rotated (const gp_Ax1 &theA1, const Standard_Real theAng) const
 Rotates a cone. theA1 is the axis of the rotation. Ang is the angular value of the rotation in radians.
 
void Scale (const gp_Pnt &theP, const Standard_Real theS)
 
gp_Cone Scaled (const gp_Pnt &theP, const Standard_Real theS) const
 Scales a cone. theS is the scaling value. The absolute value of theS is used to scale the cone.
 
void Transform (const gp_Trsf &theT)
 
gp_Cone Transformed (const gp_Trsf &theT) const
 Transforms a cone with the transformation theT from class Trsf.
 
void Translate (const gp_Vec &theV)
 
gp_Cone Translated (const gp_Vec &theV) const
 Translates a cone in the direction of the vector theV. The magnitude of the translation is the vector's magnitude.
 
void Translate (const gp_Pnt &theP1, const gp_Pnt &theP2)
 
gp_Cone Translated (const gp_Pnt &theP1, const gp_Pnt &theP2) const
 Translates a cone from the point P1 to the point P2.
 

Detailed Description

Defines an infinite conical surface. A cone is defined by its half-angle (can be negative) 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 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

Constructor & Destructor Documentation

◆ gp_Cone() [1/2]

gp_Cone::gp_Cone ( )
inline

Creates an indefinite Cone.

◆ gp_Cone() [2/2]

gp_Cone::gp_Cone ( const gp_Ax3 & theA3,
const Standard_Real theAng,
const Standard_Real theRadius )
inline

Creates an infinite conical surface. theA3 locates the cone in the space and defines the reference plane of the surface. Ang is the conical surface semi-angle. Its absolute value is in range ]0, PI/2[. theRadius is the radius of the circle in the reference plane of the cone. theRaises ConstructionError.

  • if theRadius is lower than 0.0
  • Abs(theAng) < Resolution from gp or Abs(theAng) >= (PI/2) - Resolution.

Member Function Documentation

◆ Apex()

gp_Pnt gp_Cone::Apex ( ) const
inline

Computes the cone's top. The Apex of the cone is on the negative side of the symmetry axis of the cone.

◆ Axis()

const gp_Ax1 & gp_Cone::Axis ( ) const
inline

returns the symmetry axis of the cone.

◆ Coefficients()

void gp_Cone::Coefficients ( Standard_Real & theA1,
Standard_Real & theA2,
Standard_Real & theA3,
Standard_Real & theB1,
Standard_Real & theB2,
Standard_Real & theB3,
Standard_Real & theC1,
Standard_Real & theC2,
Standard_Real & theC3,
Standard_Real & theD ) const

Computes the coefficients of the implicit equation of the quadric in the absolute cartesian coordinates system : theA1.X**2 + theA2.Y**2 + theA3.Z**2 + 2.(theB1.X.Y + theB2.X.Z + theB3.Y.Z) + 2.(theC1.X + theC2.Y + theC3.Z) + theD = 0.0.

◆ Direct()

Standard_Boolean gp_Cone::Direct ( ) const
inline

Returns true if the local coordinate system of this cone is right-handed.

◆ Location()

const gp_Pnt & gp_Cone::Location ( ) const
inline

returns the "Location" point of the cone.

◆ Mirror() [1/3]

void gp_Cone::Mirror ( const gp_Ax1 & theA1)

◆ Mirror() [2/3]

void gp_Cone::Mirror ( const gp_Ax2 & theA2)

◆ Mirror() [3/3]

void gp_Cone::Mirror ( const gp_Pnt & theP)

◆ Mirrored() [1/3]

gp_Cone gp_Cone::Mirrored ( const gp_Ax1 & theA1) const

Performs the symmetrical transformation of a cone with respect to an axis placement which is the axis of the symmetry.

◆ Mirrored() [2/3]

gp_Cone gp_Cone::Mirrored ( const gp_Ax2 & theA2) const

Performs the symmetrical transformation of a cone with respect to a plane. The axis placement theA2 locates the plane of the of the symmetry : (Location, XDirection, YDirection).

◆ Mirrored() [3/3]

gp_Cone gp_Cone::Mirrored ( const gp_Pnt & theP) const

Performs the symmetrical transformation of a cone with respect to the point theP which is the center of the symmetry.

◆ Position()

const gp_Ax3 & gp_Cone::Position ( ) const
inline

Returns the local coordinates system of the cone.

◆ RefRadius()

Standard_Real gp_Cone::RefRadius ( ) const
inline

Returns the radius of the cone in the reference plane.

◆ Rotate()

void gp_Cone::Rotate ( const gp_Ax1 & theA1,
const Standard_Real theAng )
inline

◆ Rotated()

gp_Cone gp_Cone::Rotated ( const gp_Ax1 & theA1,
const Standard_Real theAng ) const
inline

Rotates a cone. theA1 is the axis of the rotation. Ang is the angular value of the rotation in radians.

◆ Scale()

void gp_Cone::Scale ( const gp_Pnt & theP,
const Standard_Real theS )
inline

◆ Scaled()

gp_Cone gp_Cone::Scaled ( const gp_Pnt & theP,
const Standard_Real theS ) const
inline

Scales a cone. theS is the scaling value. The absolute value of theS is used to scale the cone.

◆ SemiAngle()

Standard_Real gp_Cone::SemiAngle ( ) const
inline

Returns the half-angle at the apex of this cone. Attention! Semi-angle can be negative.

◆ SetAxis()

void gp_Cone::SetAxis ( const gp_Ax1 & theA1)
inline

Changes the symmetry axis of the cone. Raises ConstructionError the direction of theA1 is parallel to the "XDirection" of the coordinate system of the cone.

◆ SetLocation()

void gp_Cone::SetLocation ( const gp_Pnt & theLoc)
inline

Changes the location of the cone.

◆ SetPosition()

void gp_Cone::SetPosition ( const gp_Ax3 & theA3)
inline

Changes the local coordinate system of the cone. This coordinate system defines the reference plane of the cone.

◆ SetRadius()

void gp_Cone::SetRadius ( const Standard_Real theR)
inline

Changes the radius of the cone in the reference plane of the cone. Raised if theR < 0.0.

◆ SetSemiAngle()

void gp_Cone::SetSemiAngle ( const Standard_Real theAng)
inline

Changes the semi-angle of the cone. Semi-angle can be negative. Its absolute value Abs(theAng) is in range ]0,PI/2[. Raises ConstructionError if Abs(theAng) < Resolution from gp or Abs(theAng) >= PI/2 - Resolution.

◆ Transform()

void gp_Cone::Transform ( const gp_Trsf & theT)
inline

◆ Transformed()

gp_Cone gp_Cone::Transformed ( const gp_Trsf & theT) const
inline

Transforms a cone with the transformation theT from class Trsf.

◆ Translate() [1/2]

void gp_Cone::Translate ( const gp_Pnt & theP1,
const gp_Pnt & theP2 )
inline

◆ Translate() [2/2]

void gp_Cone::Translate ( const gp_Vec & theV)
inline

◆ Translated() [1/2]

gp_Cone gp_Cone::Translated ( const gp_Pnt & theP1,
const gp_Pnt & theP2 ) const
inline

Translates a cone from the point P1 to the point P2.

◆ Translated() [2/2]

gp_Cone gp_Cone::Translated ( const gp_Vec & theV) const
inline

Translates a cone in the direction of the vector theV. The magnitude of the translation is the vector's magnitude.

◆ UReverse()

void gp_Cone::UReverse ( )
inline

Reverses the U parametrization of the cone reversing the YAxis.

◆ VReverse()

void gp_Cone::VReverse ( )
inline

Reverses the V parametrization of the cone reversing the ZAxis.

◆ XAxis()

gp_Ax1 gp_Cone::XAxis ( ) const
inline

Returns the XAxis of the reference plane.

◆ YAxis()

gp_Ax1 gp_Cone::YAxis ( ) const
inline

Returns the YAxis of the reference plane.


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