# NURBSCurveKey

class `NURBSCurveKey` : public HPS::GeometryKey

  The NURBSCurveKey class is a smart pointer to a database object. It is a handle to a NURBS curve inserted via SegmentKey::InsertNURBSCurve.

  Public Functions

  void `Consume`(NURBSCurveKit &in_kit)

    Completely replaces all settings on this NURBSCurveKey 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 NURBSCurveKey.

  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.

    Parameters: | 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.
    Returns: | A reference to this NURBSCurveKey.

  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.

    Parameters: | 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.
    Returns: | A reference to this NURBSCurveKey.

  NURBSCurveKey &`EditPointsByReplacement`(size_t in_offset, PointArray const &in_points)

    Replaces control points for this NURBSCurveKey.

    Parameters: | 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.
    Returns: | A reference to this NURBSCurveKey.

  NURBSCurveKey &`EditPointsByReplacement`(size_t in_offset, size_t in_count, Point const in_points[])

    Replaces control points for this NURBSCurveKey.

    Parameters: | 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.
    Returns: | A reference to this NURBSCurveKey.

  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.

    Parameters: | 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.
    Returns: | A reference to this NURBSCurveKey.

  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.

    Parameters: | 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.
    Returns: | A reference to this NURBSCurveKey.

  size_t `GetPointCount`() const

    Retrieves the number of points in this NURBS curve.

    Returns: | The number of points in this NURBS curve.

  `NURBSCurveKey`()

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

  explicit `NURBSCurveKey`(Key const &in_that)

    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.

    Parameters: | in_key – The source Key to copy.

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

    Parameters: | in_that – An rvalue reference to a NURBSCurveKey to take the impl from.

  `NURBSCurveKey`(NURBSCurveKey const &in_that)

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

    Parameters: | in_that – The source NURBSCurveKey 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.

  NURBSCurveKey &`operator=`(NURBSCurveKey &&in_that)

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

    Parameters: | in_that – An rvalue reference to a NURBSCurveKey to take the impl from.
    Returns: | A reference to this NURBSCurveKey.

  NURBSCurveKey &`operator=`(NURBSCurveKey const &in_that)

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

    Parameters: | in_that – The source NURBSCurveKey for the assignment.
    Returns: | A reference to this NURBSCurveKey.

  void `Set`(NURBSCurveKit const &in_kit)

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

    Parameters: | in_kit – The kit from which to get the settings to replace on this NURBSCurveKey.

  NURBSCurveKey &`SetParameters`(float in_start, float in_end)

    Sets the normalized start and end parameters for this NURBSCurveKey.

    Parameters: | 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.
    Returns: | A reference to this NURBSCurveKey.

  void `Show`(NURBSCurveKit &out_kit) const

    Copy the contents of this NURBSCurveKey into the specified kit.

    Parameters: | out_kit – The kit to populate with the contents of this NURBSCurveKey.

  bool `ShowDegree`(size_t &out_degree) const

    Shows the degree of this NURBSCurveKey.

    Parameters: | out_degree – The degree of this NURBSCurveKey.
    Returns: | true if a degree was set, false otherwise.

  bool `ShowKnots`(FloatArray &out_knots) const

    Shows the knots for this NURBSCurveKey.

    Parameters: | out_knots – The knots for this NURBSCurveKey.
    Returns: | true if knots were set, false otherwise.

  bool `ShowParameters`(float &out_start, float &out_end) const

    Shows the normalized start and end parameters for this NURBSCurveKey.

    Parameters: | out_start – The normalized start parameter for this NURBSCurveKey. out_end – The normalized end parameter for this NURBSCurveKey.
    Returns: | true if start and end parameters were set, false otherwise.

  bool `ShowPoints`(PointArray &out_points) const

    Shows the control points for this NURBSCurveKey.

    Parameters: | out_points – The control points for this NURBSCurveKey.
    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 NURBSCurveKey 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 NURBSCurveKey.
    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 NURBSCurveKey by list.

    Parameters: | in_indices – The list of point indices to show. out_points – The requested points for this NURBSCurveKey.
    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 NURBSCurveKey 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 NURBSCurveKey.
    Returns: | true if all requested points were set, false otherwise.

  bool `ShowWeights`(FloatArray &out_weights) const

    Shows the control point weights for this NURBSCurveKey.

    Parameters: | out_weights – The control point weights for this NURBSCurveKey.
    Returns: | true if control point weights were set, false otherwise.

  `~NURBSCurveKey`()

  Public Static Attributes

  static const HPS::Type `staticType` = HPS::Type::NURBSCurveKey

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Visualize Desktop in your own language, or choose a sample question below to start a conversation:

What is HOOPS Visualize Desktop?
What are the latest release notes for HOOPS Visualize Desktop?
How do I start evaluating HOOPS Visualize Desktop?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...