# Sampler

class `Sampler` : public HPS::Sprocket

  Sampler is an abstract class which is contains settings common to all kinds of Samplers. A Sampler is an object that contains a series of Keyframes and which describe how the Animation will interpolate between the values specified in the Keyframes. Objects of the Sampler class should not be instantiated directly, rather, users should created objects of type FloatSampler, VectorSampler, PointSampler or RGBColorSampler, based on the type of data required by the Channel to which the Sampler will be assigned.

  Subclassed by HPS::FloatSampler, HPS::PointSampler, HPS::QuaternionSampler, HPS::RGBColorSampler, HPS::VectorSampler

  Public Types

  enum class `InterpolationType`

    The type of interpolation to be used on the keyframes that are part of the Sampler.

    Values:

    enumerator `Constant`

      Channel values will not be interpolated between keyframes.

    enumerator `Linear`

      Channel values will interpolated linearly between keyframes.

    enumerator `SphericalLinear`

      Channel values will interpolated spherical-linearly between keyframes. If this is supplied to FloatSampler a linear interpolation is performed instead.

    enumerator `Spline`

      Channel values will interpolated between keyframes by computing a spline from control values specified alongside the keyframes.

  Public Functions

  void `Assign`(Sampler const &in_that)

    Share the underlying smart-pointer of the Sampler source.

    Parameters: | in_that – The Sampler source of the assignment.
    Returns: | A reference to this Sampler.

  bool `Equals`(Sampler const &in_that) const

    Check if the source Sampler points to the same underlying impl as this Sampler.

    Parameters: | in_that – The source Sampler to compare to this Sampler.
    Returns: | true if the objects reference the same impl, false otherwise.

  InterpolationType `GetInterpolation`() const

    Returns the interpolation setting used by this Sampler.

    Returns: | in_interpolation the interpolation setting used by this Sampler.

  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.

  bool `operator!=`(Sampler const &in_that) const

    Check if the source Sampler points to a different impl than this Sampler.

    Parameters: | in_that – The source Sampler to compare to this Sampler.
    Returns: | true if the objects reference different impls, false otherwise.

  Sampler &`operator=`(Sampler &&in_that)
  Sampler &`operator=`(Sampler const &in_that)
  bool `operator==`(Sampler const &in_that) const

    Check if the source Sampler points to the same underlying impl as this Sampler.

    Parameters: | in_that – The source Sampler to compare to this Sampler.
    Returns: | true if the objects reference the same impl, false otherwise.

  `Sampler`()
  `Sampler`(Sampler const &in_that)
  void `SetInterpolation`(InterpolationType in_interpolation)

    Sets the interpolation to be used with this Sampler.

    Returns: | in_interpolation The interpolation to be used with this Sampler.

  virtual `~Sampler`()

  Public Static Attributes

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

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