NURBSSurfaceKey
-
class HPS::NURBSSurfaceKey : public HPS::GeometryKey
The NURBSSurfaceKey class is a smart pointer to a database object. It is a handle to a NURBS surface inserted via SegmentKey::InsertNURBSSurface.
Public Functions
-
void Consume(NURBSSurfaceKit &in_kit)
Completely replaces all settings on this NURBSSurfaceKey with those set on the specified kit and resets the kit.
- Parameters
in_kit – The kit from which to get the settings to replace on this NURBSSurfaceKey.
-
NURBSSurfaceKey &EditPointsByReplacement(size_t in_offset, PointArray const &in_points)
Replaces control points for this NURBSSurfaceKey.
- Parameters
in_offset – The 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_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.
- Returns
A reference to this NURBSSurfaceKey.
-
NURBSSurfaceKey &EditPointsByReplacement(size_t in_offset, size_t in_count, Point const in_points[])
Replaces control points for this NURBSSurfaceKey.
- Parameters
in_offset – The 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_count – The 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_points – The points to use to replace those in the control point list at the specified offset.
- Returns
A reference to this NURBSSurfaceKey.
-
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_offset – The 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_knots – The 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.
-
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_offset – The 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_count – The 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_knots – The knots in the U direction to use to replace those at the specified offset.
- Returns
A reference to this NURBSSurfaceKey.
-
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_offset – The 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_knots – The 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.
-
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_offset – The 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_count – The 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_knots – The knots in the V direction to use to replace those at the specified offset.
- Returns
A reference to this NURBSSurfaceKey.
-
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_offset – The 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_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.
- Returns
A reference to this NURBSSurfaceKey.
-
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_offset – The 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_count – The 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_weights – The weights to use to replace those in the control point weight list at the specified offset.
- Returns
A reference to this NURBSSurfaceKey.
-
size_t GetPointCount() const
Retrieves the number of points in this NURBS surface.
- Returns
The number of points in this NURBS surface.
-
NURBSSurfaceKey()
The default constructor creates an uninitialized NURBSSurfaceKey object. The Type() function will return Type::None.
-
explicit NURBSSurfaceKey(Key const &in_that)
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_key – The source Key to copy.
-
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_that – An rvalue reference to a NURBSSurfaceKey to take the impl from.
-
NURBSSurfaceKey(NURBSSurfaceKey const &in_that)
The copy constructor creates a NURBSSurfaceKey object that shares the underlying smart-pointer of the source NURBSSurfaceKey.
- Parameters
in_that – The source NURBSSurfaceKey to copy.
-
inline virtual HPS::Type ObjectType() const
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.
-
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_that – An rvalue reference to a NURBSSurfaceKey to take the impl from.
- Returns
A reference to this NURBSSurfaceKey.
-
NURBSSurfaceKey &operator=(NURBSSurfaceKey const &in_that)
Associate this NURBSSurfaceKey with the same underlying impl as the source NURBSSurfaceKey.
- Parameters
in_that – The source NURBSSurfaceKey for the assignment.
- Returns
A reference to this NURBSSurfaceKey.
-
void Set(NURBSSurfaceKit const &in_kit)
Replace those settings on this NURBSSurfaceKey with those set on the specified kit.
- Parameters
in_kit – The kit from which to get the settings to replace on this NURBSSurfaceKey.
-
NURBSSurfaceKey &SetTrim(TrimKit const &in_trim)
Sets the specified trim on this NURBSSurfaceKey. These will replace any existing trims.
- Parameters
in_trim – The trim to apply to this NURBSSurfaceKey.
- Returns
A reference to this NURBSSurfaceKey.
-
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_count – Size of the following array.
in_trims – The array of trims to apply to this NURBSSurfaceKey.
- Returns
A reference to this NURBSSurfaceKey.
-
NURBSSurfaceKey &SetTrims(TrimKitArray const &in_trims)
Sets the specified trims on this NURBSSurfaceKey. These will replace any existing trims.
- Parameters
in_trims – The array of trims to apply to this NURBSSurfaceKey.
- Returns
A reference to this NURBSSurfaceKey.
-
void Show(NURBSSurfaceKit &out_kit) const
Copy the contents of this NURBSSurfaceKey into the specified kit.
- Parameters
out_kit – The kit to populate with the contents of this NURBSSurfaceKey.
-
bool ShowPoints(PointArray &out_points) const
Shows the control points for this NURBSSurfaceKey.
- Parameters
out_points – The control points for this NURBSSurfaceKey.
- Returns
true if control points were set, false otherwise.
-
bool 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_count – The number of points to show.
in_indices – The list of point indices to show.
out_points – The requested points for this NURBSSurfaceKey.
- Returns
true if all requested points were set, false otherwise.
-
bool ShowPointsByList(SizeTArray const &in_indices, PointArray &out_points) const
Show a subset of the points for this NURBSSurfaceKey by list.
- Parameters
in_indices – The list of point indices to show.
out_points – The requested points for this NURBSSurfaceKey.
- Returns
true if all requested points were set, false otherwise.
-
bool 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_index – The first point to show.
in_count – The number of points to show.
out_points – The requested points for this NURBSSurfaceKey.
- Returns
true if all requested points were set, false otherwise.
-
bool ShowTrims(TrimKitArray &out_trims) const
Shows the trims for this NURBSSurfaceKey.
- Parameters
out_trims – The trims for this NURBSSurfaceKey.
- Returns
true if trims were set, false otherwise.
-
bool ShowUCount(size_t &out_count) const
Shows the number of control points in the U direction for this NURBSSurfaceKey.
- Parameters
out_count – The number of control points in the U direction for this NURBSSurfaceKey.
- Returns
true if such a count was set, false otherwise.
-
bool ShowUDegree(size_t &out_degree) const
Shows the degree of this NURBSSurfaceKey in the U direction.
- Parameters
out_degree – The degree of this NURBSSurfaceKey in the U direction.
- Returns
true if such a degree was set, false otherwise.
-
bool ShowUKnots(FloatArray &out_knots) const
Shows the knot sequence in the U direction for this NURBSSurfaceKey.
- Parameters
out_knots – The knot sequence in the U direction for this NURBSSurfaceKey.
- Returns
true if these knots were set, false otherwise.
-
bool ShowVCount(size_t &out_count) const
Shows the number of control points in the V direction for this NURBSSurfaceKey.
- Parameters
out_count – The number of control points in the V direction for this NURBSSurfaceKey.
- Returns
true if such a count was set, false otherwise.
-
bool ShowVDegree(size_t &out_degree) const
Shows the degree of this NURBSSurfaceKey in the V direction.
- Parameters
out_degree – The degree of this NURBSSurfaceKey in the V direction.
- Returns
true if such a degree was set, false otherwise.
-
bool ShowVKnots(FloatArray &out_knots) const
Shows the knot sequence in the V direction for this NURBSSurfaceKey.
- Parameters
out_knots – The knot sequence in the V direction for this NURBSSurfaceKey.
- Returns
true if these knots were set, false otherwise.
-
bool ShowWeights(FloatArray &out_weights) const
Shows the control point weights for this NURBSSurfaceKey.
- Parameters
out_weights – The control point weights for this NURBSSurfaceKey.
- Returns
true if control point weights were set, false otherwise.
-
NURBSSurfaceKey &UnsetTrims()
Removes the trims from this NURBSSurfaceKey.
- Returns
A reference to this NURBSSurfaceKey.
-
~NURBSSurfaceKey()
Public Static Attributes
-
static const HPS::Type staticType = HPS::Type::NURBSSurfaceKey
-
void Consume(NURBSSurfaceKit &in_kit)