BezierSurface

References
public class BezierSurface : IDisposable
Represents a Bezier surface.

Finalizer

~BezierSurface

#
~BezierSurface()
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().

Properties

Dimension

#Since v7.1
public int Dimension { get; }
Dimension of Bezier

IsRational

#Since v7.1
public bool IsRational { get; }
Gets a value indicating whether or not the surface is rational. Rational surfaces have control-points with custom weights.

IsValid

#Since v7.1
public bool IsValid { get; }
Tests an object to see if it is valid.

Methods

ControlVertexCount

#Since v7.1
public int ControlVertexCount(int direction)
Number of control vertices in this surface
direction (int)0 for first parameter's domain, 1 for second parameter's domain.

CreateLoftedBezier

#Since v7.1
public static BezierSurface CreateLoftedBezier(IEnumerable<BezierCurve> curves)
Loft a bezier surface through a list of bezier curves.
curves (IEnumerable<BezierCurve>)list of curves that have the same degree
new bezier curve if successful

Dispose

#Since v5.0
public void Dispose()
Actively reclaims unmanaged resources that this instance uses.

Dispose

#
protected virtual void Dispose(bool disposing)
For derived class implementers.

This method is called with argument true when class user calls Dispose(), while with argument false when the Garbage Collector invokes the finalizer, or Finalize() method.

You must reclaim all used unmanaged resources in both cases, and can use this chance to call Dispose on disposable fields if the argument is true.

Also, you must call the base virtual method within your overriding method.

disposing (bool)true if the call comes from the Dispose() method; false if it comes from the Garbage Collector finalizer.

Domain

#Since v7.1
[ConstOperation] public Interval Domain(int direction)
Gets the domain in a direction.
direction (int)0 gets first parameter, 1 gets second parameter.
An interval value.

GetBoundingBox

#Since v7.1
[ConstOperation] public BoundingBox GetBoundingBox(bool accurate)
Bounding box solver. Gets the world axis aligned bounding box for the surface.
accurate (bool)This parameter is currently ignored.
The bounding box of the geometry in world coordinates or BoundingBox.Empty if not bounding box could be found.

GetControlVertex2d

#Since v7.1
[ConstOperation] public Point2d GetControlVertex2d(int i, int j)
Get location of a control vertex.
i (int)Control vertex index (0 <= index < ControlVertexCount)
j (int)Control vertex index (0 <= index < ControlVertexCount)
If the bezier is rational, the euclidean location is returned.
ArgumentOutOfRangeExceptionwhen i or j is out of range

GetControlVertex3d

#Since v7.1
[ConstOperation] public Point3d GetControlVertex3d(int i, int j)
Get location of a control vertex.
i (int)Control vertex index (0 <= index < ControlVertexCount)
j (int)Control vertex index (0 <= index < ControlVertexCount)
If the bezier is rational, the euclidean location is returned.
ArgumentOutOfRangeExceptionwhen i or j is out of range

GetControlVertex4d

#Since v7.1
[ConstOperation] public Point4d GetControlVertex4d(int i, int j)
Get location of a control vertex.
i (int)Control vertex index (0 <= index < ControlVertexCount)
j (int)Control vertex index (0 <= index < ControlVertexCount)
Homogeneous value of control vertex. If the bezier is not rational, the weight is 1.
ArgumentOutOfRangeExceptionwhen index is out of range

MakeNonRational

#Since v7.1
public bool MakeNonRational()
Make bezier non-rational
true if successful

MakeRational

#Since v7.1
public bool MakeRational()
Make bezier rational
true if successful

PointAt

#Since v7.1
[ConstOperation] public Point3d PointAt(double u, double v)
Evaluates point at a surface parameter.
Remarks: No error handling.
u (double)evaluation parameters.
v (double)evaluation parameters.
Point (location of surface at the parameter u,v).

Reverse

#Since v7.1
[ConstOperation] public BezierSurface Reverse(int direction)
Reverses parameterization Domain changes from [a,b] to [-b,-a]
direction (int)0 for first parameter's domain, 1 for second parameter's domain.
a new reversed surface on success.

Split

#Since v7.1
[ConstOperation] public bool Split(int direction, double t, out BezierSurface left, out BezierSurface right)
Divides the Bezier surface at the specified parameter.
direction (int)0 is split along u and 1 is split along v
t (double)parameter must satisfy 0 < t < 1
left (out BezierSurface)
right (out BezierSurface)
true on success

ToNurbsSurface

#Since v7.1
[ConstOperation] public NurbsSurface ToNurbsSurface()
Constructs a NURBS surface representation of this surface.
NURBS representation of the surface on success, null on failure.

Transform

#Since v7.1
public bool Transform(Transform xform)
Transforms the surface
xform (Transform)Transformation to apply to geometry.
true if geometry successfully transformed.

Transpose

#Since v7.1
[ConstOperation] public BezierSurface Transpose()
Transposes surface parameterization (swap U and V)
New transposed surface on success, null on failure.