HPS::NURBSSurfaceKey Class Reference

#include <hps.h>

Inheritance diagram for HPS::NURBSSurfaceKey:
HPS::GeometryKey HPS::Key HPS::Object

Public Member Functions

void Consume (NURBSSurfaceKit &in_kit)
 
NURBSSurfaceKeyEditPointsByReplacement (size_t in_offset, size_t in_count, Point const in_points[])
 
NURBSSurfaceKeyEditPointsByReplacement (size_t in_offset, PointArray const &in_points)
 
NURBSSurfaceKeyEditUKnotsByReplacement (size_t in_offset, size_t in_count, float const in_knots[])
 
NURBSSurfaceKeyEditUKnotsByReplacement (size_t in_offset, FloatArray const &in_knots)
 
NURBSSurfaceKeyEditVKnotsByReplacement (size_t in_offset, size_t in_count, float const in_knots[])
 
NURBSSurfaceKeyEditVKnotsByReplacement (size_t in_offset, FloatArray const &in_knots)
 
NURBSSurfaceKeyEditWeightsByReplacement (size_t in_offset, size_t in_count, float const in_weights[])
 
NURBSSurfaceKeyEditWeightsByReplacement (size_t in_offset, FloatArray const &in_weights)
 
size_t GetPointCount () const
 
 NURBSSurfaceKey ()
 
 NURBSSurfaceKey (Key const &in_that)
 
 NURBSSurfaceKey (NURBSSurfaceKey const &in_that)
 
 NURBSSurfaceKey (NURBSSurfaceKey &&in_that)
 
HPS::Type ObjectType () const
 
NURBSSurfaceKeyoperator= (NURBSSurfaceKey const &in_that)
 
NURBSSurfaceKeyoperator= (NURBSSurfaceKey &&in_that)
 
void Set (NURBSSurfaceKit const &in_kit)
 
NURBSSurfaceKeySetTrim (TrimKit const &in_trim)
 
NURBSSurfaceKeySetTrims (size_t in_count, TrimKit const in_trims [])
 
NURBSSurfaceKeySetTrims (TrimKitArray const &in_trims)
 
void Show (NURBSSurfaceKit &out_kit) const
 
bool ShowPoints (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 ShowPointsByRange (size_t in_start_index, size_t in_count, PointArray &out_points) const
 
bool ShowTrims (TrimKitArray &out_trims) const
 
bool ShowUCount (size_t &out_count) const
 
bool ShowUDegree (size_t &out_degree) const
 
bool ShowUKnots (FloatArray &out_knots) const
 
bool ShowVCount (size_t &out_count) const
 
bool ShowVDegree (size_t &out_degree) const
 
bool ShowVKnots (FloatArray &out_knots) const
 
bool ShowWeights (FloatArray &out_weights) const
 
NURBSSurfaceKeyUnsetTrims ()
 
- Public Member Functions inherited from HPS::GeometryKey
 GeometryKey ()
 
 GeometryKey (Key const &in_that)
 
 GeometryKey (GeometryKey const &in_that)
 
 GeometryKey (GeometryKey &&in_that)
 
GeometryKeyoperator= (GeometryKey const &in_that)
 
GeometryKeyoperator= (GeometryKey &&in_that)
 
GeometryKeySetPriority (int in_priority)
 
GeometryKeySetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[])
 
GeometryKeySetUserData (intptr_t in_index, ByteArray const &in_data)
 
GeometryKeySetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
 
bool ShowBounding (BoundingKit &out_kit) const
 
bool ShowPriority (int &out_priority) const
 
size_t ShowReferrers (SegmentKeyArray &out_segments) const
 
size_t ShowReferrers (ReferenceKeyArray &out_references) const
 
bool ShowUserData (intptr_t in_index, ByteArray &out_data) const
 
bool ShowUserData (IntPtrTArray &out_indices, ByteArrayArray &out_data) const
 
size_t ShowUserDataCount () const
 
bool ShowUserDataIndices (IntPtrTArray &out_indices) const
 
GeometryKeyUnsetAllUserData ()
 
GeometryKeyUnsetPriority ()
 
GeometryKeyUnsetUserData (intptr_t in_index)
 
