Show / Hide Table of Contents

Class HelicalSurface

A helical surface defined by an axis, a curve and a pitch. the curve and the axis must reside in a common plane. The curve is revolved around the axis while beeing moved in direction of the axis. The distance movement in direction of the aixs is "pitch" for one full turn.

Inheritance
System.Object
ISurfaceImpl
HelicalSurface
Implements
ISurface
IOctTreeInsertable
System.Runtime.Serialization.ISerializable
Inherited Members
ISurfaceImpl.extrema
ISurfaceImpl.InvalidateSecondaryData()
ISurfaceImpl.Make3dCurve(ICurve2D)
ISurfaceImpl.PositionOf(GeoPoint)
ISurfaceImpl.DerivationAt(GeoPoint2D, GeoPoint, GeoVector, GeoVector)
ISurfaceImpl.GetPlaneIntersection(PlaneSurface, Double, Double, Double, Double, Double)
ISurfaceImpl.GetLineIntersection(GeoPoint, GeoVector)
ISurfaceImpl.GetTangentCurves(GeoVector, Double, Double, Double, Double)
ISurfaceImpl.IsVanishingProjection(Projection, Double, Double, Double, Double)
ISurfaceImpl.IsUClosed
ISurfaceImpl.IsVClosed
ISurfaceImpl.GetUSingularities()
ISurfaceImpl.GetVSingularities()
ISurfaceImpl.MakeFace(SimpleShape)
ISurfaceImpl.MakeCanonicalForm()
ISurfaceImpl.Approximate(Double, Double, Double, Double, Double)
ISurfaceImpl.GetProjectedCurve(ICurve, Double)
ISurfaceImpl.Intersect(ICurve, BoundingRect, GeoPoint[], GeoPoint2D[], Double[])
ISurfaceImpl.Intersect(BoundingRect, ISurface, BoundingRect)
ISurfaceImpl.Intersect(BoundingRect, ISurface, BoundingRect, GeoPoint)
ISurfaceImpl.GetOffsetSurface(Double, ModOp2D)
ISurfaceImpl.HitTest(BoundingCube, Double, Double, Double, Double)
ISurfaceImpl.HitTest(BoundingCube, GeoPoint2D)
ISurfaceImpl.IsRuled
ISurfaceImpl.GetSaveUSteps()
ISurfaceImpl.GetSaveVSteps()
ISurfaceImpl.GetExtrema()
ISurfaceImpl.GetPatchExtent(BoundingRect, Boolean)
ISurfaceImpl.GetPolynomialParameters()
ISurfaceImpl.GetImplicitPolynomial()
ISurfaceImpl.SetBounds(BoundingRect)
ISurfaceImpl.PerpendicularFoot(GeoPoint)
ISurfaceImpl.HasDiscontinuousDerivative(ICurve2D[])
ISurfaceImpl.GetNonPeriodicSurface(ICurve[])
ISurfaceImpl.GetPatchHull(BoundingRect, GeoPoint, GeoVector, GeoVector, GeoVector)
ISurfaceImpl.GetTouchingPoints(BoundingRect, ISurface, BoundingRect)
ISurfaceImpl.GetCanonicalForm(Double, Nullable<BoundingRect>)
ISurfaceImpl.PositionOf(GeoPoint, BoundingRect)
ISurfaceImpl.GetExtremePositions(BoundingRect, ISurface, BoundingRect, List<Tuple<Double, Double, Double, Double>>)
ISurfaceImpl.GetExtremePositions(BoundingRect, ICurve, List<Tuple<Double, Double, Double>>)
ISurfaceImpl.GetDistance(GeoPoint)
ISurfaceImpl.IsExtruded(GeoVector)
ISurfaceImpl.GetContextMenuForParametrics(IFrame, Face)
ISurfaceImpl.UvChangesWithModification
ISurfaceImpl.sqr(Double)
ISurfaceImpl.cube(Double)
ISurfaceImpl.quad(Double)
ISurfaceImpl.exp32(Double)
ISurfaceImpl.exp52(Double)
ISurfaceImpl.MaxDist(GeoPoint2D, GeoPoint2D, GeoPoint2D)
ISurfaceImpl.Refine(GeoPoint[], Int32, Boolean, PlaneSurface, Double)
ISurfaceImpl.IOctTreeInsertable.GetExtent(Double)
ISurfaceImpl.IOctTreeInsertable.HitTest(BoundingCube, Double)
ISurfaceImpl.IOctTreeInsertable.HitTest(Projection, BoundingRect, Boolean)
ISurfaceImpl.IOctTreeInsertable.HitTest(Projection.PickArea, Boolean)
ISurfaceImpl.IOctTreeInsertable.Position(GeoPoint, GeoVector, Double)
ISurfaceImpl.GetDualSurfaceCurves(BoundingRect, ISurface, BoundingRect, List<GeoPoint>, List<Tuple<Double, Double, Double, Double>>)
ISurfaceImpl.GetSelfIntersections(BoundingRect)
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: CADability.GeoObject
Assembly: CADability.dll
Syntax
[Serializable]
public class HelicalSurface : ISurfaceImpl, ISurface, IOctTreeInsertable, ISerializable

