CurveAttributeControl

class HPS.CurveAttributeControl : public HPS.Control

The HPS.CurveAttributeControl class is a smart pointer that is tied to a database object. This object is used to manipulate the various attributes related to curved lines, such as budget, angle, deviation, and length. This table lists default values for the various segment attributes accessible from HPS.CurveAttributeControl.

Public Functions

CurveAttributeControl (HPS.CurveAttributeControl in_that)

Initializes a control tied to the same object as in_that.

CurveAttributeControl (HPS.SegmentKey in_seg)

Initializes a control tied to the segment in_seg.

override void Dispose ()
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.

HPS.CurveAttributeControl SetBudget (ulong in_budget)

Sets the upper boundary of the number of vertices that will be allowed in the tessellation of curves, regardless of view settings.

Param in_budget

The number of vertices that will be allowed in the tessellation of curves.

Return

A reference to this object.

HPS.CurveAttributeControl SetContinuedBudget (bool in_state)

Sets the number of additional vertices will be allocated to the overall curve for each control point beyond the degree of the curve plus one. A curve with a number of control points equal to the degree plus one will have a number of vertices equal to the budget. Curves with more control points than that number will have additional vertices equal to the continued budget for each extra control point.

Param in_state

Whether the continued budget will be used at all.

Return

A reference to this object.

HPS.CurveAttributeControl SetContinuedBudget (bool in_state, ulong in_budget)

Sets the number of additional vertices will be allocated to the overall curve for each control point beyond the degree of the curve plus one. A curve with a number of control points equal to the degree plus one will have a number of vertices equal to the budget. Curves with more control points than that number will have additional vertices equal to the continued budget for each extra control point.

Param in_state

Whether the continued budget will be used at all.

Param in_budget

The number of additional vertices that will be allocated to the overall curve.

Return

A reference to this object.

HPS.CurveAttributeControl SetContinuedBudget (ulong in_budget)

Sets the number of additional vertices will be allocated to the overall curve for each control point beyond the degree of the curve plus one. A curve with a number of control points equal to the degree plus one will have a number of vertices equal to the budget. Curves with more control points than that number will have additional vertices equal to the continued budget for each extra control point. The state is implicitly on.

Param in_budget

The number of additional vertices that will be allocated to the overall curve.

Return

A reference to this object.

HPS.CurveAttributeControl SetMaximumAngle (float in_degrees)

Sets the largest angle allowed, in degrees, between adjacent line segments in the tessellated representation. Applies to view-independent curves only.

Param in_degrees

The largest angle allowed between adjacent line segments.

Return

A reference to this object.

HPS.CurveAttributeControl SetMaximumDeviation (float in_deviation)

Sets the distance in object space from the parametric definition of the curve to its tessellated counterpart.

Param in_deviation

The distance in object space from the parametric definition.

Return

A reference to this object.

HPS.CurveAttributeControl SetMaximumLength (float in_length)

Sets the largest allowable length, in the curve’s normalized [0,1] parametric space, of any line segment. Applies to view-independent curves only.

Param in_length

The largest allowable length of any line segment.

Return

A reference to this object.

HPS.CurveAttributeControl SetViewDependent (bool in_state)

Sets whether curves should be rendered in a view-dependent or view-independent manner. The tessellation of view-dependent curves is adjusted to maintain a smooth curve with the current camera setting. View-independent curves are statically tessellated based on the curve attribute settings. View-independent is less computationally intensive but can result in curves that do not look smooth with certain camera settings.

Param in_state

Whether curves should be rendered in a view-dependent manner.

Return

A reference to this object.

bool ShowBudget (out ulong out_budget)

Shows the upper boundary of the number of vertices that will be allowed in the tessellation of curves, regardless of view settings.

Param out_budget

The number of vertices that will be allowed in the tessellation of curves.

Return

true if the setting is valid, false otherwise.

bool ShowContinuedBudget (out bool out_state, out ulong out_budget)

Shows the number of additional vertices will be allocated to the overall curve for each control point beyond the degree of the curve plus one.

Param out_state

Whether the continued budget will be used at all.

Param out_budget

The number of additional vertices that will be allocated to the overall curve.

Return

true if the setting is valid, false otherwise.

bool ShowMaximumAngle (out float out_degrees)

Shows the largest angle allowed, in degrees, between adjacent line segments in the tessellated representation. Applies to view-independent curves only.

Param out_degrees

The largest angle allowed between adjacent line segments.

Return

true if the setting is valid, false otherwise.

bool ShowMaximumDeviation (out float out_deviation)

Shows the distance in object space from the parametric definition of the curve to its tessellated counterpart. Applies to view-independent curves only.

Param out_deviation

The distance in object space from the parametric definition.

Return

true if the setting is valid, false otherwise.

bool ShowMaximumLength (out float out_length)

Shows the largest allowable length, in the curve’s normalized [0,1] parametric space, of any line segment. Applies to view-independent curves only.

Param out_length

The largest allowable length of any line segment.

Return

true if the setting is valid, false otherwise.

bool ShowViewDependent (out bool out_state)

Shows whether curves should be rendered in a view-dependent or view-independent manner.

Param out_state

Whether curves should be rendered in a view-dependent manner.

Return

true if the setting is valid, false otherwise.

HPS.CurveAttributeControl UnsetBudget ()

Removes the budget setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CurveAttributeControl UnsetContinuedBudget ()

Removes the continued budget setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CurveAttributeControl UnsetEverything ()

Removes all settings from this object. If the control is attached to a WindowKey this function restores the default settings of this control as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CurveAttributeControl UnsetMaximumAngle ()

Removes the maximum angle setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CurveAttributeControl UnsetMaximumDeviation ()

Removes the maximum deviation setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CurveAttributeControl UnsetMaximumLength ()

Removes the maximum length setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.

HPS.CurveAttributeControl UnsetViewDependent ()

Removes the view-dependent setting. If the control is attached to a WindowKey this function restores the default value of this setting as specified by CurveAttributeKit.GetDefault().

Return

A reference to this object.