REFERENCE MANUAL
#include <hps.h>
Additional Inherited Members | |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
![]() | |
Control (Control &&in_that) | |
Control & | operator= (Control &&in_that) |
The NURBSSurfaceAttributeControl class is a smart pointer that is tied to a database object. This object allows you to manipulate various settings related to NURBS surfaces, such as budget, angle, deviation, and width.
This table lists default values for the various segment attributes accessible from NURBSSurfaceAttributeControl.
|
explicit |
Initializes a control tied to the segment in_seg.
NURBSSurfaceAttributeControl::NURBSSurfaceAttributeControl | ( | NURBSSurfaceAttributeControl const & | in_that | ) |
Initializes a control tied to the same object as in_that.
NURBSSurfaceAttributeControl::NURBSSurfaceAttributeControl | ( | NURBSSurfaceAttributeControl && | in_that | ) |
The move constructor creates a NURBSSurfaceAttributeControl by transferring the underlying impl of the rvalue reference to this NURBSSurfaceAttributeControl thereby avoiding a copy and allocation.
in_that | An rvalue reference to a NURBSSurfaceAttributeControl to take the impl from. |
NURBSSurfaceAttributeControl::~NURBSSurfaceAttributeControl | ( | ) |
Releases a reference to the database object this control is tied to.
|
inlinevirtual |
This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.
Reimplemented from Control.
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::operator= | ( | NURBSSurfaceAttributeControl && | in_that | ) |
The move assignment operator transfers the underlying impl of the rvalue reference to this NURBSSurfaceAttributeControl thereby avoiding a copy.
in_that | An rvalue reference to a NURBSSurfaceAttributeControl to take the impl from. |
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::operator= | ( | NURBSSurfaceAttributeControl const & | in_that | ) |
Share the smart-pointer.
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::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. |
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::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. |
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::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. |
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::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. |
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::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)]. |
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::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. |
bool NURBSSurfaceAttributeControl::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 NURBSSurfaceAttributeControl::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 NURBSSurfaceAttributeControl::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 NURBSSurfaceAttributeControl::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 NURBSSurfaceAttributeControl::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 NURBSSurfaceAttributeControl::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. |
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::UnsetBudget | ( | ) |
Unsets the NURBS surface tessellation budget.
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::UnsetEverything | ( | ) |
Removes all settings from this object.
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::UnsetMaximumAngle | ( | ) |
Removes the largest angle allowed between the surface tangents.
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::UnsetMaximumDeviation | ( | ) |
Removes the upper bound of the difference between the NURBS surface and its parametric definition.
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::UnsetMaximumTrimDeviation | ( | ) |
Removes the upper bound of trim curve vertices from the parametric definition of the trimming curve.
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::UnsetMaximumWidth | ( | ) |
Removes the setting for the largest allowable length of any facet's edge.
NURBSSurfaceAttributeControl& NURBSSurfaceAttributeControl::UnsetTrimBudget | ( | ) |
Removes the upper bound of vertices to be used in trim curve tessellation.