Constructors

| Improve this Doc View Source

HelicalSurface(ICurve, GeoPoint, GeoVector, Double, Double, Double, Nullable<GeoPoint>)

Declaration
public HelicalSurface(ICurve basisCurve, GeoPoint axisLocation, GeoVector axisDirection, double pitch, double curveStartParameter, double curveEndParameter, GeoPoint? axisRefPoint = default(GeoPoint? ))
Parameters
Type Name Description
ICurve basisCurve
GeoPoint axisLocation
GeoVector axisDirection
System.Double pitch
System.Double curveStartParameter
System.Double curveEndParameter
System.Nullable<GeoPoint> axisRefPoint
| Improve this Doc View Source

HelicalSurface(SerializationInfo, StreamingContext)

Declaration
protected HelicalSurface(SerializationInfo info, StreamingContext context)
Parameters
Type Name Description
System.Runtime.Serialization.SerializationInfo info
System.Runtime.Serialization.StreamingContext context

Properties

| Improve this Doc View Source

Axis

Returns the direction of the axis of revolution

Declaration
public GeoVector Axis { get; }
Property Value
Type Description
GeoVector
| Improve this Doc View Source

BasisCurve

Returns the curve that is rotated to form this surface

Declaration
public ICurve BasisCurve { get; }
Property Value
Type Description
ICurve
| Improve this Doc View Source

IsUPeriodic

Declaration
public override bool IsUPeriodic { get; }
Property Value
Type Description
System.Boolean
Overrides
ISurfaceImpl.IsUPeriodic
| Improve this Doc View Source

IsVPeriodic

Declaration
public override bool IsVPeriodic { get; }
Property Value
Type Description
System.Boolean
Overrides
ISurfaceImpl.IsVPeriodic
| Improve this Doc View Source

Location

Returns the location of the axis of revolution

Declaration
public GeoPoint Location { get; }
Property Value
Type Description
GeoPoint
| Improve this Doc View Source

Oriented

Declaration
public override bool Oriented { get; }
Property Value
Type Description
System.Boolean
Overrides
ISurfaceImpl.Oriented
| Improve this Doc View Source

Pitch

