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
CylindricalSurfaceNP
Implements
System.Runtime.Serialization.ISerializable
Inherited Members
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()
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
|
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
|
Improve this Doc
View Source
IsVPeriodic
Declaration
public override bool IsVPeriodic { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
Overrides
|
Improve this Doc
View Source
UvChangesWithModification
Declaration
public override bool UvChangesWithModification { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
Overrides
Methods
|
Improve this Doc
View Source
Clip(ICurve2D)
Declaration
public double[] Clip(ICurve2D curve)
Parameters
Returns
| Type |
Description |
| System.Double[] |
|
|
Improve this Doc
View Source
Clone()
Declaration
public override ISurface Clone()
Returns
Overrides
|
Improve this Doc
View Source
CopyData(ISurface)
Declaration
public override void CopyData(ISurface CopyFrom)
Parameters
Overrides
|
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
Overrides
|
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
Overrides
|
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
Overrides
|
Improve this Doc
View Source
GetImplicitPolynomial()
Declaration
public override Polynom GetImplicitPolynomial()
Returns
Overrides
|
Improve this Doc
View Source
GetModified(ModOp)
Declaration
public override ISurface GetModified(ModOp m)
Parameters
| Type |
Name |
Description |
| ModOp |
m |
|
Returns
Overrides
|
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
|
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
Overrides
|
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
Overrides
|
Improve this Doc
View Source
GetPropertyEntry(IFrame)
Declaration
public override IPropertyEntry GetPropertyEntry(IFrame frame)
Parameters
| Type |
Name |
Description |
| IFrame |
frame |
|
Returns
Overrides
|
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
|
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
Overrides
|
Improve this Doc
View Source
IsInside(GeoPoint2D)
Declaration
public bool IsInside(GeoPoint2D uv)
Parameters
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
|
Improve this Doc
View Source
Make3dCurve(ICurve2D)
Declaration
public override ICurve Make3dCurve(ICurve2D curve2d)
Parameters
Returns
Overrides
|
Improve this Doc
View Source
PointAt(GeoPoint2D)
Declaration
public override GeoPoint PointAt(GeoPoint2D uv)
Parameters
Returns
Overrides
|
Improve this Doc
View Source
PositionOf(GeoPoint)
Declaration
public override GeoPoint2D PositionOf(GeoPoint p)
Parameters
Returns
Overrides
|
Improve this Doc
View Source
ReverseOrientation()
Declaration
public override ModOp2D ReverseOrientation()
Returns
Overrides
|
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
Returns
| Type |
Description |
| System.Boolean |
|
Overrides
|
Improve this Doc
View Source
UDirection(GeoPoint2D)
Declaration
public override GeoVector UDirection(GeoPoint2D uv)
Parameters
Returns
Overrides
|
Improve this Doc
View Source
VDirection(GeoPoint2D)
Declaration
public override GeoVector VDirection(GeoPoint2D uv)
Parameters
Returns
Overrides
Explicit Interface Implementations
|
Improve this Doc
View Source
IJsonSerialize.GetObjectData(IJsonWriteData)
Declaration
void IJsonSerialize.GetObjectData(IJsonWriteData data)
Parameters
|
Improve this Doc
View Source
IJsonSerialize.SetObjectData(IJsonReadData)
Declaration
void IJsonSerialize.SetObjectData(IJsonReadData data)
Parameters
|
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
System.Runtime.Serialization.ISerializable