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

Defines 3D offset curve. More...

Inheritance diagram for cadex.Geom.OffsetCurve:
cadex.Geom.Curve cadex.Geom.Geometry cadex.BaseObject

Public Member Functions

 OffsetCurve (global::System.IntPtr cPtr, bool cMemoryOwn)
 
 OffsetCurve (cadex.Geom.Curve theBasicCurve, double theOffset, cadex.Geom.Direction theDirection)
 If theBasisCurve is an offset curve then its basis curve will be used as a basis curve and offset will be a sum of theOffset and the offset value of the theBasisCurve.
 
cadex.Geom.Curve BasisCurve ()
 Returns basis curve.
 
double Offset ()
 Returns offset value.
 
cadex.Geom.Direction Direction ()
 Returns reference direction.
 
- Public Member Functions inherited from cadex.Geom.Curve
 Curve (global::System.IntPtr cPtr, bool cMemoryOwn)
 
cadex.Geom.CurveType Type ()
 
cadex.Geom.Continuity Continuity ()
 Returns a continuity type of the curve.
 
cadex.Geom.Point Value (double theParameter)
 Evaluates a point on the curve.
 
cadex.Geom.Direction Normal (double theParameter)
 Returns the normal direction theNormal of parameter theParam.
 
double Curvature (double theParameter)
 Returns the curvature value of parameter theParam.
 
bool IsPeriodic ()
 Returns true if the curve is periodic.
 
double UMin ()
 Returns a minimum parameter of a definition domain.
 
double UMax ()
 Returns a maximum parameter of a definition domain.
 
void Domain (out double theUMin, out double theUMax)
 Returns a definition domain.
 
bool IsTrimmed ()
 Returns whether curve is trimmed or not.
 
void SetTrim (double theFirst, double theLast)
 Trims curve with [theFirst, theLast] section.
 
void Transform (cadex.Geom.Transformation theTransformation)
 Results depends on the actual curve type.
 
cadex.Geom.Curve Transformed (cadex.Geom.Transformation theTransformation)
 The contents of this object is not modified.
 
void D0 (double theParameter, cadex.Geom.Point theValue)
 Throws exception only for the OffsetCurve if it is not possible to compute the current point.
 
void D1 (double theParameter, cadex.Geom.Point theValue, cadex.Geom.Vector theD1)
 Returns the point theValue of parameter theParam and the first derivative theD1.
 
void D2 (double theParameter, cadex.Geom.Point theValue, cadex.Geom.Vector theD1, cadex.Geom.Vector theD2)
 Returns the point theValue of parameter theParam, the first theD1 and second theD2 derivatives.
 
bool DN (double theParameter, uint theDerivativeOrder, cadex.Geom.Point theValue, cadex.Collections.VectorList theD)
 Returns true if calculation completed successfully.
 
void Mirror (cadex.Geom.Point thePoint)
 
void Mirror (cadex.Geom.Axis1d theAxis)
 
void Mirror (cadex.Geom.Axis3d theAxis)
 
cadex.Geom.Curve Mirrored (cadex.Geom.Point theRef)
 
cadex.Geom.Curve Mirrored (cadex.Geom.Axis1d theAxis)
 
cadex.Geom.Curve Mirrored (cadex.Geom.Axis3d theAxis)
 
void Rotate (cadex.Geom.Axis1d theAxis, double theAngle)
 
cadex.Geom.Curve Rotated (cadex.Geom.Axis1d theAxis, double theAngle)
 
void Translate (cadex.Geom.Vector theVector)
 
cadex.Geom.Curve Translated (cadex.Geom.Vector theVector)
 
void Scale (cadex.Geom.Point thePoint, double theScale)
 
cadex.Geom.Curve 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 cadex.Geom.OffsetCurve Cast (cadex.Geom.Curve theBase)
 
- Static Public Member Functions inherited from cadex.Geom.Curve
static new bool CompareType (cadex.BaseObject theObject)
 
static cadex.Geom.Curve Cast (cadex.Geom.Geometry theBase)
 
- 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)
 

Detailed Description

Defines 3D offset curve.

An offset curve is defined by a basis curve, reference direction and offset value.

The following image depicts an example of a planar offset curve:

Offset Curve

A basis curve must be at least G1-continous, otherwise behavior is undefined (most likely an exception will be thrown).

An offset curve is parametrized as follows: \(\mathbf{C}(t) = \mathbf{B}(t) + \mathrm{offset}\cdot\mathbf{V}(t)\), where

  • \(\mathbf{B}(t)\) is a point on a basis curve at parameter \(t\);
  • \(\mathrm{offset}\) is an offset value;
  • \(\mathbf{V}(t)\) is a unit vector defined as \(\frac{\mathbf{B}'(t) \times \mathbf{D}}{\|\mathbf{B}'(t) \times \mathbf{D}\|}\),
  • \(\mathbf{D}\) is a specified reference direction,
  • \(\mathbf{B}'(t)\) is first derivative vector computed on a basis curve at parameter \(t\).

If the basis curve is planar and reference direction \(\mathbf{D}\) is perpendicular to a plane of the basis curve, then the offset curve also belongs to that plane and is shifted by \(\mathrm{offset}\) value from the basis curve.

IsPeriodic() returns a value returned by the basis curve.

See also
OffsetCurve2d.
Examples
exploring/brep_geometry/Program.cs, and exploring/brep_geometry/main.cxx.

Constructor & Destructor Documentation

◆ OffsetCurve()

cadex.Geom.OffsetCurve.OffsetCurve ( cadex.Geom.Curve theBasicCurve,
double theOffset,
cadex.Geom.Direction theDirection )
inline

If theBasisCurve is an offset curve then its basis curve will be used as a basis curve and offset will be a sum of theOffset and the offset value of the theBasisCurve.

theBasisCurve must be at least G1-continuous, otherwise behavior is undefined. Constructor.

Member Function Documentation

◆ BasisCurve()

cadex.Geom.Curve cadex.Geom.OffsetCurve.BasisCurve ( )
inline

◆ Direction()

cadex.Geom.Direction cadex.Geom.OffsetCurve.Direction ( )
inline

Returns reference direction.

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

◆ Dispose()

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

Reimplemented from cadex.Geom.Curve.

◆ Offset()

double cadex.Geom.OffsetCurve.Offset ( )
inline