GeometryKeyUnsetUserData (size_t in_count, intptr_t const in_indices[])
 
GeometryKeyUnsetUserData (IntPtrTArray const &in_indices)
 
- Public Member Functions inherited from HPS::Key
virtual void Assign (Key const &in_that)
 
Key CopyTo (SegmentKey const &in_destination) const
 
void Delete ()
 
bool Equals (Key const &in_that) const
 
size_t GetHash () const
 
bool HasOwner () const
 
 Key ()
 
 Key (Key const &in_that)
 
 Key (Control const &in_control)
 
 Key (Key &&in_that)
 
void MoveTo (SegmentKey const &in_new_owner)
 
bool operator!= (Key const &in_that) const
 
Keyoperator= (Key &&in_that)
 
Keyoperator= (Key const &in_that)
 
bool operator== (Key const &in_that) const
 
SegmentKey Owner () const
 
SegmentKey Up () const
 
virtual ~Key ()
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
virtual HPS::Type Type () const
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::NURBSSurfaceKey
 
- Static Public Attributes inherited from HPS::GeometryKey
static const HPS::Type staticType = HPS::Type::GeometryKey
 
- Static Public Attributes inherited from HPS::Key
static const HPS::Type staticType = HPS::Type::Key
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

The NURBSSurfaceKey class is a smart pointer to a database object. It is a handle to a NURBS surface inserted via SegmentKey::InsertNURBSSurface.

Constructor & Destructor Documentation

◆ NURBSSurfaceKey() [1/4]

HPS::NURBSSurfaceKey::NURBSSurfaceKey ( )

The default constructor creates an uninitialized NURBSSurfaceKey object. The Type() function will return Type::None.

◆ NURBSSurfaceKey() [2/4]

HPS::NURBSSurfaceKey::NURBSSurfaceKey ( Key const &  in_that)
explicit

This constructor creates a NURBSSurfaceKey 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 NURBSSurface key. Otherwise the copy will fail and the resulting NURBSSurfaceKey will be invalid.

Parameters
in_keyThe source Key to copy.

◆ NURBSSurfaceKey() [3/4]

HPS::NURBSSurfaceKey::NURBSSurfaceKey ( NURBSSurfaceKey const &  in_that)

The copy constructor creates a NURBSSurfaceKey object that shares the underlying smart-pointer of the source NURBSSurfaceKey.

Parameters
in_thatThe source NURBSSurfaceKey to copy.

◆ NURBSSurfaceKey() [4/4]

HPS::NURBSSurfaceKey::NURBSSurfaceKey ( NURBSSurfaceKey &&  in_that)

The move constructor creates a NURBSSurfaceKey by transferring the underlying impl of the rvalue reference to this NURBSSurfaceKey thereby avoiding a copy and allocation.

Parameters
in_thatAn rvalue reference to a NURBSSurfaceKey to take the impl from.

Member Function Documentation

◆ Consume()

void HPS::NURBSSurfaceKey::Consume ( NURBSSurfaceKit in_kit)

Completely replaces all settings on this NURBSSurfaceKey with those set on the specified kit and resets the kit.

Parameters
in_kitThe kit from which to get the settings to replace on this NURBSSurfaceKey.

◆ EditPointsByReplacement() [1/2]

NURBSSurfaceKey& HPS::NURBSSurfaceKey::EditPointsByReplacement ( size_t  in_offset,
size_t  in_count,
Point const  in_points[] 
)

Replaces control points for this NURBSSurfaceKey.

Parameters
in_offsetThe offset into the control points for this NURBS surface at which to start replacing points. This value must be such that in_offset<control_point_count for replacement to succeed.
in_countThe number of control points to replace for the NURBS surface. This must be such that such that in_offset+in_count<=control_point_count for the replacement to succeed.
in_pointsThe points to use to replace those in the control point list at the specified offset.
Returns
A reference to this NURBSSurfaceKey.

◆ EditPointsByReplacement() [2/2]

NURBSSurfaceKey& HPS::NURBSSurfaceKey::EditPointsByReplacement ( size_t  in_offset,
PointArray const &  in_points 
)

Replaces control points for this NURBSSurfaceKey.

