Class NurbsSurface
Inheritance
System.Object
NurbsSurface
Implements
System.Runtime.Serialization.ISerializable
System.Runtime.Serialization.IDeserializationCallback
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 NurbsSurface : ISurfaceImpl, ISurface, IOctTreeInsertable, ISerializable, IDeserializationCallback, IExportStep
Constructors
|
Improve this Doc
View Source
NurbsSurface(GeoPoint[,], Double[,], Double[], Double[], Int32, Int32, Boolean, Boolean)
Creates a new NURBS surface with the given data.
Declaration
public NurbsSurface(GeoPoint[, ] poles, double[, ] weights, double[] uKnots, double[] vKnots, int uDegree, int vDegree, bool uPeriodic, bool vPeriodic)
Parameters
| Type |
Name |
Description |
| GeoPoint[,] |
poles |
the poles
|
| System.Double[,] |
weights |
the weight of the poles
|
| System.Double[] |
uKnots |
the knots in u direction (multiple knots may have the same value)
|
| System.Double[] |
vKnots |
the knots in v direction (multiple knots may have the same value)
|
| System.Int32 |
uDegree |
the degree in u direction
|
| System.Int32 |
vDegree |
the degree in v direction
|
| System.Boolean |
uPeriodic |
closed in u direction
|
| System.Boolean |
vPeriodic |
closed in v direction
|
|
Improve this Doc
View Source
NurbsSurface(GeoPoint[,], Double[,], Double[], Double[], Int32[], Int32[], Int32, Int32, Boolean, Boolean)
Creates a new NURBS surface with the given data.
Declaration
public NurbsSurface(GeoPoint[, ] poles, double[, ] weights, double[] uKnots, double[] vKnots, int[] uMults, int[] vMults, int uDegree, int vDegree, bool uPeriodic, bool vPeriodic)
Parameters
| Type |
Name |
Description |
| GeoPoint[,] |
poles |
the poles
|
| System.Double[,] |
weights |
the weight of the poles
|
| System.Double[] |
uKnots |
the knots in u direction (no duplicate values)
|
| System.Double[] |
vKnots |
the knots in v direction (no duplicate values)
|
| System.Int32[] |
uMults |
the multiplicities in u direction
|
| System.Int32[] |
vMults |
the multiplicities in v direction
|
| System.Int32 |
uDegree |
the degree in u direction
|
| System.Int32 |
vDegree |
the degree in v direction
|
| System.Boolean |
uPeriodic |
closed in u direction
|
| System.Boolean |
vPeriodic |
closed in v direction
|
|
Improve this Doc
View Source
NurbsSurface(GeoPoint[,], Int32, Int32, Boolean, Boolean)
Creates a new NURBS surface which interpolates the provided points. The surface will contain the provided points exactely
and smoothly interpolated inbetween. The points are organized in a two dimensional array resembling the u and v direction
(first and second index) of the NURBS surface
Declaration
public NurbsSurface(GeoPoint[, ] throughPoints, int maxUDegree, int maxVDegree, bool uPeriodic, bool vPeriodic)
Parameters
| Type |
Name |
Description |
| GeoPoint[,] |
throughPoints |
Points to be interpolated
|
| System.Int32 |
maxUDegree |
The maximum degree in respect of the first index
|
| System.Int32 |
maxVDegree |
The maximum degree in respect of the second index
|
| System.Boolean |
uPeriodic |
Periodicy in respect of the first index
|
| System.Boolean |
vPeriodic |
Periodicy in respect of the second index
|
|
Improve this Doc
View Source
NurbsSurface(GeoPoint[,], Int32, Int32, Double[], Double[], Boolean, Boolean)
Declaration
public NurbsSurface(GeoPoint[, ] throughPoints, int maxUDegree, int maxVDegree, double[] uKnots, double[] vKnots, bool uPeriodic, bool vPeriodic)
Parameters
| Type |
Name |
Description |
| GeoPoint[,] |
throughPoints |
|
| System.Int32 |
maxUDegree |
|
| System.Int32 |
maxVDegree |
|
| System.Double[] |
uKnots |
|
| System.Double[] |
vKnots |
|
| System.Boolean |
uPeriodic |
|
| System.Boolean |
vPeriodic |
|
|
Improve this Doc
View Source
NurbsSurface(SerializationInfo, StreamingContext)
Declaration
protected NurbsSurface(SerializationInfo info, StreamingContext context)
Parameters
| Type |
Name |
Description |
| System.Runtime.Serialization.SerializationInfo |
info |
|
| System.Runtime.Serialization.StreamingContext |
context |
|
Properties
|
Improve this Doc
View Source
isRational
Declaration
public bool isRational { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
IsRuled
Declaration
public override RuledSurfaceMode IsRuled { get; }
Property Value
Overrides
|
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
Poles
Declaration
public GeoPoint[, ] Poles { get; }
Property Value
|
Improve this Doc
View Source
UDegree
Declaration
public int UDegree { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
UKnots
Declaration
public double[] UKnots { 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
|
Improve this Doc
View Source
VDegree
Declaration
public int VDegree { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
VKnots
Declaration
public double[] VKnots { get; }
Property Value
| Type |
Description |
| System.Double[] |
|
|
Improve this Doc
View Source
VPeriod
Declaration
public override double VPeriod { get; }
Property Value
| Type |
Description |
| System.Double |
|
Overrides
|
Improve this Doc
View Source
Weights
Declaration
public double[, ] Weights { get; }
Property Value
| Type |
Description |
| System.Double[,] |
|
Methods
|
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 location, out GeoVector du, out GeoVector dv, out GeoVector duu, out GeoVector dvv, out GeoVector duv)
Parameters
Overrides
|
Improve this Doc
View Source
DerivationAt(GeoPoint2D, out GeoPoint, out GeoVector, out GeoVector)
Declaration
public override void DerivationAt(GeoPoint2D uv, out GeoPoint location, out GeoVector du, out GeoVector dv)
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
Declaration
public override ISurface GetCanonicalForm(double precision, BoundingRect? bounds)
Parameters
| Type |
Name |
Description |
| System.Double |
precision |
|
| System.Nullable<BoundingRect> |
bounds |
|
Returns
Overrides
|
Improve this Doc
View Source
Declaration
public ISurface GetCanonicalFormOld(double precision, BoundingRect? bounds)
Parameters
| Type |
Name |
Description |
| System.Double |
precision |
|
| System.Nullable<BoundingRect> |
bounds |
|
Returns
|
Improve this Doc
View Source
GetExtrema()
Declaration
public override GeoPoint2D[] GetExtrema()
Returns
Overrides
|
Improve this Doc
View Source
GetLineIntersection(GeoPoint, GeoVector)
Declaration
public override GeoPoint2D[] GetLineIntersection(GeoPoint startPoint, GeoVector direction)
Parameters
Returns
Overrides
|
Improve this Doc
View Source
GetMaximumExtent()
Declaration
public BoundingRect GetMaximumExtent()
Returns
|
Improve this Doc
View Source
GetModified(ModOp)
Declaration
public override ISurface GetModified(ModOp m)
Parameters
| Type |
Name |
Description |
| ModOp |
m |
how to modify
|
Returns
| Type |
Description |
| ISurface |
modified surface
|
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
GetNonPeriodicSurface(ICurve[])
Declaration
public override ISurface GetNonPeriodicSurface(ICurve[] orientedCurves)
Parameters
| Type |
Name |
Description |
| ICurve[] |
orientedCurves |
|
Returns
Overrides
|
Improve this Doc
View Source
GetNormal(GeoPoint2D)
Declaration
public override GeoVector GetNormal(GeoPoint2D uv)
Parameters
Returns
Overrides
|
Improve this Doc
View Source
GetOffsetSurface(Double)
Declaration
public override ISurface GetOffsetSurface(double offset)
Parameters
| Type |
Name |
Description |
| System.Double |
offset |
|
Returns
Overrides
|
Improve this Doc
View Source
GetPatchExtent(BoundingRect, Boolean)
Declaration
public override BoundingCube GetPatchExtent(BoundingRect uvPatch, bool rough)
Parameters
| Type |
Name |
Description |
| BoundingRect |
uvPatch |
|
| System.Boolean |
rough |
|
Returns
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
GetSaveUSteps()
Declaration
protected override double[] GetSaveUSteps()
Returns
| Type |
Description |
| System.Double[] |
|
Overrides
|
Improve this Doc
View Source
GetSaveVSteps()
Declaration
protected override double[] GetSaveVSteps()
Returns
| Type |
Description |
| System.Double[] |
|
Overrides
|
Improve this Doc
View Source
GetSimpleSurface(Double, out ISurface, out ModOp2D)
Returns true if this NurbsSurface can be represented as a simpler surface. Simple surfaces have
better performances.
Declaration
public bool GetSimpleSurface(double precision, out ISurface simpleSurface, out ModOp2D reparametrisation)
Parameters
| Type |
Name |
Description |
| System.Double |
precision |
The precision within the simpler surface must approximate this surface (0.0: use global Precision)
|
| ISurface |
simpleSurface |
the found surface or null
|
| ModOp2D |
reparametrisation |
the needed reparametrisation of the uv space from this surface to the surface found
|
Returns
| Type |
Description |
| System.Boolean |
true, if simpler form exists
|
|
Improve this Doc
View Source
GetUSingularities()
Declaration
public override double[] GetUSingularities()
Returns
| Type |
Description |
| System.Double[] |
|
Overrides
|
Improve this Doc
View Source
GetVSingularities()
Declaration
public override double[] GetVSingularities()
Returns
| Type |
Description |
| System.Double[] |
|
Overrides
|
Improve this Doc
View Source
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
|
Improve this Doc
View Source
HasDiscontinuousDerivative(out ICurve2D[])
Declaration
public override bool HasDiscontinuousDerivative(out ICurve2D[] discontinuities)
Parameters
| Type |
Name |
Description |
| ICurve2D[] |
discontinuities |
|
Returns
| Type |
Description |
| System.Boolean |
|
Overrides
|
Improve this Doc
View Source
HitTest(BoundingCube, out GeoPoint2D)
Declaration
public override bool HitTest(BoundingCube cube, out GeoPoint2D uv)
Parameters
Returns
| Type |
Description |
| System.Boolean |
|
Overrides
|
Improve this Doc
View Source
Intersect(BoundingRect, ISurface, BoundingRect)
Declaration
public override ICurve[] Intersect(BoundingRect thisBounds, ISurface other, BoundingRect otherBounds)
Parameters
Returns
Overrides
|
Improve this Doc
View Source
Intersect(ICurve, BoundingRect, out GeoPoint[], out GeoPoint2D[], out Double[])
Declaration
public override void Intersect(ICurve curve, BoundingRect uvExtent, out GeoPoint[] ips, out GeoPoint2D[] uvOnFaces, out double[] uOnCurve3Ds)
Parameters
Overrides
|
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
MaxDist(GeoPoint2D, GeoPoint2D, out GeoPoint2D)
Declaration
public override double MaxDist(GeoPoint2D sp, GeoPoint2D ep, out GeoPoint2D mp)
Parameters
Returns
| Type |
Description |
| System.Double |
|
Overrides
|
Improve this Doc
View Source
Modify(ModOp)
Declaration
public override void Modify(ModOp m)
Parameters
| Type |
Name |
Description |
| ModOp |
m |
|
Overrides
|
Improve this Doc
View Source
PointAt(GeoPoint2D)
Declaration
public override GeoPoint PointAt(GeoPoint2D uv)
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
TrimmU(Double, Double)
Declaration
public NurbsSurface TrimmU(double u0, double u1)
Parameters
| Type |
Name |
Description |
| System.Double |
u0 |
|
| System.Double |
u1 |
|
Returns
|
Improve this Doc
View Source
TrimmV(Double, Double)
Declaration
public NurbsSurface TrimmV(double v0, double v1)
Parameters
| Type |
Name |
Description |
| System.Double |
v0 |
|
| System.Double |
v1 |
|
Returns
|
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
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)
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
System.Runtime.Serialization.IDeserializationCallback