Finalizer
~BezierSurface
#~BezierSurface()
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
Properties
Gets a value indicating whether or not the surface is rational. Rational surfaces have control-points with custom weights.
Methods
Number of control vertices in this surface
Parameters:
| direction (int) | 0 for first parameter's domain, 1 for second parameter's domain. |
Loft a bezier surface through a list of bezier curves.
Parameters:
| curves (IEnumerable<BezierCurve>) | list of curves that have the same degree |
Returns: new bezier curve if successful
public void Dispose()
Actively reclaims unmanaged resources that this instance uses.
Dispose
#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.
Parameters:
| disposing (bool) | true if the call comes from the Dispose() method; false if it comes from the Garbage Collector finalizer. |
Gets the domain in a direction.
Parameters:
| direction (int) | 0 gets first parameter, 1 gets second parameter. |
Returns: An interval value.
Bounding box solver. Gets the world axis aligned bounding box for the surface.
Parameters:
| accurate (bool) | This parameter is currently ignored. |
Returns: The bounding box of the geometry in world coordinates or BoundingBox.Empty if not bounding box could be found.
Get location of a control vertex.
Parameters:
| i (int) | Control vertex index (0 <= index < ControlVertexCount) |
| j (int) | Control vertex index (0 <= index < ControlVertexCount) |
Returns: If the bezier is rational, the euclidean location is returned.
Exceptions:
| ArgumentOutOfRangeException | when i or j is out of range |
Get location of a control vertex.
Parameters:
| i (int) | Control vertex index (0 <= index < ControlVertexCount) |
| j (int) | Control vertex index (0 <= index < ControlVertexCount) |
Returns: If the bezier is rational, the euclidean location is returned.
Exceptions:
| ArgumentOutOfRangeException | when i or j is out of range |
Get location of a control vertex.
Parameters:
| i (int) | Control vertex index (0 <= index < ControlVertexCount) |
| j (int) | Control vertex index (0 <= index < ControlVertexCount) |
Returns: Homogeneous value of control vertex. If the bezier is not rational, the weight is 1.
Exceptions:
| ArgumentOutOfRangeException | when index is out of range |
Make bezier non-rational
Returns: true if successful
Evaluates point at a surface parameter.
Reverses parameterization Domain changes from [a,b] to [-b,-a]
Parameters:
| direction (int) | 0 for first parameter's domain, 1 for second parameter's domain. |
Returns: a new reversed surface on success.
[ConstOperation]
public bool Split(int direction, double t, out BezierSurface left, out BezierSurface right)
Divides the Bezier surface at the specified parameter.
Parameters:
| 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) |
Returns: true on success
Constructs a NURBS surface representation of this surface.
Returns: NURBS representation of the surface on success, null on failure.
Transforms the surface
Parameters:
| xform (Transform) | Transformation to apply to geometry. |
Returns: true if geometry successfully transformed.
Transposes surface parameterization (swap U and V)
Returns: New transposed surface on success, null on failure.