NURBSCurveKey

class HPS.NURBSCurveKey : public HPS.GeometryKey

The NURBSCurveKey class is a smart pointer to a database object. It is a handle to a NURBS curve inserted via SegmentKey.InsertNURBSCurve.

Public Functions

void Consume (HPS.NURBSCurveKit in_kit)

Completely replaces all settings on this NURBSCurveKey with those set on the specified kit and resets the kit.

Param in_kit

The kit from which to get the settings to replace on this NURBSCurveKey.

override void Dispose ()
HPS.NURBSCurveKey EditKnotsByReplacement (ulong in_offset, float[] in_knots)

Replaces knots for this NURBSCurveKey. It is possible to edit these knots even if no knots were specified (i.e., default knots were used) when the NURBS curve was inserted.

Param in_offset

The offset into the knots for this NURBS curve at which to start replacing knots. This value must be such that in_offset<control_point_count+degree+1 for replacement to succeed.

Param in_knots

The knots to use to replace those at the specified offset. The size of the array must be such that in_offset+in_knots.size()<=control_point_count+degree+1 for the replacement to succeed.

Return

A reference to this NURBSCurveKey.

HPS.NURBSCurveKey EditPointsByReplacement (ulong in_offset, HPS.Point[] in_points)

Replaces control points for this NURBSCurveKey.

Param in_offset

The offset into the control points for this NURBS curve at which to start replacing points. This value must be such that in_offset<control_point_count for replacement to succeed.

Param in_points

The points to use to replace those in the control point list at the specified offset. The size of the array must be such that such that in_offset+in_points.size()<=control_point_count for the replacement to succeed.

Return

A reference to this NURBSCurveKey.

HPS.NURBSCurveKey EditWeightsByReplacement (ulong in_offset, float[] in_weights)

Replaces control point weights for this NURBSCurveKey. It is possible to edit control point weights even if no weights were specified (i.e., default weights were used) when the NURBS curve was inserted.

Param in_offset

The offset into the control point weights for this NURBS curve at which to start replacing weights. This value must be such that in_offset<control_point_count for replacement to succeed.

Param in_weights

The weights to use to replace those in the control point weight list at the specified offset. The size of the array must be such that such that in_offset+in_weights.size()<=control_point_count for the replacement to succeed.

Return

A reference to this NURBSCurveKey.

ulong GetPointCount ()

Retrieves the number of points in this NURBS curve.

Return

The number of points in this NURBS curve.

NURBSCurveKey ()

The default constructor creates an uninitialized NURBSCurveKey object. The Type() function will return Type.None.

NURBSCurveKey (HPS.Key in_that)

This constructor creates a NURBSCurveKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a NURBSCurve key. Otherwise the copy will fail and the resulting NURBSCurveKey will be invalid.

NURBSCurveKey (HPS.NURBSCurveKey in_that)

The copy constructor creates a NURBSCurveKey object that shares the underlying smart-pointer of the source NURBSCurveKey.

Param in_that

The source NURBSCurveKey to copy.

override HPS.Type ObjectType ()

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Return

The declared type of the object in question, which may differ from the true, underlying type.

void Set (HPS.NURBSCurveKit in_kit)

Replace those settings on this NURBSCurveKey with those set on the specified kit.

Param in_kit

The kit from which to get the settings to replace on this NURBSCurveKey.

HPS.NURBSCurveKey SetParameters (float in_start, float in_end)

Sets the normalized start and end parameters for this NURBSCurveKey.

Param in_start

The start parameter. This value should be in the range [0,1] and should be defined such that in_start<=in_end.

Param in_end

The end parameter. This value should be in the range [0,1] and should be defined such that in_start<=in_end.

Return

A reference to this NURBSCurveKey.

void Show (out HPS.NURBSCurveKit out_kit)

Copy the contents of this NURBSCurveKey into the specified kit.

Param out_kit

The kit to populate with the contents of this NURBSCurveKey.

bool ShowDegree (out ulong out_degree)

Shows the degree of this NURBSCurveKey.

Param out_degree

The degree of this NURBSCurveKey.

Return

true if a degree was set, false otherwise.

bool ShowKnots (out float[] out_knots)

Shows the knots for this NURBSCurveKey.

Param out_knots

The knots for this NURBSCurveKey.

Return

true if knots were set, false otherwise.

bool ShowParameters (out float out_start, out float out_end)

Shows the normalized start and end parameters for this NURBSCurveKey.

Param out_start

The normalized start parameter for this NURBSCurveKey.

Param out_end

The normalized end parameter for this NURBSCurveKey.

Return

true if start and end parameters were set, false otherwise.

bool ShowPoints (out HPS.Point[] out_points)

Shows the control points for this NURBSCurveKey.

Param out_points

The control points for this NURBSCurveKey.

Return

true if control points were set, false otherwise.

bool ShowPointsByList (ulong[] in_indices, out HPS.Point[] out_points)

Show a subset of the points for this NURBSCurveKey by list.

Param in_indices

The list of point indices to show.

Param out_points

The requested points for this NURBSCurveKey.

Return

true if all requested points were set, false otherwise.

bool ShowPointsByRange (ulong in_start_index, ulong in_count, out HPS.Point[] out_points)

Show a subset of the points for this NURBSCurveKey by range.

Param in_start_index

The first point to show.

Param in_count

The number of points to show.

Param out_points

The requested points for this NURBSCurveKey.

Return

true if all requested points were set, false otherwise.

bool ShowWeights (out float[] out_weights)

Shows the control point weights for this NURBSCurveKey.

Param out_weights

The control point weights for this NURBSCurveKey.

Return

true if control point weights were set, false otherwise.