Defines a conical surface. More...
#include <cadex/ModelData_ConicalSurface.hxx>
Public Types | |
typedef cadex::internal::ModelData_ConicalSurfaceImpl | ImplType |
![]() | |
typedef cadex::internal::ModelData_ElementarySurfaceImpl | ImplType |
Public Member Functions | |
ModelData_ConicalSurface () | |
Constructor. | |
ModelData_ConicalSurface (const ModelData_Axis3Placement &thePosition, double theSemiAngle, double theRadius) | |
Constructor. | |
ModelData_ConicalSurface (const Handle_C &) | |
Constructor. | |
double | Angle () const |
Returns semi-angle. | |
double | SemiAngle () const |
Returns semi-angle. | |
double | Radius () const |
Returns reference radius. | |
![]() | |
ModelData_ElementarySurface () | |
Constructor. | |
const ModelData_Axis3Placement & | Position () const |
Returns a surface axis. | |
const ModelData_Point & | Location () const |
Returns origin point. | |
const ModelData_Direction & | Direction () const |
Returns Z direction of the axis placement. | |
ModelData_Point2d | Parameter (const ModelData_Point &thePoint) const |
Returns UV-point in surface parametric space for a 3D point. | |
![]() | |
ModelData_Surface () | |
Constructor. | |
ModelData_Surface (const ModelData_Surface &theOther) | |
Constructor. | |
ModelData_Surface (ModelData_Surface &&theOther) | |
Constructor. | |
~ModelData_Surface () | |
Destructor. | |
ModelData_Surface & | operator= (const ModelData_Surface &theOther) |
Assignment operator. | |
ModelData_Surface & | operator= (ModelData_Surface &&theOther) |
Move assignment operator. | |
ModelData_SurfaceType | Type () const |
Returns a surface type. | |
bool | IsNull () const |
Returns true if the object has not been initialized yet. | |
void | Nullify () |
Resets the object. | |
operator bool () const | |
bool | IsUPeriodic () const |
Returns true if the surface is periodic in U direction. | |
bool | IsVPeriodic () const |
Returns true if the surface is periodic in V direction. | |
double | UMin () const |
Returns a minimum parameter of a definition domain in U direction. | |
double | UMax () const |
Returns a maximum parameter of a definition domain in U direction. | |
double | VMin () const |
Returns a minimum parameter of a definition domain in V direction. | |
double | VMax () const |
Returns a maximum parameter of a definition domain in V direction. | |
void | Domain (double &theUMin, double &theUMax, double &theVMin, double &theVMax) const |
Returns a definition domain. | |
ModelData_Point | Value (double theParameterU, double theParameterV) const |
Evaluates a point on the surface. | |
void | Transform (const ModelData_Transformation &theTransformation) |
Applies transformation matrix to this object. | |
ModelData_Surface | Transformed (const ModelData_Transformation &theTransformation) const |
Returns a copy this object after applying transformation. | |
ModelData_Continuity | Continuity () const |
Returns a continuity type of the surface. | |
void | D0 (double theParameterU, double theParameterV, ModelData_Point &theValue) const |
Returns the point theValue of parameter theU, theV on the surface. | |
void | D1 (double theParameterU, double theParameterV, ModelData_Point &theValue, ModelData_Vector &theD1U, ModelData_Vector &theD1V) const |
Returns the point theValue and the first derivatives in the directions U theD1U and V theD1V at this point. | |
void | D2 (double theParameterU, double theParameterV, ModelData_Point &theValue, ModelData_Vector &theD1U, ModelData_Vector &theD1V, ModelData_Vector &theD2U, ModelData_Vector &theD2V, ModelData_Vector &theD2UV) const |
Returns the point theValue, the first and the second derivatives in the directions U and V at this point. | |
bool | DN (double theParameterU, double theParameterV, size_t theDerivativeOrder, ModelData_Point &theValue, ModelData_Vector theD[]) const |
void | Curvature (double theParameterU, double theParameterV, ModelData_Vector &thePrincipalMaxDirection, ModelData_Vector &thePrincipalMinDirection) const |
Returns the max and min principal curvature directions multiplied by max and min value of curvature respectively. | |
void | Curvature (double theParameterU, double theParameterV, ModelData_Direction &thePrincipalMaxDirection, ModelData_Direction &thePrincipalMinDirection, double &theMaxCurvature, double &theMinCurvature) const |
Returns the max and min principal curvature directions and their values. | |
void | Normal (double theParameterU, double theParameterV, ModelData_Direction &theNormal) const |
Returns the normal direction theNormal at the current point. | |
void | Mirror (const ModelData_Point &thePoint) |
Mirrors the surface relative to the point. | |
void | Mirror (const ModelData_Axis1Placement &theAxis) |
Mirrors the surface relative to the axis placement. | |
void | Mirror (const ModelData_Axis2Placement &theAxis) |
Mirrors the surface relative to the axis placement. | |
ModelData_Surface | Mirrored (const ModelData_Point &theRef) const |
Returns a copy this surface mirrored along the object. | |
ModelData_Surface | Mirrored (const ModelData_Axis1Placement &theAxis) const |
Returns a copy this surface mirrored along the object. | |
ModelData_Surface | Mirrored (const ModelData_Axis2Placement &theAxis) const |
Returns a copy this surface mirrored along the object. | |
void | Rotate (const ModelData_Axis1Placement &theAxis, double theAngle) |
Rotates the surface around the axis. | |
ModelData_Surface | Rotated (const ModelData_Axis1Placement &theAxis, double theAngle) const |
Returns a copy this surface rotated along the axis. | |
void | Translate (const ModelData_Vector &theVector) |
Translates the surface along the vector. | |
ModelData_Surface | Translated (const ModelData_Vector &theVector) const |
Returns a copy this surface translated along the vector. | |
void | Scale (const ModelData_Point &thePoint, double theScale) |
Scales the surface with respect to the point. | |
ModelData_Surface | Scaled (const ModelData_Point &thePoint, double theScale) const |
Returns a copy this surface scaled with respect to the point. | |
Public Attributes | |
operator Handle_C const | |
![]() | |
operator Handle_C const | |
Defines a conical surface.
A conical surface is defined by an axis placement, a reference radius and a semi-angle. The following image depicts a conical surface example:
A conical surface is parametrized as follows: \(\mathbf{S}(u,v) = \mathbf{P} + r\cos(u)\mathbf{X} + r\sin(u)\mathbf{Y} + v\cos(\phi)\mathbf{Z}\), where
U-parameter is an angle along the circle at a given parameter V and V-parameter is a length along the cone. Thus, U-isolines are lines and V-isoline are circles.
V-isoline at \(v=0\) is a circle of radius \(R\) in the plane defined by an axis placement.
Conical surface contains both halves of mathematical cone.
Conical surface is U-periodical with period \(2\pi\). At a cone apex, \(r=0\), hence at apex \(v=\frac{-R}{\sin(\phi)}\).
If a face lying on a conical surface contains the apex its boundary wire will contain a degenerated edge corresponding to the apex. If the face takes full U-period then the wire will contain a seam-edge. The face may only lie on one half of a cone, i.e. on one side from the apex.
|
inline |
Constructor.
Empty constructor.
cadex::ModelData_ConicalSurface::ModelData_ConicalSurface | ( | const ModelData_Axis3Placement & | thePosition, |
double | theSemiAngle, | ||
double | theRadius | ||
) |
Constructor.
Creates an object from an axis placement, semi-angle and reference radius.
Semi-angle theAngle must be either positive or negative. theRadius must be positive.
double cadex::ModelData_ConicalSurface::Angle | ( | ) | const |
Returns semi-angle.
Returns the value specified in the constructor.
double cadex::ModelData_ConicalSurface::Radius | ( | ) | const |
Returns reference radius.
Returns the value specified in the constructor.
double cadex::ModelData_ConicalSurface::SemiAngle | ( | ) | const |
Returns semi-angle.
Returns the value specified in the constructor.