# HBhvUtility

## Functions

void | `GetQuatPoint`
void | `GetMatrix`
void | `GetQuatPoint`
void | `GetMatrix`
void | `ConvertHSFtoMorph`
void | `ConvertHSFtoSegSwitch`
void | `SetupAnimationReadFromHSF`
void | `SetupAnimationWriteFromHSF`
void | `ShowModellingMatrix`
void | `MakeCameraKeyframe`
HBhvAnimation * | `AddAnimation`
void | `AddPosKeyframe`
void | `AddRotKeyframe`
void | `AddPosRotKeyframe`
void | `AddMatrixKeyframe`
void | `AddPosRotKeyframe`
void | `AddInstanceCreateKeyframe`
void | `AddSegmentMoveKeyframe`

## Detailed Description

class HBhvUtility

  The HBhvUtility class contains a set of utility functions and data structures used in the behaviour classes.

  Public Static Functions

  static void GetQuatPoint(HUtilityTextParser *tp, HQuat &quat)

    Extracts Quaternion from string

    Parameters

      - tp – Pointer to text parser object

      - quat – Returns extracted quaternion

  static void GetMatrix(HUtilityTextParser *tp, float matrix[])
  static void GetQuatPoint(const char *text, HQuat &quat)

    Extracts Quaternion from string

    Parameters

      - text – Text to extract quaternion from

      - quat – Returns extracted quaternion

  static void GetMatrix(const char *text, float matrix[])
  static void ConvertHSFtoMorph(const char *filename, HBaseModel *model)

    Converts sequence of HSF files to Vertex Morph Interpolator

    Parameters

      - filename – Name of first file in sequence

      - model – Pointer to HBaseModel object

  static void ConvertHSFtoSegSwitch(const char *filename, HBaseModel *model)

    Converts sequence of HSF files to Segment Switch Interpolator

    Parameters

      - filename – Name of first file in sequence

      - model – Pointer to HBaseModel object

  static void SetupAnimationReadFromHSF(HStreamFileToolkit *mytool, HBaseModel *model)

    Sets up streaming toolkit for reading of behaviour related XML data

    Parameters

      - mytool – Pointer to streaming toolkit

      - model – Pointer to HBaseModel object

  static void SetupAnimationWriteFromHSF(HStreamFileToolkit *mytool, HBaseModel *model)

    Sets up streaming toolkit for writing of behaviour related XML data

    Parameters

      - mytool – Pointer to streaming toolkit

      - model – Pointer to HBaseModel object

  static void ShowModellingMatrix(float *segment_modelling_matrix)

    Retrieves modelling matrix in currently open segment

    Parameters

      segment_modelling_matrix – Returns modelling matrix

  static void MakeCameraKeyframe(HBaseView *view, float timediff, bool targetmode = false)
  static HBhvAnimation *AddAnimation(HBaseModel *model, char *name, char *targetpath, HPoint *pivot)
  static void AddPosKeyframe(HBaseModel *model, char *animname, int tick, HPoint pos, bool linear)
  static void AddRotKeyframe(HBaseModel *model, char *animname, int tick, HQuat pos, bool linear)
  static void AddPosRotKeyframe(HBaseModel *model, const char *animname, int tick, HPoint pivot, float matrix[])
  static void AddMatrixKeyframe(HBaseModel *model, HBhvAnimation *ani, int tick, float matrix[])
  static void AddPosRotKeyframe(HBaseModel *model, char *animname, int tick, HPoint pos, bool linear, HQuat quat, bool linear2)
  static void AddInstanceCreateKeyframe(HBaseModel *model, char *animname, int tick, char *path, char *include_path, char *color)
  static void AddSegmentMoveKeyframe(HBaseModel *model, HBhvAnimation *anim, int tick, char *path)