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.