Parameters
in_offsetThe offset into the control points for this NURBS surface at which to start replacing points. This value must be such that in_offset<control_point_count for replacement to succeed.
in_pointsThe 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.
Returns
A reference to this NURBSSurfaceKey.

◆ EditUKnotsByReplacement() [1/2]

NURBSSurfaceKey& HPS::NURBSSurfaceKey::EditUKnotsByReplacement ( size_t  in_offset,
size_t  in_count,
float const  in_knots[] 
)

Replaces knots in the U direction for this NURBSSurfaceKey. It is possible to edit these knots even if no knots were specified (i.e., default knots were used) when the NURBS surface was inserted.

Parameters
in_offsetThe offset into the knots in the U direction for this NURBS surface at which to start replacing knots. This value must be such that in_offset<u_count+u_degree+1 for replacement to succeed.
in_countThe number of knots in the U direction to replace for this NURBS surface. This must be such that in_offset+in_count<=u_count+u_degree+1 for the replacement to succeed.
in_knotsThe knots in the U direction to use to replace those at the specified offset.
Returns
A reference to this NURBSSurfaceKey.

◆ EditUKnotsByReplacement() [2/2]

NURBSSurfaceKey& HPS::NURBSSurfaceKey::EditUKnotsByReplacement ( size_t  in_offset,
FloatArray const &  in_knots 
)

Replaces knots in the U direction for this NURBSSurfaceKey. It is possible to edit these knots even if no knots were specified (i.e., default knots were used) when the NURBS surface was inserted.

Parameters
in_offsetThe offset into the knots in the U direction for this NURBS surface at which to start replacing knots. This value must be such that in_offset<u_count+u_degree+1 for replacement to succeed.
in_knotsThe knots in the U direction to use to replace those at the specified offset. The size of the array must be such that in_offset+in_knots.size()<=u_count+u_degree+1 for the replacement to succeed.
Returns
A reference to this NURBSSurfaceKey.

◆ EditVKnotsByReplacement() [1/2]

NURBSSurfaceKey& HPS::NURBSSurfaceKey::EditVKnotsByReplacement ( size_t  in_offset,
size_t  in_count,
float const  in_knots[] 
)

Replaces knots in the V direction for this NURBSSurfaceKey. It is possible to edit these knots even if no knots were specified (i.e., default knots were used) when the NURBS surface was inserted.

Parameters
in_offsetThe offset into the knots in the V direction for this NURBS surface at which to start replacing knots. This value must be such that in_offset<v_count+v_degree+1 for replacement to succeed.
in_countThe number of knots in the V direction to replace for this NURBS surface. This must be such that in_offset+in_count<=v_count+v_degree+1 for the replacement to succeed.
in_knotsThe knots in the V direction to use to replace those at the specified offset.
Returns
A reference to this NURBSSurfaceKey.

◆ EditVKnotsByReplacement() [2/2]

NURBSSurfaceKey& HPS::NURBSSurfaceKey::EditVKnotsByReplacement ( size_t  in_offset,
FloatArray const &  in_knots 
)

Replaces knots in the V direction for this NURBSSurfaceKey. It is possible to edit these knots even if no knots were specified (i.e., default knots were used) when the NURBS surface was inserted.

Parameters
in_offsetThe offset into the knots in the V direction for this NURBS surface at which to start replacing knots. This value must be such that in_offset<v_count+v_degree+1 for replacement to succeed.
in_knotsThe knots in the V direction to use to replace those at the specified offset. The size of the array must be such that in_offset+in_knots.size()<=v_count+v_degree+1 for the replacement to succeed.
Returns
A reference to this NURBSSurfaceKey.

◆ EditWeightsByReplacement() [1/2]

NURBSSurfaceKey& HPS::NURBSSurfaceKey::EditWeightsByReplacement ( size_t  in_offset,
size_t  in_count,
float const  in_weights[] 
)

Replaces control point weights for this NURBSSurfaceKey. It is possible to edit control point weights even if no weights were specified (i.e., default weights were used) when the NURBS surface was inserted.

