HIOUtilityObj Class Reference

#include <HIOUtilityObj.h>

Public Member Functions

HFileInputResult FileInputByKey (const __wchar_t *FileName, HC_KEY key, HInputHandlerOptions *options)
 
HFileInputResult FileInputByKey (const char *FileName, HC_KEY key, HInputHandlerOptions *options)
 
HFileInputResult FileInputByKey (const unsigned short *FileName, HC_KEY key, HInputHandlerOptions *options)
 
HFileOutputResult FileOutputByKey (const __wchar_t *filename, HC_KEY key, HOutputHandlerOptions *options)
 
HFileOutputResult FileOutputByKey (const unsigned short *filename, HC_KEY key, HOutputHandlerOptions *options)
 
HFileOutputResult FileOutputByKey (const char *filename, HC_KEY key, HOutputHandlerOptions *options)
 
const char * GetInputName ()
 
HInputHandlerStyle GetInputStyle ()
 
const char * GetInputTypesString ()
 
const char * GetOutputName ()
 
HOutputHandlerStyle GetOutputStyle ()
 
const char * GetOutputTypesString ()
 
 HIOUtilityObj ()
 
void RegisterInputHandlerTypes ()
 
void RegisterOutputHandlerTypes ()
 
- Public Member Functions inherited from HInputHandler
virtual HFileInputResult FileInputToImageKey (const char *filename, HC_KEY *image_key, HC_KEY segment_key, HInputHandlerOptions *options)
 
virtual HFileInputResult FileInputToImageKey (const __wchar_t *filename, HC_KEY *image_key, HC_KEY segment_key, HInputHandlerOptions *options)
 
virtual HFileInputResult FileInputToImageKey (const unsigned short *filename, HC_KEY *image_key, HC_KEY segment_key, HInputHandlerOptions *options)
 
const __wchar_t * GetInputInformation ()
 
unsigned long GetInputOps ()
 
float GetInputPercentProgress ()
 
const __wchar_t * GetInputProgress ()
 
 HInputHandler ()
 
void ReportInputInformation (const char *information)
 This posts information to the information queue.
 
void ReportInputInformation (const __wchar_t *information)
 
void ReportInputPercentProgress (float percent_progress)
 This posts the current percent progress should be between 0.0 and 1.0.
 
void ReportInputProgress (const char *progress)
 This posts the current progress message.
 
void ReportInputProgress (const __wchar_t *progress)
 
HIONoticeCallbackSetInputInformationNoticeCallback (HIONoticeCallback *notice_callback)
 
HIOPercentNoticeCallbackSetInputPercentProgressNoticeCallback (HIOPercentNoticeCallback *percent_notice_callback)
 
HIONoticeCallbackSetInputProgressNoticeCallback (HIONoticeCallback *notice_callback)
 
void SetModuleDirectory (const char *module_directory)
 
void SetModuleDirectory (const __wchar_t *module_directory)
 
- Public Member Functions inherited from HOutputHandler
virtual HFileOutputResult FileOutputFromImageKey (const char *filename, HC_KEY image_key, HOutputHandlerOptions *options)
 
virtual HFileOutputResult FileOutputFromImageKey (const __wchar_t *filename, HC_KEY image_key, HOutputHandlerOptions *options)
 
virtual const char * GetOutputDefaultHSRA ()
 
const __wchar_t * GetOutputInformation ()
 
unsigned long GetOutputOps ()
 
float GetOutputPercentProgress ()
 
const char * GetOutputProgress ()
 
 HOutputHandler ()
 
void ReportOutputInformation (const char *information)
 This posts information to the information queue.
 
void ReportOutputPercentProgress (float percent_progress)
 This posts the current percent progress message should be between 0.0 and 1.0.
 
void ReportOutputProgress (const char *progress)
 This posts the current progress message.
 
void SetModuleDirectory (const char *module_directory)
 
void SetModuleDirectory (const __wchar_t *module_directory)
 
