# Animation

class Animation : public HPS::Sprocket

  The Animation class is used to animate objects in the scene through the creation of one or more Channels. An Animation is owned by a Model, and as such needs to be created through the Model::CreateAnimation function. Animation objects are only valid for playback if they contain one or more Channel objects.

  Public Functions

  Channel AddCameraPositionChannel(char const *in_name, PointSampler const &in_sampler)

    Creates a Channel suitable for animating the camera’s position and adds it to this Animation.

    Parameters:

      - in_name – A name used to identify this Channel.

      - in_sampler – A sampler containing Point keyframes, describing the changes to be applied to in_target over time.

    Returns:

      The Channel that was just added to this Animation.

  Channel AddCameraTargetChannel(char const *in_name, PointSampler const &in_sampler)

    Creates a Channel suitable for animating the camera’s target and adds it to this Animation.

    Parameters:

      - in_name – A name used to identify this Channel.

      - in_sampler – A sampler containing Point keyframes, describing the changes to be applied to in_target over time.

    Returns:

      The Channel that was just added to this Animation.

  Channel AddCameraUpChannel(char const *in_name, VectorSampler const &in_sampler)

    Creates a Channel suitable for animating the camera’s up vector and adds it to this Animation.

    Parameters:

      - in_name – A name used to identify this Channel.

      - in_sampler – A sampler containing Vector keyframes, describing the changes to be applied to in_target over time.

    Returns:

      The Channel that was just added to this Animation.

  Channel AddColorChannel(char const *in_name, KeyPath const &in_target, RGBColorSampler const &in_sampler)

    Creates a Channel suitable for animating the target’s faces color and adds it to this Animation.

    Parameters:

      - in_name – A name used to identify this Channel.

      - in_target – The segment on which the changes described by this Channel will be applied during the Animation playback.

      - in_sampler – A sampler containing RGBColor keyframes, describing the changes to be applied to in_target over time.

    Returns:

      The Channel that was just added to this Animation.

  Channel AddColorChannel(char const *in_name, KeyPath const &in_target, RGBColorSampler const &in_sampler, HPS::ChannelColorUsageArray in_channel_usages)

    Creates a Channel suitable for animating the target’s color and adds it to this Animation.

    Parameters:

      - in_name – A name used to identify this Channel.

      - in_target – The segment on which the changes described by this Channel will be applied during the Animation playback.

      - in_sampler – A sampler containing RGBColor keyframes, describing the changes to be applied to in_target

      - in_channel_usages – The types of the target of this Channel that will be changed during the Animation. over time.

    Returns:

      The Channel that was just added to this Animation.

  Channel AddOpacityChannel(char const *in_name, KeyPath const &in_target, FloatSampler const &in_sampler)

    Creates a Channel suitable for animating the target’s opacity and adds it to this Animation.

    Parameters:

      - in_name – A name used to identify this Channel.

      - in_target – The segment on which the changes described by this Channel will be applied during the Animation playback.

      - in_sampler – A sampler containing float keyframes, describing the changes to be applied to in_target over time.

    Returns:

      The Channel that was just added to this Animation.

  Channel AddRotationChannel(char const *in_name, KeyPath const &in_target, QuaternionSampler const &in_sampler)

    Creates a Channel suitable for animating the target’s rotation and adds it to this Animation.

    Parameters:

      - in_name – A name used to identify this Channel.

      - in_target – The segment on which the changes described by this Channel will be applied during the Animation playback.

      - in_sampler – A sampler containing Point keyframes, describing the changes to be applied to in_target over time.

    Returns:

      The Channel that was just added to this Animation.

  Channel AddScaleChannel(char const *in_name, KeyPath const &in_target, VectorSampler const &in_sampler)

    Creates a Channel suitable for animating the target’s scale and adds it to this Animation.

    Parameters:

      - in_name – A name used to identify this Channel.

      - in_target – The segment on which the changes described by this Channel will be applied during the Animation playback.

      - in_sampler – A sampler containing Vector keyframes, describing the changes to be applied to in_target over time.

    Returns:

      The Channel that was just added to this Animation.

  Channel AddTranslationChannel(char const *in_name, KeyPath const &in_target, VectorSampler const &in_sampler)

    Creates a Channel suitable for animating the target’s position and adds it to this Animation.

    Parameters:

      - in_name – A name used to identify this Channel.

      - in_target – The segment on which the changes described by this Channel will be applied during the Animation playback.

      - in_sampler – A sampler containing Point keyframes, describing the changes to be applied to in_target over time.

    Returns:

      The Channel that was just added to this Animation.

  Animation()
  Animation(Animation const &in_that)
  void Assign(Animation const &in_that)

    Share the underlying smart-pointer of the Animation source.

    Parameters:

      in_that – The Animation source of the assignment.

    Returns:

      A reference to this Animation.

  void Delete()

    Deletes this Animation.

  bool Equals(Animation const &in_that) const

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

    Parameters:

      in_that – The source Animation to compare to this Animation.

    Returns:

      true if the objects reference the same impl, false otherwise.

  ChannelArray const &GetChannels() const

    Returns a list of Channels currently associated with this Animation.

    Returns:

      a list of Channels currently associated with this Animation.

  UTF8 const &GetName() const

    Returns the name given to this Animation when it was created.

    Returns:

      The name of this Animation.

  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!=(Animation const &in_that) const

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

    Parameters:

      in_that – The source Animation to compare to this Animation.

    Returns:

      true if the objects reference different impls, false otherwise.

  Animation &operator=(Animation &&in_that)
  Animation &operator=(Animation const &in_that)
  bool operator==(Animation const &in_that) const

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

    Parameters:

      in_that – The source Animation to compare to this Animation.

    Returns:

      true if the objects reference the same impl, false otherwise.

  void RemoveChannel(Channel &in_channel)

    Removes a Channel from this Animation and deletes it.

    Parameters:

      in_channel – The channel to remove from this Animation.

  ~Animation()

  Public Static Attributes

  static const HPS::Type staticType = HPS::Type::Animation

Hello I'm HOOPSY!

HOOPSY BETA

Hello I am HOOPSY! your Docs generative AI assistant.

Ask me anything about HOOPS Visualize HPS or choose a sample question below to start a conversation:

Additional info

HOOPSY may store chats to provide and maintain the service according to OpenAI's data policy.

This feature is currently experimental. While we are continually enhancing its performance and quality, the underlying AI model may generate inaccurate or fabricated responses, especially if prompted to do so.

New Conversation
Continue generating