# HIOUtilityStl

## Functions

| `HIOUtilityStl`
| `~HIOUtilityStl`
const char * | `GetOutputName`
const char * | `GetInputName`
void | `RegisterInputHandlerTypes`
void | `RegisterOutputHandlerTypes`
const char * | `GetInputTypesString`
const char * | `GetOutputTypesString`
`HInputHandlerStyle` | `GetInputStyle`
`HOutputHandlerStyle` | `GetOutputStyle`
`HFileIOResult` | `FileInputByKey`
`HFileIOResult` | `FileInputByKey`
`HFileIOResult` | `FileInputByKey`
`HFileIOResult` | `FileOutputByKey`
`HFileIOResult` | `FileOutputByKey`
`HFileIOResult` | `FileOutputByKey`

## Detailed Description

class HIOUtilityStl : public HInputHandler, public HOutputHandler

  The HIOUtilitySTL allows you to read and write binary and ASCII stereolithography or STL files.

  Public Functions

  inline HIOUtilityStl()

    Constructs an HIOUtilityStl object.

  inline virtual ~HIOUtilityStl()
  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 void RegisterInputHandlerTypes()

    This method registers the “stl” extension to this handler as an input handler.

  inline virtual void RegisterOutputHandlerTypes()

    This method registers the “stl” extension to this handler as an output handler.

  inline virtual const char *GetInputTypesString()
    Returns

      The input extension type that is handled by HIOUtilityStl which is “stl”.

  inline virtual const char *GetOutputTypesString()
    Returns

      The string of the type of output this handler creates which is “stl”.

  inline virtual HInputHandlerStyle GetInputStyle()
    Returns

      The type of input style which is HInputHandlerStyleModel.

  inline virtual HOutputHandlerStyle GetOutputStyle()
    Returns

      The type of output style which is HOutputHandlerStyleModel.

  virtual HFileIOResult FileInputByKey(const __wchar_t *FileName, HC_KEY key, HInputHandlerOptions *options)

    This method reads a stereolithography file. The file contents are mapped to a HOOPS shell primitive that is inserted into the currently open HOOPS segment. Both ASCII and binary .stl files are supported.

    Parameters

      - filename – The name of the file to load.

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

      - options – This parameter is currently not being used.

    Returns

      The #HFileInputResult result of the input operation.

  inline virtual HFileIOResult 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 HFileIOResult 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.

  virtual HFileIOResult FileOutputByKey(const __wchar_t *filename, HC_KEY key, HOutputHandlerOptions *options)

    This method writes a stereolithography file out of the segment tree underneath the given key. Both ASCII and binary .stl files are supported.

    Parameters

      - filename – The name of the file to output.

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

      - options – Set this parameter’s m_bAscii member to true if you want to write an ASCII .stl file or false to write a binary .stl file.

    Returns

      The #HFileOutputResult result of the output operation.

  inline virtual HFileIOResult 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 HFileIOResult 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.