HIONoticeCallbackSetOutputInformationNoticeCallback (HIONoticeCallback *notice_callback)
 
HIOPercentNoticeCallbackSetOutputPercentProgressNoticeCallback (HIOPercentNoticeCallback *percent_notice_callback)
 
HIONoticeCallbackSetOutputProgressNoticeCallback (HIONoticeCallback *notice_callback)
 

Additional Inherited Members

- Protected Member Functions inherited from HInputHandler
void SetFinishedInput ()
 
void SetInputOps (unsigned long ops)
 This sets the HInputOp.
 
void SetStartingInput (const char *filename)
 
void SetStartingInput (const __wchar_t *filename=0)
 
- Protected Member Functions inherited from HOutputHandler
void SetFinishedOutput ()
 
void SetOutputOps (unsigned long ops)
 This sets the HOutputOp.
 
void SetStartingOutput ()
 
- Protected Attributes inherited from HInputHandler
unsigned long m_InputOps
 This is the HInputOp set for a subclassed instance.
 
__wchar_t * m_module_directory
 
- Protected Attributes inherited from HOutputHandler
char * m_module_directory
 
unsigned long m_OutputOps
 This is the HOutputOp set for a subclassed instance.
 

Detailed Description

The HIOUtilityObj class reads and writes Alias|Wavefront files. See the following import/export notes and limitations.

The following notes apply to the exporter:

  The following geometry types are exported as face geometry "shell,mesh,polygon,polycylinder,sphere,cylinder,ellipse,circle,circular chord,circular wedge,nurbs surface,grid"

  The following geometry types are exported as line geometry "polyline,line,nurbs curve,elliptical arc,circular arc"

  Markers are exported as points. Markers use line color.

  Line styles, edge styles, and marker styles are not supported.

  Geometry will be exported if its net visibility segment is "on". Geometry local visibilities have no effect.

  Modelling matrices above the segment you transform will not affect the output. If a user wants to achieve this effect, he should create a dummy segment with the net ancestor matrix and include the segment he normally would have exported. Export this segment instead and delete it when done. The same applies for visibilities and colors.

  Include links are followed unless it is a conditional include with a false condition.

  Geometry references are supported.

  If exporting from a left-handed system, point X values will be negated.

  Textures and environment maps are supported for simple textures. Texture matrices are not supported.

  Ambient, diffuse, specular, and transmission colors are supported. If any of the latter three are set at the geometry level, the exported geometry will have that color. Face-level color settings will not be exported.

  The exporter cannot handle holes defined by negative face counts in shell faces. These holes are ignored by the exporter.

The following notes apply to the importer:

  If importing to a left-handed system, point X values will be negated.

  Importer no longer sets handedness to right, nor does it set a default color to white.

  Importer does not load line data.

Constructor & Destructor Documentation

◆ HIOUtilityObj()

HIOUtilityObj::HIOUtilityObj ( )
inline

Constructs an HIOUtilityObj object.

References HInputOpFileInputByKey, and HInputHandler::SetInputOps().

Member Function Documentation

◆ FileInputByKey() [1/3]

HFileInputResult HIOUtilityObj::FileInputByKey ( const __wchar_t *  FileName,
HC_KEY  key,
HInputHandlerOptions options 
)
virtual

This method reads an Alias|Wavefront file. The file contents are mapped to a HOOPS shell primitive that is inserted into the HOOPS segment specified by the key.

Parameters
filenameThe name of the file to load.
keyThe HOOPS segment key to load model data into.
optionsAn options class containing any needed extra information for operation.
Returns
The #HFileInputResult result of the input operation.

Reimplemented from HInputHandler.

◆ FileInputByKey() [2/3]

HFileInputResult HIOUtilityObj::FileInputByKey ( const char *  filename,
HC_KEY  key,
HInputHandlerOptions options 
)
inlinevirtual

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
filenameThe name of the file to load.
keyThe HOOPS segment key to load model data into.
optionsAn options class containing any needed extra information for the operation.
Returns
The #HFileInputResult result of the input operation.