Parameters
in_offsetThe offset into the control point weights for this NURBS surface at which to start replacing weights. This value must be such that in_offset<control_point_count for replacement to succeed.
in_countThe number of control point weights to replace for the NURBS surface. This must be such that such that in_offset+in_count<=control_point_count for the replacement to succeed.
in_weightsThe weights to use to replace those in the control point weight list at the specified offset.
Returns
A reference to this NURBSSurfaceKey.

◆ EditWeightsByReplacement() [2/2]

NURBSSurfaceKey& HPS::NURBSSurfaceKey::EditWeightsByReplacement ( size_t  in_offset,
FloatArray const &  in_weights 
)

Replaces control point weights for this NURBSSurfaceKey. It is possible to edit control point weights even if no weights were specified (i.e., default weights were used) when the NURBS surface was inserted.

Parameters
in_offsetThe offset into the control point weights for this NURBS surface at which to start replacing weights. This value must be such that in_offset<control_point_count for replacement to succeed.
in_weightsThe 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.
Returns
A reference to this NURBSSurfaceKey.

◆ GetPointCount()

size_t HPS::NURBSSurfaceKey::GetPointCount ( ) const

Retrieves the number of points in this NURBS surface.

Returns
The number of points in this NURBS surface.

◆ ObjectType()

HPS::Type HPS::NURBSSurfaceKey::ObjectType ( ) const
inlinevirtual

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).

Returns
The declared type of the object in question, which may differ from the true, underlying type.

Reimplemented from HPS::GeometryKey.

◆ operator=() [1/2]

NURBSSurfaceKey& HPS::NURBSSurfaceKey::operator= ( NURBSSurfaceKey const &  in_that)

Associate this NURBSSurfaceKey with the same underlying impl as the source NURBSSurfaceKey.

Parameters
in_thatThe source NURBSSurfaceKey for the assignment.
Returns
A reference to this NURBSSurfaceKey.

◆ operator=() [2/2]

