Show / Hide Table of Contents

Class ConicalSurface

A conical surface which implements ISurface. The surface represents a circular or elliptical cone. The u parameter always describes a circle or ellipse, the v parameter a Line.

Inheritance
System.Object
ISurfaceImpl
ConicalSurface
Implements
ISurface
IOctTreeInsertable
System.Runtime.Serialization.ISerializable
System.Runtime.Serialization.IDeserializationCallback
ISurfaceOfRevolution
IExportStep
Inherited Members
ISurfaceImpl.extrema
ISurfaceImpl.InvalidateSecondaryData()
ISurfaceImpl.DerivationAt(GeoPoint2D, GeoPoint, GeoVector, GeoVector)
ISurfaceImpl.GetSafeParameterSteps(Double, Double, Double, Double, Double[], Double[])
ISurfaceImpl.IsVanishingProjection(Projection, Double, Double, Double, Double)
ISurfaceImpl.IsUClosed
ISurfaceImpl.IsVClosed
ISurfaceImpl.MakeFace(SimpleShape)
ISurfaceImpl.Approximate(Double, Double, Double, Double, Double)
ISurfaceImpl.Intersect(ICurve, BoundingRect, GeoPoint[], GeoPoint2D[], Double[])
ISurfaceImpl.Intersect(BoundingRect, ISurface, BoundingRect)
ISurfaceImpl.Intersect(BoundingRect, ISurface, BoundingRect, GeoPoint)
ISurfaceImpl.GetOffsetSurface(Double)
ISurfaceImpl.HitTest(BoundingCube, Double, Double, Double, Double)
ISurfaceImpl.GetSaveUSteps()
ISurfaceImpl.GetSaveVSteps()
ISurfaceImpl.GetPatchExtent(BoundingRect, Boolean)
ISurfaceImpl.GetImplicitPolynomial()
ISurfaceImpl.SetBounds(BoundingRect)
ISurfaceImpl.HasDiscontinuousDerivative(ICurve2D[])
ISurfaceImpl.GetPatchHull(BoundingRect, GeoPoint, GeoVector, GeoVector, GeoVector)
ISurfaceImpl.GetTouchingPoints(BoundingRect, ISurface, BoundingRect)
ISurfaceImpl.GetCanonicalForm(Double, Nullable<BoundingRect>)
ISurfaceImpl.PositionOf(GeoPoint, BoundingRect)
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.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.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 ConicalSurface : ISurfaceImpl, ISurface, IOctTreeInsertable, ISerializable, IDeserializationCallback, ISurfaceOfRevolution, IExportStep

Constructors

| Improve this Doc View Source

ConicalSurface(GeoPoint, GeoVector, GeoPoint, GeoVector, GeoPoint, GeoVector)

Declaration
public ConicalSurface(GeoPoint p1, GeoVector n1, GeoPoint p2, GeoVector n2, GeoPoint p3, GeoVector n3)
Parameters
Type Name Description
GeoPoint p1
GeoVector n1
GeoPoint p2
GeoVector n2
GeoPoint p3
GeoVector n3
| Improve this Doc View Source

ConicalSurface(GeoPoint, GeoVector, GeoVector, GeoVector, Double, Double)

Declaration
public ConicalSurface(GeoPoint apex, GeoVector dirx, GeoVector diry, GeoVector dirz, double semiAngle, double voffset = 0)
Parameters
Type Name Description
GeoPoint apex
GeoVector dirx
GeoVector diry
GeoVector dirz
System.Double semiAngle
System.Double voffset
| Improve this Doc View Source

ConicalSurface(SerializationInfo, StreamingContext)