Declaration
public double Pitch { get; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

UPeriod

Declaration
public override double UPeriod { get; }
Property Value
Type Description
System.Double
Overrides
ISurfaceImpl.UPeriod
| Improve this Doc View Source

VPeriod

Declaration
public override double VPeriod { get; }
Property Value
Type Description
System.Double
Overrides
ISurfaceImpl.VPeriod
| Improve this Doc View Source

XAxis

Returns the 0 position of the revolution

Declaration
public GeoVector XAxis { get; }
Property Value
Type Description
GeoVector

Methods

| Improve this Doc View Source

Clone()

Overrides Clone()

Declaration
public override ISurface Clone()
Returns
Type Description
ISurface
Overrides
ISurfaceImpl.Clone()
| Improve this Doc View Source

CopyData(ISurface)

Overrides CopyData(ISurface)

Declaration
public override void CopyData(ISurface CopyFrom)
Parameters
Type Name Description
ISurface CopyFrom
Overrides
ISurfaceImpl.CopyData(ISurface)
| Improve this Doc View Source

Derivation2At(GeoPoint2D, out GeoPoint, out GeoVector, out GeoVector, out GeoVector, out GeoVector, out GeoVector)

Declaration
public override void Derivation2At(GeoPoint2D uv, out GeoPoint location, out GeoVector du, out GeoVector dv, out GeoVector duu, out GeoVector dvv, out GeoVector duv)
Parameters
Type Name Description
GeoPoint2D uv
GeoPoint location
GeoVector du
GeoVector dv
GeoVector duu
GeoVector dvv
GeoVector duv
Overrides
ISurfaceImpl.Derivation2At(GeoPoint2D, out GeoPoint, out GeoVector, out GeoVector, out GeoVector, out GeoVector, out GeoVector)
| Improve this Doc View Source

FixedU(Double, Double, Double)

Overrides FixedU(Double, Double, Double)

Declaration
public override ICurve FixedU(double u, double vmin, double vmax)
Parameters
Type Name Description
System.Double u
System.Double vmin
System.Double vmax
Returns
Type Description
ICurve
Overrides
ISurfaceImpl.FixedU(Double, Double, Double)
| Improve this Doc View Source

FixedV(Double, Double, Double)

Overrides FixedV(Double, Double, Double)

Declaration
public override ICurve FixedV(double v, double umin, double umax)
Parameters
Type Name Description
System.Double v
System.Double umin
System.Double umax
Returns
Type Description
ICurve
Overrides
ISurfaceImpl.FixedV(Double, Double, Double)
| Improve this Doc View Source

GetMaximumExtent()

Declaration
public BoundingRect GetMaximumExtent()
Returns
Type Description
BoundingRect
| Improve this Doc View Source

GetModified(ModOp)

Overrides GetModified(ModOp)

Declaration
public override ISurface GetModified(ModOp m)
Parameters
Type Name Description
ModOp m
Returns
Type Description
ISurface
Overrides
ISurfaceImpl.GetModified(ModOp)
| Improve this Doc View Source

GetNaturalBounds(out Double, out Double, out Double, out Double)

Declaration
public override void GetNaturalBounds(out double umin, out double umax, out double vmin, out double vmax)
Parameters
Type Name Description
System.Double umin
System.Double umax
System.Double vmin
System.Double vmax
Overrides
ISurfaceImpl.GetNaturalBounds(out Double, out Double, out Double, out Double)
| Improve this Doc View Source

GetNormal(GeoPoint2D)

Overrides GetNormal(GeoPoint2D)

Declaration
public override GeoVector GetNormal(GeoPoint2D uv)
Parameters
Type Name Description
GeoPoint2D uv
Returns
Type Description
GeoVector
Overrides
ISurfaceImpl.GetNormal(GeoPoint2D)
| Improve this Doc View Source

GetOffsetSurface(Double)

Declaration
public override ISurface GetOffsetSurface(double offset)
Parameters
Type Name Description
System.Double offset
Returns
Type Description
ISurface
Overrides
ISurfaceImpl.GetOffsetSurface(Double)
| Improve this Doc View Source

GetPropertyEntry(IFrame)

Declaration
public override IPropertyEntry GetPropertyEntry(IFrame frame)
Parameters
Type Name Description
IFrame frame
Returns
Type Description
IPropertyEntry
Overrides
ISurfaceImpl.GetPropertyEntry(IFrame)
| Improve this Doc View Source

GetSafeParameterSteps(Double, Double, Double, Double, out Double[], out Double[])

Overrides GetSafeParameterSteps(Double, Double, Double, Double, out Double[], out Double[])

Declaration
public override void GetSafeParameterSteps(double umin, double umax, double vmin, double vmax, out double[] intu, out double[] intv)
Parameters
Type Name Description
System.Double umin
System.Double umax
System.Double vmin
System.Double vmax
System.Double[] intu
System.Double[] intv
Overrides
ISurfaceImpl.GetSafeParameterSteps(Double, Double, Double, Double, out Double[], out Double[])
| Improve this Doc View Source

GetZMinMax(Projection, Double, Double, Double, Double, ref Double, ref Double)

Overrides GetZMinMax(Projection, Double, Double, Double, Double, ref Double, ref Double)

Declaration
public override void GetZMinMax(Projection p, double umin, double umax, double vmin, double vmax, ref double zMin, ref double zMax)
Parameters
Type Name Description
Projection p
System.Double umin
System.Double umax
System.Double vmin
System.Double vmax
System.Double zMin
System.Double zMax
Overrides
ISurfaceImpl.GetZMinMax(Projection, Double, Double, Double, Double, ref Double, ref Double)
| Improve this Doc View Source

Modify(ModOp)

Overrides Modify(ModOp)

Declaration
public override void Modify(ModOp m)
Parameters
Type Name Description
ModOp m
Overrides
ISurfaceImpl.Modify(ModOp)
| Improve this Doc View Source

Orientation(GeoPoint)

Overrides Orientation(GeoPoint)

Declaration
public override double Orientation(GeoPoint p)
Parameters
Type Name Description
GeoPoint p
Returns
Type Description
System.Double
Overrides
ISurfaceImpl.Orientation(GeoPoint)
| Improve this Doc View Source

PointAt(GeoPoint2D)

Overrides PointAt(GeoPoint2D)

Declaration
public override GeoPoint PointAt(GeoPoint2D uv)
Parameters
Type Name Description
GeoPoint2D uv
Returns
Type Description
GeoPoint
Overrides
ISurfaceImpl.PointAt(GeoPoint2D)
| Improve this Doc View Source

ReverseOrientation()

Overrides ReverseOrientation()

Declaration
public override ModOp2D ReverseOrientation()
Returns
Type Description
ModOp2D
Overrides
ISurfaceImpl.ReverseOrientation()
| Improve this Doc View Source

SameGeometry(BoundingRect, ISurface, BoundingRect, Double, out ModOp2D)

Overrides SameGeometry(BoundingRect, ISurface, BoundingRect, Double, out ModOp2D)

Declaration
public override bool SameGeometry(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds, double precision, out ModOp2D firstToSecond)
Parameters
Type Name Description
BoundingRect thisBounds
ISurface other
BoundingRect otherBounds
System.Double precision
ModOp2D firstToSecond
Returns
Type Description
System.Boolean
Overrides
ISurfaceImpl.SameGeometry(BoundingRect, ISurface, BoundingRect, Double, out ModOp2D)
| Improve this Doc View Source

UDirection(GeoPoint2D)

Overrides UDirection(GeoPoint2D)

Declaration
public override GeoVector UDirection(GeoPoint2D uv)
Parameters
Type Name Description
GeoPoint2D uv
Returns
Type Description
GeoVector
Overrides
ISurfaceImpl.UDirection(GeoPoint2D)
| Improve this Doc View Source

VDirection(GeoPoint2D)

Overrides VDirection(GeoPoint2D)

Declaration
public override GeoVector VDirection(GeoPoint2D uv)
Parameters
Type Name Description
GeoPoint2D uv
Returns
Type Description
GeoVector
Overrides
ISurfaceImpl.VDirection(GeoPoint2D)

Explicit Interface Implementations

| Improve this Doc View Source

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Declaration
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
Parameters
Type Name Description
System.Runtime.Serialization.SerializationInfo info
System.Runtime.Serialization.StreamingContext context

Implements

ISurface
IOctTreeInsertable
System.Runtime.Serialization.ISerializable
  • Improve this Doc
  • View Source
In This Article
Back to top Generated by DocFX