Defines a toroidal surface. More...
Public Member Functions | |
| ToroidalSurface (global::System.IntPtr cPtr, bool cMemoryOwn) | |
| ToroidalSurface (cadex.Geom.Axis3d thePosition, double theMajorRadius, double theMinorRadius) | |
| Constructor. | |
| double | MajorRadius () |
| Returns major radius. | |
| double | MinorRadius () |
| Returns minor 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.ToroidalSurface | 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) |
Defines a toroidal surface.
A toroidal surface is defined by an axis and a major and minor radius. The following image depicts a toroidal surface example:
A toroidal surface is parametrized as follows: \(\mathbf{S}(u,v) = \mathbf{P} + (R_1 + R_2\cos(v))(\cos(u)\mathbf{D}_x + \sin(u)\mathbf{D}_y) + R_2\sin(v)\mathbf{D}_z\), where
U-parameter is an angle when rotating around the \(\mathbf{D}_z\) axis counterclockwise, and V-parameter is an angle in circular section at a given parameter U. Thus, U-isolines circles lying in the plane containing Z axis and V-isolines are circles in the planes perpendicular to Z axis.
V-isoline at \(v=0\) is a circle of radius \(R_1+R_2\) in the plane defined by an axis placement. U-isoline at \(u=0\) is a circle of radius \(R_2\) in the plane containing Z and X axes.
Radii \(R_1\) and \(R_2\) must be positive. If \(R_2>R_1\) then toroidal surface will be self-intersecting.
Toroidal surface is both U- and V-periodical with periods \(2\pi\).
If a face lies on a full toroidal surface its boundary wire will contain two seam-edges, corresponding to \(u=0\) and \(u=2\pi\), and \(v=0\) and \(v=2\pi\) respectively.
|
inline |
Constructor.
Creates a toroidal surface from an axis, major radius and minor radius.
theMajorRadius and theMinorRadius must be positive.
|
inlineprotectedvirtual |
Reimplemented from cadex.Geom.ElementarySurface.
|
inline |
Returns major radius.
Returns the value specified in the constructor.
|
inline |
Returns minor radius.
Returns the value specified in the constructor.