Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
Geom_ConicalSurface Class Reference

Describes a cone.
A cone is defined by the half-angle at its apex, and
is positioned in space by a coordinate system (a
gp_Ax3 object) and a reference radius as follows:
More...

#include <Geom_ConicalSurface.hxx>

Inheritance diagram for Geom_ConicalSurface:
Inheritance graph
[legend]

Public Member Functions

 Geom_ConicalSurface (const gp_Ax3 &A3, const Standard_Real Ang, const Standard_Real Radius)
 A3 defines the local coordinate system of the conical surface.
Ang is the conical surface semi-angle ]0, PI/2[.
Radius is the radius of the circle Viso in the placement plane
of the conical surface defined with "XAxis" and "YAxis".
The "ZDirection" of A3 defines the direction of the surface's
axis of symmetry.
If the location point of A3 is the apex of the surface
Radius = 0 .
At the creation the parametrization of the surface is defined
such that the normal Vector (N = D1U ^ D1V) is oriented towards
the "outside region" of the surface.
Raised if Radius < 0.0 or Ang < Resolution from gp or
Ang >= PI/2 - Resolution

 Geom_ConicalSurface (const gp_Cone &C)
 Creates a ConicalSurface from a non transient Cone from
package gp.

void SetCone (const gp_Cone &C)
 Set <me> so that <me> has the same geometric properties as C.

void SetRadius (const Standard_Real R)
 Changes the radius of the conical surface in the placement
plane (Z = 0, V = 0). The local coordinate system is not
modified.
//! Raised if R < 0.0

void SetSemiAngle (const Standard_Real Ang)
 Changes the semi angle of the conical surface.
Raised if Ang < Resolution or Ang >= PI/2 - Resolution

gp_Cone Cone () const
 returns a non transient cone with the same geometric properties
as <me>.

Standard_Real UReversedParameter (const Standard_Real U) const
 return 2.PI - U.

Standard_Real VReversedParameter (const Standard_Real V) const
 Computes the u (or v) parameter on the modified
surface, when reversing its u (or v) parametric
direction, for any point of u parameter U (or of v
parameter V) on this cone.
In the case of a cone, these functions return respectively:

virtual void VReverse ()
 Changes the orientation of this cone in the v
parametric direction. The bounds of the surface are
not changed but the v parametric direction is reversed.
As a consequence, for a cone:

virtual void TransformParameters (Standard_Real &U, Standard_Real &V, const gp_Trsf &T) const
 Computes the parameters on the transformed surface for
the transform of the point of parameters U,V on <me>.

me->Transformed(T)->Value(U',V')

is the same point as

me->Value(U,V).Transformed(T)

Where U',V' are the new values of U,V after calling

me->TranformParameters(U,V,T)

This methods multiplies V by T.ScaleFactor()

virtual gp_GTrsf2d ParametricTransformation (const gp_Trsf &T) const
 Returns a 2d transformation used to find the new
parameters of a point on the transformed surface.

me->Transformed(T)->Value(U',V')

is the same point as

me->Value(U,V).Transformed(T)

Where U',V' are obtained by transforming U,V with
th 2d transformation returned by

me->ParametricTransformation(T)

This methods returns a scale centered on the
U axis with T.ScaleFactor

gp_Pnt Apex () const
 Computes the apex of this cone. It is on the negative
side of the axis of revolution of this cone if the
half-angle at the apex is positive, and on the positive
side of the "main Axis" if the half-angle is negative.

void Bounds (Standard_Real &U1, Standard_Real &U2, Standard_Real &V1, Standard_Real &V2) const
 The conical surface is infinite in the V direction so
V1 = Realfirst from Standard and V2 = RealLast.
U1 = 0 and U2 = 2*PI.

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
 Returns the coefficients of the implicit equation of the
quadric in the absolute cartesian coordinate system :
These coefficients are normalized.
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

Standard_Real RefRadius () const
 Returns the reference radius of this cone.
The reference radius is the radius of the circle formed
by the intersection of this cone and its reference
plane (i.e. the plane defined by the origin, "X <br> Direction" and "Y Direction" of the local coordinate
system of this cone).
If the apex of this cone is on the origin of the local
coordinate system of this cone, the returned value is 0.

Standard_Real SemiAngle () const
 returns the semi-angle of the conical surface ]0.0, PI/2[.

Standard_Boolean IsUClosed () const
 returns True.

Standard_Boolean IsVClosed () const
 returns False.

Standard_Boolean IsUPeriodic () const
 Returns True.

Standard_Boolean IsVPeriodic () const
 Returns False.

Handle_Geom_Curve UIso (const Standard_Real U) const
 Builds the U isoparametric line of this cone. The
origin of this line is on the reference plane of this
cone (i.e. the plane defined by the origin, "X Direction"
and "Y Direction" of the local coordinate system of this cone).

Handle_Geom_Curve VIso (const Standard_Real V) const
 Builds the V isoparametric circle of this cone. It is the
circle on this cone, located in the plane of Z
coordinate V*cos(Semi-Angle) in the local coordinate system of this
cone. The "Axis" of this circle is the axis of revolution
of this cone. Its starting point is defined by the "X <br> Direction" of this cone.
Warning
If the V isoparametric circle is close to the apex of
this cone, the radius of the circle becomes very small.
It is possible to have a circle with radius equal to 0.0.

void D0 (const Standard_Real U, const Standard_Real V, gp_Pnt &P) const
 Computes the point P (U, V) on the surface.
P (U, V) = Loc +
(RefRadius + V * sin (Semi-Angle)) * (cos (U) * XDir + sin (U) * YDir) +
V * cos (Semi-Angle) * ZDir
where Loc is the origin of the placement plane (XAxis, YAxis)
XDir is the direction of the XAxis and YDir the direction of
the YAxis.

void D1 (const Standard_Real U, const Standard_Real V, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V) const
 Computes the current point and the first derivatives in the
directions U and V.

void D2 (const Standard_Real U, const Standard_Real V, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V, gp_Vec &D2U, gp_Vec &D2V, gp_Vec &D2UV) const
 Computes the current point, the first and the second derivatives
in the directions U and V.

void D3 (const Standard_Real U, const Standard_Real V, gp_Pnt &P, gp_Vec &D1U, gp_Vec &D1V, gp_Vec &D2U, gp_Vec &D2V, gp_Vec &D2UV, gp_Vec &D3U, gp_Vec &D3V, gp_Vec &D3UUV, gp_Vec &D3UVV) const
 Computes the current point, the first,the second and the third
derivatives in the directions U and V.

gp_Vec DN (const Standard_Real U, const Standard_Real V, const Standard_Integer Nu, const Standard_Integer Nv) const
 Computes the derivative of order Nu in the u
parametric direction, and Nv in the v parametric
direction at the point of parameters (U, V) of this cone.
Exceptions
Standard_RangeError if:

void Transform (const gp_Trsf &T)
 Applies the transformation T to this cone.

Handle_Geom_Geometry Copy () const
 Creates a new object which is a copy of this cone.


Detailed Description


Constructor & Destructor Documentation


Member Function Documentation

void Geom_ConicalSurface::Bounds ( Standard_Real U1,
Standard_Real U2,
Standard_Real V1,
Standard_Real V2 
) const [virtual]

Implements Geom_Surface.

Handle_Geom_Geometry Geom_ConicalSurface::Copy ( ) const [virtual]

Implements Geom_Geometry.

void Geom_ConicalSurface::D0 ( const Standard_Real  U,
const Standard_Real  V,
gp_Pnt P 
) const [virtual]

Implements Geom_Surface.

void Geom_ConicalSurface::D1 ( const Standard_Real  U,
const Standard_Real  V,
gp_Pnt P,
gp_Vec D1U,
gp_Vec D1V 
) const [virtual]

Implements Geom_Surface.

void Geom_ConicalSurface::D2 ( const Standard_Real  U,
const Standard_Real  V,
gp_Pnt P,
gp_Vec D1U,
gp_Vec D1V,
gp_Vec D2U,
gp_Vec D2V,
gp_Vec D2UV 
) const [virtual]

Implements Geom_Surface.

void Geom_ConicalSurface::D3 ( const Standard_Real  U,
const Standard_Real  V,
gp_Pnt P,
gp_Vec D1U,
gp_Vec D1V,
gp_Vec D2U,
gp_Vec D2V,
gp_Vec D2UV,
gp_Vec D3U,
gp_Vec D3V,
gp_Vec D3UUV,
gp_Vec D3UVV 
) const [virtual]

Implements Geom_Surface.

  • Nu + Nv is less than 1,
  • Nu or Nv is negative.

Implements Geom_Surface.

Implements Geom_Surface.

Implements Geom_Surface.

Implements Geom_Surface.

Implements Geom_Surface.

Reimplemented from Geom_Surface.

Implements Geom_Geometry.

virtual void Geom_ConicalSurface::TransformParameters ( Standard_Real U,
Standard_Real V,
const gp_Trsf T 
) const [virtual]

Reimplemented from Geom_Surface.

Handle_Geom_Curve Geom_ConicalSurface::UIso ( const Standard_Real  U) const [virtual]

Implements Geom_Surface.

Handle_Geom_Curve Geom_ConicalSurface::VIso ( const Standard_Real  V) const [virtual]

Implements Geom_Surface.

virtual void Geom_ConicalSurface::VReverse ( ) [virtual]
  • the "main Direction" of the local coordinate system
    is reversed, and
  • the half-angle at the apex is inverted.

Reimplemented from Geom_ElementarySurface.

  • 2.*Pi - U, -V.

Implements Geom_ElementarySurface.


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