The HPS::NURBSSurfaceAttributeKit class is a user space object that contains settings related to NURBS surfaces. More...
#include <hps.h>
Public Member Functions | |
NURBSSurfaceAttributeKit () | |
Initializes an empty kit. More... | |
NURBSSurfaceAttributeKit (NURBSSurfaceAttributeKit const &in_kit) | |
The copy constructor creates a new NURBSSurfaceAttributeKit object that contains the same settings as the source object. More... | |
NURBSSurfaceAttributeKit (NURBSSurfaceAttributeKit &&in_that) | |
The move constructor creates a NURBSSurfaceAttributeKit by transferring the underlying impl of the rvalue reference to this NURBSSurfaceAttributeKit thereby avoiding a copy and allocation. More... | |
NURBSSurfaceAttributeKit & | operator= (NURBSSurfaceAttributeKit &&in_that) |
The move assignment operator transfers the underlying impl of the rvalue reference to this NURBSSurfaceAttributeKit thereby avoiding a copy. More... | |
virtual | ~NURBSSurfaceAttributeKit () |
Destroy this kit. More... | |
HPS::Type | ObjectType () const |
void | Set (NURBSSurfaceAttributeKit const &in_kit) |
Copies the source NURBSSurfaceAttributeKit into this object. More... | |
void | Show (NURBSSurfaceAttributeKit &out_kit) const |
Copies this object into the given NURBSSurfaceAttributeKit. More... | |
NURBSSurfaceAttributeKit & | operator= (NURBSSurfaceAttributeKit const &in_kit) |
Copies the source NURBSSurfaceAttributeKit into this object. More... | |
bool | Empty () const |
Indicates whether this object has any values set on it. More... | |
bool | Equals (NURBSSurfaceAttributeKit const &in_kit) const |
Check if the source NURBSSurfaceAttributeKit is equivalent to this object. More... | |
bool | operator== (NURBSSurfaceAttributeKit const &in_kit) const |
Check if the source NURBSSurfaceAttributeKit is equivalent to this object. More... | |
bool | operator!= (NURBSSurfaceAttributeKit const &in_kit) const |
Check if the source NURBSSurfaceAttributeKit is not equivalent to this object. More... | |
NURBSSurfaceAttributeKit & | SetBudget (size_t in_budget) |
Sets an upper bound on the number of vertices that will be allowed in the tessellation of NURBS surfaces. More... | |
NURBSSurfaceAttributeKit & | SetMaximumDeviation (float in_deviation) |
Sets an upper bound for the distance, in object space, of the tessellation to the parametric definition of the surface. More... | |
NURBSSurfaceAttributeKit & | SetMaximumAngle (float in_degrees) |
Sets the largest angle allowed between the surface tangents evaluated at any two corners of a given facet. More... | |
NURBSSurfaceAttributeKit & | SetMaximumWidth (float in_width) |
The largest allowable length, in the NURBS surface's normalized [0..1] parametric space, of any facet's edge. More... | |
NURBSSurfaceAttributeKit & | SetTrimBudget (size_t in_budget) |
Sets an upper bound on the number of vertices that will be allowed in the tessellation of a trim curve. More... | |
NURBSSurfaceAttributeKit & | SetMaximumTrimDeviation (float in_deviation) |
Sets an upper bound for the distance, in the NURBS surface's normalized [0..1] parametric space, of trim curve vertices from the parametric definition of the trimming curve. More... | |
NURBSSurfaceAttributeKit & | UnsetBudget () |
Removes the NURBS surface tessellation budget. More... | |
NURBSSurfaceAttributeKit & | UnsetMaximumDeviation () |
Removes the upper bound of the difference between the NURBS surface and its parametric definition. More... | |
NURBSSurfaceAttributeKit & | UnsetMaximumAngle () |
Removes the largest angle allowed between the surface tangents. More... | |
NURBSSurfaceAttributeKit & | UnsetMaximumWidth () |
Removes the setting for the largest allowable length of any facet's edge. More... | |
NURBSSurfaceAttributeKit & | UnsetTrimBudget () |
Removes the upper bound of vertices to be used in trim curve tessellation. More... | |
NURBSSurfaceAttributeKit & | UnsetMaximumTrimDeviation () |
Removes the upper bound of trim curve vertices from the parametric definition of the trimming curve. More... | |
NURBSSurfaceAttributeKit & | UnsetEverything () |
Removes all settings from this object. More... | |
bool | ShowBudget (size_t &out_budget) const |
Shows the NURBS surface tessellation budget. More... | |
bool | ShowMaximumDeviation (float &out_deviation) const |
Shows the upper bound of the difference between the NURBS surface and its parametric definition. More... | |
bool | ShowMaximumAngle (float &out_degrees) const |
Shows the largest angle allowed between the surface tangents. More... | |
bool | ShowMaximumWidth (float &out_width) const |
Shows the setting for the largest allowable length of any facet's edge. More... | |
bool | ShowTrimBudget (size_t &out_budget) const |
Shows the upper bound of vertices to be used in trim curve tessellation. More... | |
bool | ShowMaximumTrimDeviation (float &out_deviation) const |
Shows the upper bound of trim curve vertices from the parametric definition of the trimming curve. More... | |
virtual HPS::Type | Type () const |
This function returns the true type of the underlying object. More... | |
virtual void | Reset () |
Resets this object to its initial, uninitialized state. More... | |
bool | HasType (HPS::Type in_mask) const |
This function indicates whether this Object has the given Type mask. More... | |
intptr_t | GetClassID () const |
Returns a unique identifier that is shared by all objects of the same class. More... | |
intptr_t | GetInstanceID () const |
Returns an identifier that can be used to identify which instance of a class an object is. More... | |
Static Public Member Functions | |
static NURBSSurfaceAttributeKit | GetDefault () |
Creates a NURBSSurfaceAttributeKit which contains the default settings. More... | |
template<typename T > | |
static intptr_t | ClassID () |
Unique identifier for this class. More... | |
Static Public Attributes | |
static const HPS::Type | staticType = HPS::Type::NURBSSurfaceAttributeKit |
The HPS::NURBSSurfaceAttributeKit class is a user space object that contains settings related to NURBS surfaces.
Calling HPS::NURBSSurfaceAttributeKit::GetDefault() will return a kit with values found in this table.
HPS::NURBSSurfaceAttributeKit::NURBSSurfaceAttributeKit | ( | ) |
Initializes an empty kit.
HPS::NURBSSurfaceAttributeKit::NURBSSurfaceAttributeKit | ( | NURBSSurfaceAttributeKit const & | in_kit | ) |
The copy constructor creates a new NURBSSurfaceAttributeKit object that contains the same settings as the source object.
in_kit | The source object to copy. |
HPS::NURBSSurfaceAttributeKit::NURBSSurfaceAttributeKit | ( | NURBSSurfaceAttributeKit && | in_that | ) |
The move constructor creates a NURBSSurfaceAttributeKit by transferring the underlying impl of the rvalue reference to this NURBSSurfaceAttributeKit thereby avoiding a copy and allocation.
in_that | An rvalue reference to a NURBSSurfaceAttributeKit to take the impl from. |
|
virtual |
Destroy this kit.
|
inlinestaticinherited |
Unique identifier for this class.
Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.
|
virtual |
Indicates whether this object has any values set on it.
Reimplemented from HPS::Object.
bool HPS::NURBSSurfaceAttributeKit::Equals | ( | NURBSSurfaceAttributeKit const & | in_kit | ) | const |
Check if the source NURBSSurfaceAttributeKit is equivalent to this object.
in_kit | The source NURBSSurfaceAttributeKit to compare to this object. |
|
inherited |
Returns a unique identifier that is shared by all objects of the same class.
|
static |
Creates a NURBSSurfaceAttributeKit 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.
|
inherited |
Returns an identifier that can be used to identify which instance of a class an object is.
Different keys and controls will return the same value if they are backed by the same database resource.
|
inherited |
|
inlinevirtual |
bool HPS::NURBSSurfaceAttributeKit::operator!= | ( | NURBSSurfaceAttributeKit const & | in_kit | ) | const |
Check if the source NURBSSurfaceAttributeKit is not equivalent to this object.
in_kit | The source NURBSSurfaceAttributeKit to compare to this object. |
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::operator= | ( | NURBSSurfaceAttributeKit && | in_that | ) |
The move assignment operator transfers the underlying impl of the rvalue reference to this NURBSSurfaceAttributeKit thereby avoiding a copy.
in_that | An rvalue reference to a NURBSSurfaceAttributeKit to take the impl from. |
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::operator= | ( | NURBSSurfaceAttributeKit const & | in_kit | ) |
Copies the source NURBSSurfaceAttributeKit into this object.
in_kit | The source NURBSSurfaceAttributeKit to copy. |
bool HPS::NURBSSurfaceAttributeKit::operator== | ( | NURBSSurfaceAttributeKit const & | in_kit | ) | const |
Check if the source NURBSSurfaceAttributeKit is equivalent to this object.
in_kit | The source NURBSSurfaceAttributeKit to compare to this object. |
|
virtualinherited |
Resets this object to its initial, uninitialized state.
Reimplemented in HPS::EventHandler, HPS::EventDispatcher, HPS::World, HPS::HighlightSearchResults, HPS::HighlightSearchResultsIterator, HPS::SelectionResults, HPS::SelectionResultsIterator, HPS::FontSearchResults, HPS::FontSearchResultsIterator, HPS::SearchResults, and HPS::SearchResultsIterator.
void HPS::NURBSSurfaceAttributeKit::Set | ( | NURBSSurfaceAttributeKit const & | in_kit | ) |
Copies the source NURBSSurfaceAttributeKit into this object.
in_kit | The source object to copy. |
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::SetBudget | ( | size_t | in_budget | ) |
Sets an upper bound on the number of vertices that will be allowed in the tessellation of NURBS surfaces.
in_budget | The maximum number of vertices to be used in NURBS surface tessellation. |
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::SetMaximumAngle | ( | float | in_degrees | ) |
Sets the largest angle allowed between the surface tangents evaluated at any two corners of a given facet.
Expressed in degrees.
in_degrees | The maximum angle allowed between the surface tangents, in degrees. |
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::SetMaximumDeviation | ( | float | in_deviation | ) |
Sets an upper bound for the distance, in object space, of the tessellation to the parametric definition of the surface.
Note that since this setting is in object space, it should be set differently depending on the scale of the NURBS control points.
in_deviation | The maximum distance, in object space, of the tessellation to the parametric definition of the surface. |
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::SetMaximumTrimDeviation | ( | float | in_deviation | ) |
Sets an upper bound for the distance, in the NURBS surface's normalized [0..1] parametric space, of trim curve vertices from the parametric definition of the trimming curve.
in_deviation | The maximum distance, in object space, of the tessellation to the parametric definition of the trimming curve. |
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::SetMaximumWidth | ( | float | in_width | ) |
The largest allowable length, in the NURBS surface's normalized [0..1] parametric space, of any facet's edge.
in_width | The largest allowable length of any facet's edge. Valid range is [0, sqrt(2)]. |
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::SetTrimBudget | ( | size_t | in_budget | ) |
Sets an upper bound on the number of vertices that will be allowed in the tessellation of a trim curve.
in_budget | The maximum number of vertices to be used in trim curve tessellation. |
void HPS::NURBSSurfaceAttributeKit::Show | ( | NURBSSurfaceAttributeKit & | out_kit | ) | const |
Copies this object into the given NURBSSurfaceAttributeKit.
out_kit | The NURBSSurfaceAttributeKit to populate with the contents of this object. |
bool HPS::NURBSSurfaceAttributeKit::ShowBudget | ( | size_t & | out_budget | ) | const |
Shows the NURBS surface tessellation budget.
out_budget | The maximum number of vertices to be used in NURBS surface tessellation. |
bool HPS::NURBSSurfaceAttributeKit::ShowMaximumAngle | ( | float & | out_degrees | ) | const |
Shows the largest angle allowed between the surface tangents.
out_degrees | The maximum angle allowed between the surface tangents, in degrees. |
bool HPS::NURBSSurfaceAttributeKit::ShowMaximumDeviation | ( | float & | out_deviation | ) | const |
Shows the upper bound of the difference between the NURBS surface and its parametric definition.
out_deviation | The maximum distance, in object space, of the tessellation to the parametric definition of the surface. |
bool HPS::NURBSSurfaceAttributeKit::ShowMaximumTrimDeviation | ( | float & | out_deviation | ) | const |
Shows the upper bound of trim curve vertices from the parametric definition of the trimming curve.
out_deviation | The maximum distance, in object space, of the tessellation to the parametric definition of the trimming curve. |
bool HPS::NURBSSurfaceAttributeKit::ShowMaximumWidth | ( | float & | out_width | ) | const |
Shows the setting for the largest allowable length of any facet's edge.
out_width | The largest allowable length of any facet's edge.. |
bool HPS::NURBSSurfaceAttributeKit::ShowTrimBudget | ( | size_t & | out_budget | ) | const |
Shows the upper bound of vertices to be used in trim curve tessellation.
out_budget | The maximum number of vertices to be used in trim curve tessellation. |
|
inlinevirtualinherited |
This function returns the true type of the underlying object.
This function is useful for finding the type of smart pointer objects that have been cast to more generic types.
Reimplemented from HPS::Object.
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::UnsetBudget | ( | ) |
Removes the NURBS surface tessellation budget.
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::UnsetEverything | ( | ) |
Removes all settings from this object.
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::UnsetMaximumAngle | ( | ) |
Removes the largest angle allowed between the surface tangents.
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::UnsetMaximumDeviation | ( | ) |
Removes the upper bound of the difference between the NURBS surface and its parametric definition.
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::UnsetMaximumTrimDeviation | ( | ) |
Removes the upper bound of trim curve vertices from the parametric definition of the trimming curve.
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::UnsetMaximumWidth | ( | ) |
Removes the setting for the largest allowable length of any facet's edge.
NURBSSurfaceAttributeKit& HPS::NURBSSurfaceAttributeKit::UnsetTrimBudget | ( | ) |
Removes the upper bound of vertices to be used in trim curve tessellation.
|
static |