NURBSSurfaceKey& HPS::NURBSSurfaceKey::operator= ( NURBSSurfaceKey &&  in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this NURBSSurfaceKey thereby avoiding a copy.

Parameters
in_thatAn rvalue reference to a NURBSSurfaceKey to take the impl from.
Returns
A reference to this NURBSSurfaceKey.

◆ Set()

void HPS::NURBSSurfaceKey::Set ( NURBSSurfaceKit const &  in_kit)

Replace those settings on this NURBSSurfaceKey with those set on the specified kit.

Parameters
in_kitThe kit from which to get the settings to replace on this NURBSSurfaceKey.

◆ SetTrim()

NURBSSurfaceKey& HPS::NURBSSurfaceKey::SetTrim ( TrimKit const &  in_trim)

Sets the specified trim on this NURBSSurfaceKey. These will replace any existing trims.

Parameters
in_trimThe trim to apply to this NURBSSurfaceKey.
Returns
A reference to this NURBSSurfaceKey.

◆ SetTrims() [1/2]

NURBSSurfaceKey& HPS::NURBSSurfaceKey::SetTrims ( size_t  in_count,
TrimKit const  in_trims[] 
)

Sets the specified trims on this NURBSSurfaceKey. These will replace any existing trims.

Parameters
in_countSize of the following array.
in_trimsThe array of trims to apply to this NURBSSurfaceKey.
Returns
A reference to this NURBSSurfaceKey.

◆ SetTrims() [2/2]

NURBSSurfaceKey& HPS::NURBSSurfaceKey::SetTrims ( TrimKitArray const &  in_trims)

Sets the specified trims on this NURBSSurfaceKey. These will replace any existing trims.

Parameters
in_trimsThe array of trims to apply to this NURBSSurfaceKey.
Returns
A reference to this NURBSSurfaceKey.

◆ Show()

void HPS::NURBSSurfaceKey::Show ( NURBSSurfaceKit out_kit) const

Copy the contents of this NURBSSurfaceKey into the specified kit.

Parameters
out_kitThe kit to populate with the contents of this NURBSSurfaceKey.

◆ ShowPoints()

bool HPS::NURBSSurfaceKey::ShowPoints ( PointArray out_points) const

Shows the control points for this NURBSSurfaceKey.

Parameters
out_pointsThe control points for this NURBSSurfaceKey.
Returns
true if control points were set, false otherwise.

◆ ShowPointsByList() [1/2]

bool HPS::NURBSSurfaceKey::ShowPointsByList ( SizeTArray const &  in_indices,
PointArray out_points 
) const

Show a subset of the points for this NURBSSurfaceKey by list.

Parameters
in_indicesThe list of point indices to show.
out_pointsThe requested points for this NURBSSurfaceKey.
Returns
true if all requested points were set, false otherwise.

◆ ShowPointsByList() [2/2]

bool HPS::NURBSSurfaceKey::ShowPointsByList ( size_t  in_count,
size_t const  in_indices[],
PointArray out_points 
) const

Show a subset of the points for this NURBSSurfaceKey by list.

Parameters
in_countThe number of points to show.
in_indicesThe list of point indices to show.
out_pointsThe requested points for this NURBSSurfaceKey.
Returns
true if all requested points were set, false otherwise.

◆ ShowPointsByRange()

bool HPS::NURBSSurfaceKey::ShowPointsByRange ( size_t  in_start_index,
size_t  in_count,
PointArray out_points 
) const

Show a subset of the points for this NURBSSurfaceKey by range.

Parameters
in_start_indexThe first point to show.
in_countThe number of points to show.
out_pointsThe requested points for this NURBSSurfaceKey.
Returns
true if all requested points were set, false otherwise.

◆ ShowTrims()

bool HPS::NURBSSurfaceKey::ShowTrims ( TrimKitArray out_trims) const

Shows the trims for this NURBSSurfaceKey.

Parameters
out_trimsThe trims for this NURBSSurfaceKey.
Returns
true if trims were set, false otherwise.

◆ ShowUCount()

bool HPS::NURBSSurfaceKey::ShowUCount ( size_t &  out_count) const

Shows the number of control points in the U direction for this NURBSSurfaceKey.

Parameters
out_countThe number of control points in the U direction for this NURBSSurfaceKey.
Returns
true if such a count was set, false otherwise.

◆ ShowUDegree()

bool HPS::NURBSSurfaceKey::ShowUDegree ( size_t &  out_degree) const

Shows the degree of this NURBSSurfaceKey in the U direction.

Parameters
out_degreeThe degree of this NURBSSurfaceKey in the U direction.
Returns
true if such a degree was set, false otherwise.

◆ ShowUKnots()

bool HPS::NURBSSurfaceKey::ShowUKnots ( FloatArray out_knots) const

Shows the knot sequence in the U direction for this NURBSSurfaceKey.

Parameters
out_knotsThe knot sequence in the U direction for this NURBSSurfaceKey.
Returns
true if these knots were set, false otherwise.

◆ ShowVCount()

bool HPS::NURBSSurfaceKey::ShowVCount ( size_t &  out_count) const

Shows the number of control points in the V direction for this NURBSSurfaceKey.

Parameters
out_countThe number of control points in the V direction for this NURBSSurfaceKey.
Returns
true if such a count was set, false otherwise.

◆ ShowVDegree()

bool HPS::NURBSSurfaceKey::ShowVDegree ( size_t &  out_degree) const

Shows the degree of this NURBSSurfaceKey in the V direction.

Parameters
out_degreeThe degree of this NURBSSurfaceKey in the V direction.
Returns
true if such a degree was set, false otherwise.

◆ ShowVKnots()

bool HPS::NURBSSurfaceKey::ShowVKnots ( FloatArray out_knots) const

Shows the knot sequence in the V direction for this NURBSSurfaceKey.

Parameters
out_knotsThe knot sequence in the V direction for this NURBSSurfaceKey.
Returns
true if these knots were set, false otherwise.

◆ ShowWeights()

bool HPS::NURBSSurfaceKey::ShowWeights ( FloatArray out_weights) const

Shows the control point weights for this NURBSSurfaceKey.

Parameters
out_weightsThe control point weights for this NURBSSurfaceKey.
Returns
true if control point weights were set, false otherwise.

◆ UnsetTrims()

NURBSSurfaceKey& HPS::NURBSSurfaceKey::UnsetTrims ( )

Removes the trims from this NURBSSurfaceKey.

Returns
A reference to this NURBSSurfaceKey.

The documentation for this class was generated from the following file: