CurveAttributeKit
-
class
HPS.CurveAttributeKit: 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)
-