# HBhvInterpolatorAttSwitch

## Functions

| `HBhvInterpolatorAttSwitch`
const char * | `GetType`
HBhvInterpolator * | `CreateInstance`
void | `Insert`
void | `Replace`
void | `Serialize`
void | `Interpolate`
void * | `XMLCallback`

## Detailed Description

class HBhvInterpolatorAttSwitch : public HBhvInterpolator

  The HBhvInterpolatorAttSwitch class switches attributes on segments.

  HBhvInterpolatorAttSwitch uses HC_Style_Segment() to change the attribute on the segments specified in the keyframe list.

  Public Functions

  HBhvInterpolatorAttSwitch(HBhvAnimation *animation = 0, const char *name = 0)

    Constructs an HBhvInterpolatorAttSwitch object.

    Parameters

      - animation – The animation that this interpolator belongs to.

      - name – The name of the interpolator.

  virtual const char *GetType()
    Returns

      The type of the interpolator which is ‘AttSwitch’.

  virtual HBhvInterpolator *CreateInstance(HBhvAnimation *ainst)

    In special cases, you may want an interpolator that references this interpolator without changing it. Use this method to create the new interpolator passing a pointer to the animation that you want it to be associated with.

    Parameters

      ainst – The animation instance that this interpolator is associated with.

    Returns

      The newly created interpolator that references this interpolator.

  inline void Insert(const char *t, int l = 0)

    This method creates a new keyframe with the passed style segment path t and then inserts it after the passed position l into the keyframe array.

    Parameters

      - t – The style segment path for the new keyframe.

      - l – The array position to insert item after.

  inline void Replace(const char *spath, int l)

    Replaces the item at the given position in the keyframe array with a new keyframe that was created with the passed style segment path spath.

    Parameters

      - spath – The style segment path for the new replacement keyframe.

      - l – The array position to replace.

  virtual void Serialize(HUtilityXMLGenerator *xmlgen)

    Writes XML data to a buffer using the passed XML generator.

  virtual void Interpolate(int keyframe, float fraction)

    Performs interpolation on the animation target.

    Parameters

      - keyframe – The reference keyframe for this interpolation.

      - fraction – The fraction value from the specified keyframe to the next keyframe. The value is from 0 to 1.

  Public Static Functions

  static void *XMLCallback(HUtilityXMLTag *xt, bool open, void *m_pExtraData)

    This is XML read callback which parses XML data and then populates the member variables with the associated values.