Declaration
protected ConicalSurface(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

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

IsRuled

Declaration
public override RuledSurfaceMode IsRuled { get; }
Property Value
Type Description
RuledSurfaceMode
Overrides
ISurfaceImpl.IsRuled
| 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

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

OpeningAngle

Declaration
public Angle OpeningAngle { get; }
Property Value
Type Description
Angle
| 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

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

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

YAxis

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

ZAxis

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

Methods

| Improve this Doc View Source

AxisLine(Double, Double)

Declaration
public Line AxisLine(double vmin, double vmax)
Parameters
Type Name Description
System.Double vmin
System.Double vmax
Returns
Type Description
Line
| 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

FromTwoCircles(Ellipse, Ellipse)

The two provided circles must share a common axis and must have different radii. The resulting cone passes through the provided circles. If the conditions are not met, null will be returned.

Declaration
public static ConicalSurface FromTwoCircles(Ellipse c1, Ellipse c2)
Parameters
Type Name Description
Ellipse c1
Ellipse c2
Returns
Type Description
ConicalSurface
| Improve this Doc View Source

GetDualSurfaceCurves(BoundingRect, ISurface, BoundingRect, List<GeoPoint>, List<Tuple<Double, Double, Double, Double>>)

Declaration
public override IDualSurfaceCurve[] GetDualSurfaceCurves(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds, List<GeoPoint> seeds, List<Tuple<double, double, double, double>> extremePositions)
Parameters
Type Name Description
BoundingRect thisBounds
ISurface other
BoundingRect otherBounds
System.Collections.Generic.List<GeoPoint> seeds
System.Collections.Generic.List<System.Tuple<System.Double, System.Double, System.Double, System.Double>> extremePositions
Returns
Type Description
IDualSurfaceCurve[]
Overrides
ISurfaceImpl.GetDualSurfaceCurves(BoundingRect, ISurface, BoundingRect, List<GeoPoint>, List<Tuple<Double, Double, Double, Double>>)
| Improve this Doc View Source

GetExtrema()

Overrides GetExtrema()

Declaration
public override GeoPoint2D[] GetExtrema()
Returns
Type Description
GeoPoint2D[]
Overrides
ISurfaceImpl.GetExtrema()
| Improve this Doc View Source

GetExtremePositions(BoundingRect, ISurface, BoundingRect, out List<Tuple<Double, Double, Double, Double>>)

Declaration
public override int GetExtremePositions(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds, out List<Tuple<double, double, double, double>> extremePositions)
Parameters
Type Name Description
BoundingRect thisBounds
ISurface other
BoundingRect otherBounds
System.Collections.Generic.List<System.Tuple<System.Double, System.Double, System.Double, System.Double>> extremePositions
Returns
Type Description
System.Int32
Overrides
ISurfaceImpl.GetExtremePositions(BoundingRect, ISurface, BoundingRect, out List<Tuple<Double, Double, Double, Double>>)
| Improve this Doc View Source

GetLineIntersection(GeoPoint, GeoVector)

Overrides GetLineIntersection(GeoPoint, GeoVector)

Declaration
public override GeoPoint2D[] GetLineIntersection(GeoPoint startPoint, GeoVector direction)
Parameters
Type Name Description
GeoPoint startPoint
GeoVector direction
Returns
Type Description
GeoPoint2D[]
Overrides
ISurfaceImpl.GetLineIntersection(GeoPoint, GeoVector)
| 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

GetNonPeriodicSurface(ICurve[])

Declaration
public override ISurface GetNonPeriodicSurface(ICurve[] orientedCurves)
Parameters
Type Name Description
ICurve[] orientedCurves
Returns
Type Description
ISurface
Overrides
ISurfaceImpl.GetNonPeriodicSurface(ICurve[])
| 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, out ModOp2D)

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

GetPlaneIntersection(PlaneSurface, Double, Double, Double, Double, Double)

Overrides GetPlaneIntersection(PlaneSurface, Double, Double, Double, Double, Double)

Declaration
public override IDualSurfaceCurve[] GetPlaneIntersection(PlaneSurface pl, double umin, double umax, double vmin, double vmax, double precision)
Parameters
Type Name Description
PlaneSurface pl
System.Double umin
System.Double umax
System.Double vmin
System.Double vmax
System.Double precision
Returns
Type Description
IDualSurfaceCurve[]
Overrides
ISurfaceImpl.GetPlaneIntersection(PlaneSurface, Double, Double, Double, Double, Double)
| Improve this Doc View Source

GetPolynomialParameters()

Overrides GetPolynomialParameters()

Declaration
public override double[] GetPolynomialParameters()
Returns
Type Description
System.Double[]
Overrides
ISurfaceImpl.GetPolynomialParameters()
| Improve this Doc View Source

GetProjectedCurve(ICurve, Double)

