# HBhvInterpolatorInstanceCreate

## Functions

| `HBhvInterpolatorInstanceCreate`
| `~HBhvInterpolatorInstanceCreate`
const char * | `GetType`
HBhvInterpolator * | `CreateInstance`
void | `Insert`
void | `Replace`
void | `Serialize`
void | `Interpolate`
void | `Reset`
void * | `XMLCallback`
void | `DeciperString`

## Detailed Description

class HBhvInterpolatorInstanceCreate : public HBhvInterpolator

  The HBhvInterpolatorInstanceCreate creates a new instance of the target object at the location in the segment hierachy specified in the keyframe

  Public Functions

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

    Constructs an HBhvInterpolatorInstanceCreate object.

    Parameters

      - animation – The animation that this interpolator belongs to.

      - name – The name of the interpolator.

  ~HBhvInterpolatorInstanceCreate()
  virtual const char *GetType()
    Returns

      The type of the interpolator which is ‘InstanceCreate’.

  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(char *t, char *t2, char *t3, int l = 0)

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

    Parameters

      - t – Segment path to insert

      - l – array position to insert item after

  inline void Replace(char *t, char *t2, char *t3, int l)

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

    Parameters

      - spath – Segment path to replace with

      - l – 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 an 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/

  virtual void Reset()

    Resets the interpolator instance by turning off the visibility of all segments in the keyframe list.

  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.

  static void DeciperString(HBhvInterpolatorInstanceCreate *itp, char *text, HBaseModel *model, int &counter)