Reimplemented from HInputHandler.

◆ FileInputByKey() [3/3]

HFileInputResult HIOUtilityObj::FileInputByKey ( const unsigned short *  filename,
HC_KEY  key,
HInputHandlerOptions options 
)
inlinevirtual

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
filenameThe UNICODE name of the file to load.
keyThe HOOPS segment key to load model data into.
optionsAn options class containing any needed extra information for the operation.
Returns
The #HFileInputResult result of the input operation.

Reimplemented from HInputHandler.

◆ FileOutputByKey() [1/3]

HFileOutputResult HIOUtilityObj::FileOutputByKey ( const __wchar_t *  filename,
HC_KEY  key,
HOutputHandlerOptions options 
)
virtual

This method writes a Alias|Wavefront file out of the segment tree underneath the given key.

Parameters
filenameThe name of the file to output.
keyThe HOOPS segment key to output model data from.
optionsThe options class containing any needed extra information for the operation.
Returns
The #HFileOutputResult result of the output operation.

Reimplemented from HOutputHandler.

◆ FileOutputByKey() [2/3]

HFileOutputResult HIOUtilityObj::FileOutputByKey ( const unsigned short *  filename,
HC_KEY  key,
HOutputHandlerOptions options 
)
inlinevirtual

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
filenameThe wide character name of the file to output.
keyThe HOOPS segment key to get output model data from.
optionsThe options class containing any needed extra information for the operation.
Returns
The #HFileOutputResult result of the output operation.

Reimplemented from HOutputHandler.

◆ FileOutputByKey() [3/3]

HFileOutputResult HIOUtilityObj::FileOutputByKey ( const char *  filename,
HC_KEY  key,
HOutputHandlerOptions options 
)
inlinevirtual

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
filenameThe name of the file to output.
keyThe HOOPS segment key to output model data from.
optionsThe options class containing any needed extra information for the operation.
Returns
The #HFileOutputResult result of the output operation.

Reimplemented from HOutputHandler.

◆ GetInputName()

const char* HIOUtilityObj::GetInputName ( )
inlinevirtual
Returns
A character pointer denoting the name of the input handler.

Implements HInputHandler.

◆ GetInputStyle()

HInputHandlerStyle HIOUtilityObj::GetInputStyle ( )
inlinevirtual
Returns
The type of input style which is HInputHandlerStyleModel.

Implements HInputHandler.

References HInputHandlerStyleModel.

◆ GetInputTypesString()

const char* HIOUtilityObj::GetInputTypesString ( )
inlinevirtual
Returns
The input extension type that is handled by HIOUtilityObj which is "obj".

Implements HInputHandler.

◆ GetOutputName()

const char* HIOUtilityObj::GetOutputName ( )
inlinevirtual
Returns
A character pointer denoting the name of the handler.

Implements HOutputHandler.

◆ GetOutputStyle()

HOutputHandlerStyle HIOUtilityObj::GetOutputStyle ( )
inlinevirtual
Returns
The type of output style which is HOutputHandlerStyleModel.

Implements HOutputHandler.

◆ GetOutputTypesString()

const char* HIOUtilityObj::GetOutputTypesString ( )
inlinevirtual
Returns
The string of the type of output this handler creates which is "obj".

Implements HOutputHandler.

◆ RegisterInputHandlerTypes()

void HIOUtilityObj::RegisterInputHandlerTypes ( )
inlinevirtual

This method registers the "obj" extension to this handler as an input handler.

Implements HInputHandler.

References HIORegisterInputType.

◆ RegisterOutputHandlerTypes()

void HIOUtilityObj::RegisterOutputHandlerTypes ( )
inlinevirtual

This method registers the "obj" and "OBJ" extensions to this handler as an output handler.

Implements HOutputHandler.

References HIORegisterOutputType.


The documentation for this class was generated from the following file: