Hide menu
Loading...
Searching...
No Matches

Defines a conical surface. More...

Inheritance diagram for cadex.Geom.ConicalSurface:
cadex.Geom.ElementarySurface cadex.Geom.Surface cadex.Geom.Geometry cadex.BaseObject

Public Member Functions

 ConicalSurface (global::System.IntPtr cPtr, bool cMemoryOwn)
 
 ConicalSurface (cadex.Geom.Axis3d thePosition, double theSemiAngle, double theRadius)
 Constructor.
 
double Angle ()
 Returns semi-angle.
 
double SemiAngle ()
 Returns semi-angle.
 
double Radius ()
 Returns reference radius.
 
- Public Member Functions inherited from cadex.Geom.ElementarySurface
 ElementarySurface (global::System.IntPtr cPtr, bool cMemoryOwn)
 
cadex.Geom.Axis3d Position ()
 Returns a surface axis.
 
cadex.Geom.Point Location ()
 Returns origin point.
 
cadex.Geom.Direction Direction ()
 Returns Z direction of the axis placement.
 
cadex.Geom.Point2d Parameter (cadex.Geom.Point thePoint)
 Returns UV-point in surface parametric space for a 3D point.
 
- Public Member Functions inherited from cadex.Geom.Surface
 Surface (global::System.IntPtr cPtr, bool cMemoryOwn)
 
cadex.Geom.SurfaceType Type ()
 Returns a surface type.
 
cadex.Geom.Continuity Continuity ()
 Returns a continuity type of the surface.
 
cadex.Geom.Point Value (double theParameterU, double theParameterV)
 Evaluates a point on the surface.
 
cadex.Geom.Direction Normal (double theParameterU, double theParameterV)
 
bool IsUPeriodic ()
 Returns true if the surface is periodic in U direction.
 
bool IsVPeriodic ()
 Returns true if the surface is periodic in V direction.
 
double UMin ()
 Returns a minimum parameter of a definition domain in U direction.
 
double UMax ()
 Returns a maximum parameter of a definition domain in U direction.
 
double VMin ()
 Returns a minimum parameter of a definition domain in V direction.
 
double VMax ()
 Returns a maximum parameter of a definition domain in V direction.
 
void Domain (out double theUMin, out double theUMax, out double theVMin, out double theVMax)
 Returns a definition domain.
 
bool IsTrimmed ()
 Returns whether surface is trimmed or not.
 
void SetTrim (double theUFirst, double theULast, double theVFirst, double theVLast)
 Trims surface with [theUFirst, theULast] x [theVFirst, theVLast] section.
 
void Transform (cadex.Geom.Transformation theTransformation)
 Applies transformation matrix to this object.
 
cadex.Geom.Surface Transformed (cadex.Geom.Transformation theTransformation)
 Returns a copy this object after applying transformation.
 
void D0 (double theParameterU, double theParameterV, cadex.Geom.Point theValue)
 
void D1 (double theParameterU, double theParameterV, cadex.Geom.Point theValue, cadex.Geom.Vector theD1U, cadex.Geom.Vector theD1V)
 
void D2 (double theParameterU, double theParameterV, cadex.Geom.Point theValue, cadex.Geom.Vector theD1U, cadex.Geom.Vector theD1V, cadex.Geom.Vector theD2U, cadex.Geom.Vector theD2V, cadex.Geom.Vector theD2UV)
 
bool DN (double theParameterU, double theParameterV, uint theDerivativeOrder, cadex.Geom.Point theValue, cadex.Collections.VectorList theD)
 
void Curvature (double theParameterU, double theParameterV, cadex.Geom.Direction thePrincipalMaxDirection, cadex.Geom.Direction thePrincipalMinDirection)
 
void Curvature (double theParameterU, double theParameterV, cadex.Geom.Direction thePrincipalMaxDirection, cadex.Geom.Direction thePrincipalMinDirection, out double theMaxCurvature, out double theMinCurvature)
 
void Mirror (cadex.Geom.Point thePoint)
 
void Mirror (cadex.Geom.Axis1d theAxis)
 
void Mirror (cadex.Geom.Axis3d theAxis)
 
cadex.Geom.Surface Mirrored (cadex.Geom.Point theRef)
 
cadex.Geom.Surface Mirrored (cadex.Geom.Axis1d theAxis)
 
cadex.Geom.Surface Mirrored (cadex.Geom.Axis3d theAxis)
 
void Rotate (cadex.Geom.Axis1d theAxis, double theAngle)
 
cadex.Geom.Surface Rotated (cadex.Geom.Axis1d theAxis, double theAngle)
 
void Translate (cadex.Geom.Vector theVector)
 
cadex.Geom.Surface Translated (cadex.Geom.Vector theVector)
 
void Scale (cadex.Geom.Point thePoint, double theScale)
 
cadex.Geom.Surface Scaled (cadex.Geom.Point thePoint, double theScale)
 
- Public Member Functions inherited from cadex.Geom.Geometry
 Geometry (global::System.IntPtr cPtr, bool cMemoryOwn)
 
- Public Member Functions inherited from cadex.BaseObject
 BaseObject (global::System.IntPtr cPtr, bool cMemoryOwn)
 
void Dispose ()
 
bool IsNull ()
 
ulong Id ()
 Return unique identifier of public object.
 
bool IsEqual (cadex.BaseObject theObj)
 
override int GetHashCode ()
 
override bool Equals (System.Object o)
 

Static Public Member Functions

static new bool CompareType (cadex.BaseObject theObject)
 
static new cadex.Geom.ConicalSurface Cast (cadex.Geom.Surface theBase)
 
- Static Public Member Functions inherited from cadex.Geom.ElementarySurface
static new bool CompareType (cadex.BaseObject theObject)
 
static cadex.Geom.ElementarySurface Cast (cadex.Geom.Surface theBase)
 
- Static Public Member Functions inherited from cadex.Geom.Surface
static new bool CompareType (cadex.BaseObject theObject)
 
- Static Public Member Functions inherited from cadex.Geom.Geometry
static bool CompareType (cadex.BaseObject theObject)
 
static cadex.Geom.Geometry Cast (cadex.BaseObject theBase)
 

Protected Member Functions

override void Dispose (bool disposing)
 
- Protected Member Functions inherited from cadex.Geom.ElementarySurface
override void Dispose (bool disposing)
 
- Protected Member Functions inherited from cadex.Geom.Surface
override void Dispose (bool disposing)
 

Detailed Description

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:

Conical surface

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

  • \(\mathbf{P}\) is an origin point,
  • \(\mathbf{X}\), \(\mathbf{Y}\) and \(\mathbf{Y}\) are directions (unit vectors) of X, Y and Z axes respectively,
  • \(\phi\) - semi-angle, i.e. an angle between \(\mathbf{Z}\) and any generatrix,
  • \(r = R + v\sin(\phi)\), i.e. a radius of a circle at respective parameter \(v\),
  • \(u\) belongs to \([0, 2\pi]\),
  • \(v\) belongs to \((-\infty, +\infty)\).

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.

Examples
exploring/brep_geometry/Program.cs, and exploring/brep_geometry/main.cxx.

Constructor & Destructor Documentation

◆ ConicalSurface()

cadex.Geom.ConicalSurface.ConicalSurface ( cadex.Geom.Axis3d thePosition,
double theSemiAngle,
double theRadius )
inline

Constructor.

Creates an object from an axis, semi-angle and reference radius.

Semi-angle theAngle must be either positive or negative. theRadius must be positive.

Member Function Documentation

◆ Angle()

double cadex.Geom.ConicalSurface.Angle ( )
inline

Returns semi-angle.

Returns the value specified in the constructor.

Deprecated
Kept for binary compatibility. Use SemiAngle() instead.

◆ Dispose()

override void cadex.Geom.ConicalSurface.Dispose ( bool disposing)
inlineprotectedvirtual

Reimplemented from cadex.BaseObject.

◆ Radius()

double cadex.Geom.ConicalSurface.Radius ( )
inline

Returns reference radius.

Returns the value specified in the constructor.

Examples
exploring/brep_geometry/Program.cs, and exploring/brep_geometry/main.cxx.

◆ SemiAngle()

double cadex.Geom.ConicalSurface.SemiAngle ( )
inline

Returns semi-angle.

Returns the value specified in the constructor.

Examples
exploring/brep_geometry/Program.cs, and exploring/brep_geometry/main.cxx.