# HIOUtilityExchange

## Fields

int | `m_TextureLastCount`

## Functions

| `HIOUtilityExchange`
| `~HIOUtilityExchange`
void | `RegisterInputHandlerTypes`
char const * | `GetOutputName`
char const * | `GetInputName`
char const * | `GetInputTypesString`
`HInputHandlerStyle` | `GetInputStyle`
HFileInputResult | `FileInputByKey`
HFileInputResult | `FileInputByKey`
HFileInputResult | `FileInputByKey`
HFileOutputResult | `FileOutputByKey`
HFileOutputResult | `FileOutputByKey`
HFileOutputResult | `FileOutputByKey`
void | `RegisterOutputHandlerTypes`
void * | `BuildPRCModel`
char const * | `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`() override

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

  inline virtual char const *`GetOutputName`()

    Returns: | A character pointer denoting the name of the handler.

  inline virtual char const *`GetInputName`()

    Returns: | A character pointer denoting the name of the input handler.

  inline virtual char const *`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`(wchar_t const *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`(char const *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`(unsigned short const *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`(wchar_t const *filename, HC_KEY key, HOutputHandlerOptions *options)
  inline virtual HFileOutputResult `FileOutputByKey`(unsigned short const *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`(char const *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 char const *`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`

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Visualize 3DF in your own language, or choose a sample question below to start a conversation:

What is HOOPS Visualize 3DF?
What are the latest release notes for HOOPS Visualize 3DF?
How do I start evaluating HOOPS Visualize 3DF?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...