Show / Hide Table of Contents

Class CylindricalSurfaceNP

A cylindrical surface, defined by a point (location), and axis (zAxis). The axis (zAxis) and the two vectors xAxis and yAxis build an orthogonal coordinate system. xAxis and yAxis have the same length, which define the radius of the cylinder. The length of the zAxis is the domain of the cylindrical surface. points outside this domain are defined, but not used. The 2d u/v system is defined by the plane through "location" which is spanned by xAxis and yAxis. For each point on the surface, there is a point in this plane, which is found by intersecting the line from (location-zAxis) to the surface point with the u/v plane. Thus all points of the domain on the surface are within an annulus with the cylinder radius and a hole of half the cylinder radius. The u/v system is not periodic and has no poles (except of the 2d origin, which is at the infinite end of the axis). When the orthogonal system of xAxis, yAxis and zAxis is right handed, the normal vectors point to the outside, otherwise they point to the inside. Circles, ellipses and lines in 3d correspond to circles, ellipses and lines in 2d. 3d ellipses with their center at (location-zAxis) degenerate to lines in 2d.

Inheritance
System.Object
ISurfaceImpl
CylindricalSurfaceNP
Implements
ISurface
IOctTreeInsertable
IJsonSerialize
System.Runtime.Serialization.ISerializable
IRestrictedDomain
Inherited Members
ISurfaceImpl.extrema
ISurfaceImpl.InvalidateSecondaryData()
ISurfaceImpl.GetNormal(GeoPoint2D)
ISurfaceImpl.DerivationAt(GeoPoint2D, GeoPoint, GeoVector, GeoVector)
ISurfaceImpl.GetLineIntersection(GeoPoint, GeoVector)
ISurfaceImpl.UPeriod
ISurfaceImpl.VPeriod
ISurfaceImpl.IsUClosed
ISurfaceImpl.IsVClosed
ISurfaceImpl.GetUSingularities()
ISurfaceImpl.GetVSingularities()
ISurfaceImpl.MakeFace(SimpleShape)
ISurfaceImpl.GetZMinMax(Projection, Double, Double, Double, Double, Double, Double)
ISurfaceImpl.MakeCanonicalForm()
ISurfaceImpl.Modify(ModOp)
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.GetOffsetSurface(Double, ModOp2D)
ISurfaceImpl.HitTest(BoundingCube, Double, Double, Double, Double)
ISurfaceImpl.HitTest(BoundingCube, GeoPoint2D)
ISurfaceImpl.Oriented
ISurfaceImpl.IsRuled
ISurfaceImpl.Orientation(GeoPoint)
ISurfaceImpl.GetSaveUSteps()
ISurfaceImpl.GetSaveVSteps()
ISurfaceImpl.GetExtrema()
ISurfaceImpl.GetPatchExtent(BoundingRect, Boolean)
ISurfaceImpl.GetPolynomialParameters()
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.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 CylindricalSurfaceNP : ISurfaceImpl, ISurface, IOctTreeInsertable, IJsonSerialize, ISerializable, IRestrictedDomain

Constructors

| Improve this Doc View Source

CylindricalSurfaceNP()

Declaration
protected CylindricalSurfaceNP()
| Improve this Doc View Source

CylindricalSurfaceNP(GeoPoint, GeoVector, GeoVector, GeoVector)

Declaration
public CylindricalSurfaceNP(GeoPoint location, GeoVector xAxis, GeoVector yAxis, GeoVector zAxis)
Parameters
Type Name Description
GeoPoint location
GeoVector xAxis
GeoVector yAxis
GeoVector zAxis
| Improve this Doc View Source

CylindricalSurfaceNP(GeoPoint, Double, GeoVector, Boolean, ICurve[])

Declaration
public CylindricalSurfaceNP(GeoPoint center, double radius, GeoVector axis, bool outwardOriented, ICurve[] orientedCurves)
Parameters
Type Name Description
GeoPoint center
System.Double radius
GeoVector axis
System.Boolean outwardOriented
ICurve[] orientedCurves
| Improve this Doc View Source

CylindricalSurfaceNP(SerializationInfo, StreamingContext)

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

Properties

| 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

UvChangesWithModification

Declaration
public override bool UvChangesWithModification { get; }
Property Value
Type Description
System.Boolean
Overrides
ISurfaceImpl.UvChangesWithModification

Methods

| Improve this Doc View Source

Clip(ICurve2D)

Declaration
public double[] Clip(ICurve2D curve)
Parameters
Type Name Description
ICurve2D curve
Returns
Type Description
System.Double[]
| Improve this Doc View Source

Clone()

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

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 p, out GeoVector du, out GeoVector dv, out GeoVector duu, out GeoVector dvv, out GeoVector duv)
Parameters
Type Name Description
GeoPoint2D uv
GeoPoint p
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)

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)

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

GetImplicitPolynomial()

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

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

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

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

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

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

IsInside(GeoPoint2D)

Declaration
public bool IsInside(GeoPoint2D uv)
Parameters
Type Name Description
GeoPoint2D uv
Returns
Type Description
System.Boolean
| Improve this Doc View Source

IsVanishingProjection(Projection, Double, Double, Double, Double)

Declaration
public override bool IsVanishingProjection(Projection p, double umin, double umax, double vmin, double vmax)
Parameters
Type Name Description
Projection p
System.Double umin
System.Double umax
System.Double vmin
System.Double vmax
Returns
Type Description
System.Boolean
Overrides
ISurfaceImpl.IsVanishingProjection(Projection, Double, Double, Double, Double)
| Improve this Doc View Source

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

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)

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()

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

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)

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)

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

IJsonSerialize.GetObjectData(IJsonWriteData)

Declaration
void IJsonSerialize.GetObjectData(IJsonWriteData data)
Parameters
Type Name Description
IJsonWriteData data
| Improve this Doc View Source

IJsonSerialize.SetObjectData(IJsonReadData)

Declaration
void IJsonSerialize.SetObjectData(IJsonReadData data)
Parameters
Type Name Description
IJsonReadData data
| 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
IJsonSerialize
System.Runtime.Serialization.ISerializable
IRestrictedDomain
  • Improve this Doc
  • View Source
In This Article
Back to top Generated by DocFX