Declaration
public override ICurve2D GetProjectedCurve(ICurve curve, double precision)
Parameters
Type Name Description
ICurve curve
System.Double precision
Returns
Type Description
ICurve2D
Overrides
ISurfaceImpl.GetProjectedCurve(ICurve, 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

GetTangentCurves(GeoVector, Double, Double, Double, Double)

Overrides GetTangentCurves(GeoVector, Double, Double, Double, Double)

Declaration
public override ICurve2D[] GetTangentCurves(GeoVector direction, double umin, double umax, double vmin, double vmax)
Parameters
Type Name Description
GeoVector direction
System.Double umin
System.Double umax
System.Double vmin
System.Double vmax
Returns
Type Description
ICurve2D[]
Overrides
ISurfaceImpl.GetTangentCurves(GeoVector, Double, Double, Double, Double)
| Improve this Doc View Source

GetUSingularities()

Declaration
public override double[] GetUSingularities()
Returns
Type Description
System.Double[]
Overrides
ISurfaceImpl.GetUSingularities()
| Improve this Doc View Source

GetVSingularities()

Implements GetVSingularities()

Declaration
public override double[] GetVSingularities()
Returns
Type Description
System.Double[]
Overrides
ISurfaceImpl.GetVSingularities()
| 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

HitTest(BoundingCube, out GeoPoint2D)

Overrides HitTest(BoundingCube, out GeoPoint2D)

Declaration
public override bool HitTest(BoundingCube bc, out GeoPoint2D uv)
Parameters
Type Name Description
BoundingCube bc
GeoPoint2D uv
Returns
Type Description
System.Boolean
Overrides
ISurfaceImpl.HitTest(BoundingCube, out GeoPoint2D)
| Improve this Doc View Source

Make3dCurve(ICurve2D)

Overrides Make3dCurve(ICurve2D)

Declaration
public override ICurve Make3dCurve(ICurve2D curve2d)
Parameters
Type Name Description
ICurve2D curve2d
Returns
Type Description
ICurve
Overrides
ISurfaceImpl.Make3dCurve(ICurve2D)
| Improve this Doc View Source

MakeCanonicalForm()

Overrides MakeCanonicalForm()

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

MaxDist(GeoPoint2D, GeoPoint2D, out GeoPoint2D)

Declaration
public override double MaxDist(GeoPoint2D sp, GeoPoint2D ep, out GeoPoint2D mp)
Parameters
Type Name Description
GeoPoint2D sp
GeoPoint2D ep
GeoPoint2D mp
Returns
Type Description
System.Double
Overrides
ISurfaceImpl.MaxDist(GeoPoint2D, GeoPoint2D, out GeoPoint2D)
| 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

PerpendicularFoot(GeoPoint)

Overrides PerpendicularFoot(GeoPoint)

Declaration
public override GeoPoint2D[] PerpendicularFoot(GeoPoint fromHere)
Parameters
Type Name Description
GeoPoint fromHere
Returns
Type Description
GeoPoint2D[]
Overrides
ISurfaceImpl.PerpendicularFoot(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

PositionOf(GeoPoint)

Overrides PositionOf(GeoPoint)

Declaration
public override GeoPoint2D PositionOf(GeoPoint p)
Parameters
Type Name Description
GeoPoint p
Returns
Type Description
GeoPoint2D
Overrides
ISurfaceImpl.PositionOf(GeoPoint)
| 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

ISurfaceOfRevolution.Axis

Declaration
Axis ISurfaceOfRevolution.Axis { get; }
Returns
Type Description
Axis
| Improve this Doc View Source

ISurfaceOfRevolution.Curve

Declaration
ICurve ISurfaceOfRevolution.Curve { get; }
Returns
Type Description
ICurve
| Improve this Doc View Source

IExportStep.Export(ExportStep, Boolean)

Declaration
int IExportStep.Export(ExportStep export, bool topLevel)
Parameters
Type Name Description
ExportStep export
System.Boolean topLevel
Returns
Type Description
System.Int32
| Improve this Doc View Source

IDeserializationCallback.OnDeserialization(Object)

Declaration
void IDeserializationCallback.OnDeserialization(object sender)
Parameters
Type Name Description
System.Object sender
| Improve this Doc View Source

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Implements System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)

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

The System.Runtime.Serialization.SerializationInfo to populate with data.

System.Runtime.Serialization.StreamingContext context

The destination (System.Runtime.Serialization.StreamingContext) for this serialization.

Implements

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