#include <hps.h>
Public Member Functions | |
NURBSCurveKey () | |
NURBSCurveKey (Key const &in_that) | |
NURBSCurveKey (NURBSCurveKey const &in_that) | |
NURBSCurveKey & | operator= (NURBSCurveKey const &in_that) |
NURBSCurveKey (NURBSCurveKey &&in_that) | |
NURBSCurveKey & | operator= (NURBSCurveKey &&in_that) |
HPS::Type | ObjectType () const |
void | Consume (NURBSCurveKit &in_kit) |
void | Set (NURBSCurveKit const &in_kit) |
void | Show (NURBSCurveKit &out_kit) const |
size_t | GetPointCount () const |
NURBSCurveKey & | SetParameters (float in_start, float in_end) |
bool | ShowDegree (size_t &out_degree) const |
bool | ShowPoints (PointArray &out_points) const |
bool | ShowPointsByRange (size_t in_start_index, size_t in_count, PointArray &out_points) const |
bool | ShowPointsByList (SizeTArray const &in_indices, PointArray &out_points) const |
bool | ShowPointsByList (size_t in_count, size_t const in_indices[], PointArray &out_points) const |
bool | ShowWeights (FloatArray &out_weights) const |
bool | ShowKnots (FloatArray &out_knots) const |
bool | ShowParameters (float &out_start, float &out_end) const |
NURBSCurveKey & | EditPointsByReplacement (size_t in_offset, size_t in_count, Point const in_points[]) |
NURBSCurveKey & | EditPointsByReplacement (size_t in_offset, PointArray const &in_points) |
NURBSCurveKey & | EditWeightsByReplacement (size_t in_offset, size_t in_count, float const in_weights[]) |
NURBSCurveKey & | EditWeightsByReplacement (size_t in_offset, FloatArray const &in_weights) |
NURBSCurveKey & | EditKnotsByReplacement (size_t in_offset, size_t in_count, float const in_knots[]) |
NURBSCurveKey & | EditKnotsByReplacement (size_t in_offset, FloatArray const &in_knots) |
![]() | |
GeometryKey () | |
GeometryKey (Key const &in_that) | |
GeometryKey (GeometryKey const &in_that) | |
GeometryKey & | operator= (GeometryKey const &in_that) |
GeometryKey (GeometryKey &&in_that) | |
GeometryKey & | operator= (GeometryKey &&in_that) |
size_t | ShowReferrers (SegmentKeyArray &out_segments) const |
size_t | ShowReferrers (ReferenceKeyArray &out_references) const |
GeometryKey & | SetPriority (int in_priority) |
GeometryKey & | UnsetPriority () |
bool | ShowPriority (int &out_priority) const |
GeometryKey & | SetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[]) |
GeometryKey & | SetUserData (intptr_t in_index, ByteArray const &in_data) |
GeometryKey & | SetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data) |
GeometryKey & | UnsetUserData (intptr_t in_index) |
GeometryKey & | UnsetUserData (size_t in_count, intptr_t const in_indices[]) |
GeometryKey & | UnsetUserData (IntPtrTArray const &in_indices) |
GeometryKey & | UnsetAllUserData () |
size_t | ShowUserDataCount () const |
bool | ShowUserDataIndices (IntPtrTArray &out_indices) const |
bool | ShowUserData (intptr_t in_index, ByteArray &out_data) const |
bool | ShowUserData (IntPtrTArray &out_indices, ByteArrayArray &out_data) const |
bool | ShowBoundings (BoundingKit &out_kit) const |
![]() | |
Key () | |
Key (Key const &in_that) | |
Key (Control const &in_control) | |
Key (Key &&in_that) | |
Key & | operator= (Key &&in_that) |
virtual | ~Key () |
bool | HasOwner () const |
SegmentKey | Up () const |
SegmentKey | Owner () const |
void | Delete () |
void | MoveTo (SegmentKey const &in_new_owner) |
Key | CopyTo (SegmentKey const &in_destination) const |
Key & | operator= (Key const &in_that) |
virtual void | Assign (Key const &in_that) |
bool | Equals (Key const &in_that) const |
bool | operator!= (Key const &in_that) const |
bool | operator== (Key const &in_that) const |
size_t | GetHash () const |
![]() | |
Object & | operator= (Object const &other_object) |
Object (Object &&in_that) | |
Object & | operator= (Object &&in_that) |
HPS::Type | Type () const |
virtual bool | Empty () const |
virtual void | Reset () |
bool | HasType (HPS::Type in_mask) const |
intptr_t | GetClassID () const |
intptr_t | GetInstanceID () const |
Additional Inherited Members | |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
The NURBSCurveKey class is a smart pointer to a database object. It is a handle to a NURBS curve inserted via SegmentKey::InsertNURBSCurve.
HPS::NURBSCurveKey::NURBSCurveKey | ( | ) |
The default constructor creates an uninitialized NURBSCurveKey object. The Type() function will return Type::None.
|
explicit |
This constructor creates a NURBSCurveKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a NURBSCurve key. Otherwise the copy will fail and the resulting NURBSCurveKey will be invalid.
in_key | The source Key to copy. |
HPS::NURBSCurveKey::NURBSCurveKey | ( | NURBSCurveKey const & | in_that | ) |
The copy constructor creates a NURBSCurveKey object that shares the underlying smart-pointer of the source NURBSCurveKey.
in_that | The source NURBSCurveKey to copy. |
HPS::NURBSCurveKey::NURBSCurveKey | ( | NURBSCurveKey && | in_that | ) |
The move constructor creates a NURBSCurveKey by transferring the underlying impl of the rvalue reference to this NURBSCurveKey thereby avoiding a copy and allocation.
in_that | An rvalue reference to a NURBSCurveKey to take the impl from. |
void HPS::NURBSCurveKey::Consume | ( | NURBSCurveKit & | in_kit | ) |
Completely replaces all settings on this NURBSCurveKey with those set on the specified kit and resets the kit.
in_kit | The kit from which to get the settings to replace on this NURBSCurveKey. |
NURBSCurveKey& HPS::NURBSCurveKey::EditKnotsByReplacement | ( | size_t | in_offset, |
size_t | in_count, | ||
float const | in_knots[] | ||
) |
Replaces knots for this NURBSCurveKey. It is possible to edit these knots even if no knots were specified (i.e., default knots were used) when the NURBS curve was inserted.
in_offset | The offset into the knots for this NURBS curve at which to start replacing knots. This value must be such that in_offset<control_point_count+degree+1 for replacement to succeed. |
in_count | The number of knots to replace for this NURBS curve. This must be such that in_offset+in_count<=control_point_count+degree+1 for the replacement to succeed. |
in_knots | The knots to use to replace those at the specified offset. |
NURBSCurveKey& HPS::NURBSCurveKey::EditKnotsByReplacement | ( | size_t | in_offset, |
FloatArray const & | in_knots | ||
) |
Replaces knots for this NURBSCurveKey. It is possible to edit these knots even if no knots were specified (i.e., default knots were used) when the NURBS curve was inserted.
in_offset | The offset into the knots for this NURBS curve at which to start replacing knots. This value must be such that in_offset<control_point_count+degree+1 for replacement to succeed. |
in_knots | The knots to use to replace those at the specified offset. The size of the array must be such that in_offset+in_knots.size()<=control_point_count+degree+1 for the replacement to succeed. |
NURBSCurveKey& HPS::NURBSCurveKey::EditPointsByReplacement | ( | size_t | in_offset, |
size_t | in_count, | ||
Point const | in_points[] | ||
) |
Replaces control points for this NURBSCurveKey.
in_offset | The offset into the control points for this NURBS curve at which to start replacing points. This value must be such that in_offset<control_point_count for replacement to succeed. |
in_count | The number of control points to replace for the NURBS curve. This must be such that such that in_offset+in_count<=control_point_count for the replacement to succeed. |
in_points | The points to use to replace those in the control point list at the specified offset. |
NURBSCurveKey& HPS::NURBSCurveKey::EditPointsByReplacement | ( | size_t | in_offset, |
PointArray const & | in_points | ||
) |
Replaces control points for this NURBSCurveKey.
in_offset | The offset into the control points for this NURBS curve at which to start replacing points. This value must be such that in_offset<control_point_count for replacement to succeed. |
in_points | The points to use to replace those in the control point list at the specified offset. The size of the array must be such that such that in_offset+in_points.size()<=control_point_count for the replacement to succeed. |
NURBSCurveKey& HPS::NURBSCurveKey::EditWeightsByReplacement | ( | size_t | in_offset, |
size_t | in_count, | ||
float const | in_weights[] | ||
) |
Replaces control point weights for this NURBSCurveKey. It is possible to edit control point weights even if no weights were specified (i.e., default weights were used) when the NURBS curve was inserted.
in_offset | The offset into the control point weights for this NURBS curve at which to start replacing weights. This value must be such that in_offset<control_point_count for replacement to succeed. |
in_count | The number of control point weights to replace for the NURBS curve. This must be such that such that in_offset+in_count<=control_point_count for the replacement to succeed. |
in_weights | The weights to use to replace those in the control point weight list at the specified offset. |
NURBSCurveKey& HPS::NURBSCurveKey::EditWeightsByReplacement | ( | size_t | in_offset, |
FloatArray const & | in_weights | ||
) |
Replaces control point weights for this NURBSCurveKey. It is possible to edit control point weights even if no weights were specified (i.e., default weights were used) when the NURBS curve was inserted.
in_offset | The offset into the control point weights for this NURBS curve at which to start replacing weights. This value must be such that in_offset<control_point_count for replacement to succeed. |
in_weights | The weights to use to replace those in the control point weight list at the specified offset. The size of the array must be such that such that in_offset+in_weights.size()<=control_point_count for the replacement to succeed. |
size_t HPS::NURBSCurveKey::GetPointCount | ( | ) | const |
Retrieves the number of points in this NURBS curve.
|
inlinevirtual |
This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.
Reimplemented from HPS::GeometryKey.
NURBSCurveKey& HPS::NURBSCurveKey::operator= | ( | NURBSCurveKey const & | in_that | ) |
Associate this NURBSCurveKey with the same underlying impl as the source NURBSCurveKey.
in_that | The source NURBSCurveKey for the assignment. |
NURBSCurveKey& HPS::NURBSCurveKey::operator= | ( | NURBSCurveKey && | in_that | ) |
The move assignment operator transfers the underlying impl of the rvalue reference to this NURBSCurveKey thereby avoiding a copy.
in_that | An rvalue reference to a NURBSCurveKey to take the impl from. |
void HPS::NURBSCurveKey::Set | ( | NURBSCurveKit const & | in_kit | ) |
Replace those settings on this NURBSCurveKey with those set on the specified kit.
in_kit | The kit from which to get the settings to replace on this NURBSCurveKey. |
NURBSCurveKey& HPS::NURBSCurveKey::SetParameters | ( | float | in_start, |
float | in_end | ||
) |
Sets the normalized start and end parameters for this NURBSCurveKey.
in_start | The start parameter. This value should be in the range [0,1] and should be defined such that in_start<=in_end. |
in_end | The end parameter. This value should be in the range [0,1] and should be defined such that in_start<=in_end. |
void HPS::NURBSCurveKey::Show | ( | NURBSCurveKit & | out_kit | ) | const |
Copy the contents of this NURBSCurveKey into the specified kit.
out_kit | The kit to populate with the contents of this NURBSCurveKey. |
bool HPS::NURBSCurveKey::ShowDegree | ( | size_t & | out_degree | ) | const |
Shows the degree of this NURBSCurveKey.
out_degree | The degree of this NURBSCurveKey. |
bool HPS::NURBSCurveKey::ShowKnots | ( | FloatArray & | out_knots | ) | const |
Shows the knots for this NURBSCurveKey.
out_knots | The knots for this NURBSCurveKey. |
bool HPS::NURBSCurveKey::ShowParameters | ( | float & | out_start, |
float & | out_end | ||
) | const |
Shows the normalized start and end parameters for this NURBSCurveKey.
out_start | The noramlized start parameter for this NURBSCurveKey. |
out_end | The noramlized end parameter for this NURBSCurveKey. |
bool HPS::NURBSCurveKey::ShowPoints | ( | PointArray & | out_points | ) | const |
Shows the control points for this NURBSCurveKey.
out_points | The control points for this NURBSCurveKey. |
bool HPS::NURBSCurveKey::ShowPointsByList | ( | SizeTArray const & | in_indices, |
PointArray & | out_points | ||
) | const |
Show a subset of the points for this NURBSCurveKey by list.
in_indices | The list of point indices to show. |
out_points | The requested points for this NURBSCurveKey. |
bool HPS::NURBSCurveKey::ShowPointsByList | ( | size_t | in_count, |
size_t const | in_indices[], | ||
PointArray & | out_points | ||
) | const |
Show a subset of the points for this NURBSCurveKey by list.
in_count | The number of points to show. |
in_indices | The list of point indices to show. |
out_points | The requested points for this NURBSCurveKey. |
bool HPS::NURBSCurveKey::ShowPointsByRange | ( | size_t | in_start_index, |
size_t | in_count, | ||
PointArray & | out_points | ||
) | const |
Show a subset of the points for this NURBSCurveKey by range.
in_start_index | The first point to show. |
in_count | The number of points to show. |
out_points | The requested points for this NURBSCurveKey. |
bool HPS::NURBSCurveKey::ShowWeights | ( | FloatArray & | out_weights | ) | const |
Shows the control point weights for this NURBSCurveKey.
out_weights | The control point weights for this NURBSCurveKey. |