CurveAttributeKit

class HPS.CurveAttributeKit : public HPS.Kit

The HPS.CurveAttributeKit class is a user space object, useful for carrying a group attribute settings. Calling HPS.CurveAttributeKit.GetDefault() will return a kit with values found in this table.

Public Functions

CurveAttributeKit ()

Initializes an empty kit.

CurveAttributeKit (HPS.CurveAttributeKit in_kit)

The copy constructor creates a new CurveAttributeKit object that contains the same settings as the source object.

Param in_kit

The source object to copy.

override void Dispose ()
override bool Empty ()

Indicates whether this object has any values set on it.

Return

true if no values are set on this object, false otherwise.

bool Equals (HPS.CurveAttributeKit in_kit)

Check if the source CurveAttributeKit is equivalent to this object.

Param in_kit

The source CurveAttributeKit to compare to this object.

Return

true if the objects are equivalent, false otherwise.

override bool Equals (Object obj)
override int GetHashCode ()
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.CurveAttributeKit in_kit)

Copies all settings from the source CurveAttributeKit into this object.

Param in_kit

The source CurveAttributeKit to copy.

HPS.CurveAttributeKit SetBudget (ulong in_budget)
HPS.CurveAttributeKit 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.CurveAttributeKit 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.CurveAttributeKit 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.CurveAttributeKit 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.CurveAttributeKit 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.CurveAttributeKit 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.CurveAttributeKit 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.

void Show (out HPS.CurveAttributeKit out_kit)

Copies all settings from this CurveAttributeKit into the given CurveAttributeKit.

Param out_kit

The CurveAttributeKit to populate with the contents of 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.CurveAttributeKit UnsetBudget ()

Removes the budget setting.

Return

A reference to this object.

HPS.CurveAttributeKit UnsetContinuedBudget ()

Removes the continued budget setting.

Return

A reference to this object.

HPS.CurveAttributeKit UnsetEverything ()

Removes all settings from this object.

Return

A reference to this object.

HPS.CurveAttributeKit UnsetMaximumAngle ()

Removes the maximum angle setting.

Return

A reference to this object.

HPS.CurveAttributeKit UnsetMaximumDeviation ()

Removes the maximum deviation setting.

Return

A reference to this object.

HPS.CurveAttributeKit UnsetMaximumLength ()

Removes the maximum length setting.

Return

A reference to this object.

HPS.CurveAttributeKit UnsetViewDependent ()

Removes the view-dependent setting.

Return

A reference to this object.

Public Static Functions

HPS.CurveAttributeKit GetDefault ()

Creates a CurveAttributeKit which contains the default settings. The returned object will not necessarily have values set for every option, but it will have settings for those options where it is reasonable to have a default.

Return

A CurveAttributeKit with the default settings.

bool operator!= (HPS.CurveAttributeKit a, HPS.CurveAttributeKit b)
bool operator== (HPS.CurveAttributeKit a, HPS.CurveAttributeKit b)