# HIOUtilityExchange

## Fields

int | `m_TextureLastCount`

## Functions

| `HIOUtilityExchange`
| `~HIOUtilityExchange`
void | `RegisterInputHandlerTypes`
const char * | `GetOutputName`
const char * | `GetInputName`
const char * | `GetInputTypesString`
`HInputHandlerStyle` | `GetInputStyle`
HFileInputResult | `FileInputByKey`
HFileInputResult | `FileInputByKey`
HFileInputResult | `FileInputByKey`
HFileOutputResult | `FileOutputByKey`
HFileOutputResult | `FileOutputByKey`
HFileOutputResult | `FileOutputByKey`
void | `RegisterOutputHandlerTypes`
void * | `BuildPRCModel`
const char * | `GetOutputTypesString`
`HOutputHandlerStyle` | `GetOutputStyle`

## Detailed Description

class HIOUtilityExchange : public HInputHandler, public HOutputHandler

  The HIOUtilityExchange class is used for loading a variety of CAD formats (mostly Brep) into HOOPS. It requires an installation of HOOPS Exchange. The CAD file is converted to an internal format (PRC) which is then parsed for hierachy information and to create the tesselated data.

  Public Functions

  HIOUtilityExchange()

    Constructs an HIOUtility object.

  inline virtual ~HIOUtilityExchange()
  virtual void RegisterInputHandlerTypes()

    This method registers the appropriate extensions to this handler as an input handler.

  inline virtual const char *GetOutputName()
    Returns

      A character pointer denoting the name of the handler.

  inline virtual const char *GetInputName()
    Returns

      A character pointer denoting the name of the input handler.

  inline virtual const char *GetInputTypesString()
    Returns

      The input extension type that is handled by HIOUtilityExchange.

  inline virtual HInputHandlerStyle GetInputStyle()
    Returns

      The type of input style which is HInputHandlerStyleModel.

  HFileInputResult FileInputByKey(const wchar_t *FileName, HC_KEY key, HInputHandlerOptions *options)

    This method reads the modeller file ‘filename’ into the segment tree underneath key.

    Parameters

      - filename – The name of the file to load.

      - key – The HOOPS segment key to load model data into.

      - options – An options class containing any needed extra information for operation.

    Returns

      The #HFileInputResult result of the input operation.

  inline virtual HFileInputResult FileInputByKey(const char *FileName, HC_KEY key, HInputHandlerOptions *options)

    This method loads model data from a given file to a given HOOPS segment key. Note that this must be implemented in a subclassed HInputHandler instance handling models.

    Parameters

      - filename – The name of the file to load.

      - key – The HOOPS segment key to load model data into.

      - options – An options class containing any needed extra information for the operation.

    Returns

      The #HFileInputResult result of the input operation.

  inline virtual HFileInputResult FileInputByKey(const unsigned short *FileName, HC_KEY key, HInputHandlerOptions *options)

    This method loads model data from a given file to a given HOOPS segment key. Note that this must be implemented in a subclassed HInputHandler instance handling models.

    Parameters

      - filename – The UNICODE name of the file to load.

      - key – The HOOPS segment key to load model data into.

      - options – An options class containing any needed extra information for the operation.

    Returns

      The #HFileInputResult result of the input operation.

  HFileOutputResult FileOutputByKey(const wchar_t *filename, HC_KEY key, HOutputHandlerOptions *options)
  inline virtual HFileOutputResult FileOutputByKey(const unsigned short *filename, HC_KEY key, HOutputHandlerOptions *options)

    This method writes model data from a given HOOPS key to a given output file. Note that this must be implemented in a subclassed HOutputHandler instance handling models.

    Parameters

      - filename – The wide character name of the file to output.

      - key – The HOOPS segment key to get output model data from.

      - options – The options class containing any needed extra information for the operation.

    Returns

      The #HFileOutputResult result of the output operation.

  inline virtual HFileOutputResult FileOutputByKey(const char *filename, HC_KEY key, HOutputHandlerOptions *options)

    This method writes model data from a given HOOPS key to a given output file. Note that this must be implemented in a subclassed HOutputHandler instance handling models.

    Parameters

      - filename – The name of the file to output.

      - key – The HOOPS segment key to output model data from.

      - options – The options class containing any needed extra information for the operation.

    Returns

      The #HFileOutputResult result of the output operation.

  virtual void RegisterOutputHandlerTypes()

    This abstract function must register extension types to be handled by subclassed HOutputHandler instance.

    For example, the following lines of code can be used to specify a class that will handle files with “tiff” and “tif” extensions:

  virtual void *BuildPRCModel(HOutputHandlerOptions *options, HC_KEY key)

    !This method creates a A3DAsmModelFile object from a HOOPS segment tree

    Parameters

      - options – Output Handler Options. The m_pHBaseView must be set

      - key – Start Segment Key

    Returns

      A3DAsmModelFile pointer

  inline virtual const char *GetOutputTypesString()

    This must be implemented in a subclassed HOutputHandler For example: the following line of code can be use to specify the stl extension:

    The following line of code can be used to specify that jpg, bmp and gif extension are handled:

    Returns

      The extension type or types that can be handled by this HOutputHandler.

  inline virtual HOutputHandlerStyle GetOutputStyle()

    For example: the following code can be used for an HOutputHandler that outputs model:

    Returns

      The HOutputHandlerStyle that this instance will use. It can be HOutputHandlerStyleModel for geometry data, HOutputHandlerStyleImage for images, HOutputHandlerStyleHardcopy for hardcopy or HOutputHandlerStyleHTML for MVO style html page.

  Public Members

  int m_TextureLastCount