Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HIOUtilityObj Class Reference

#include <HIOUtilityObj.h>

List of all members.

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 ()

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.

extures 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 ( ) [inline]

Constructs an HIOUtilityObj object.

References HInputOpFileInputByKey, and HInputHandler::SetInputOps().


Member Function Documentation

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.

HFileInputResult HIOUtilityObj::FileInputByKey ( const char *  filename,
HC_KEY  key,
HInputHandlerOptions options 
) [inline, virtual]

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.

References HInputHandler::FileInputByKey().

HFileInputResult HIOUtilityObj::FileInputByKey ( const unsigned short *  filename,
HC_KEY  key,
HInputHandlerOptions options 
) [inline, virtual]

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.

References HInputHandler::FileInputByKey().

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.

HFileOutputResult HIOUtilityObj::FileOutputByKey ( const unsigned short *  filename,
HC_KEY  key,
HOutputHandlerOptions options 
) [inline, virtual]

This method writes model data from a given HOOPS key to a given output file. Note that this must be implimented 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.

References HOutputHandler::FileOutputByKey().

HFileOutputResult HIOUtilityObj::FileOutputByKey ( const char *  filename,
HC_KEY  key,
HOutputHandlerOptions options 
) [inline, virtual]

This method writes model data from a given HOOPS key to a given output file. Note that this must be implimented 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.

References HOutputHandler::FileOutputByKey().

const char* HIOUtilityObj::GetInputName ( ) [inline, virtual]
Returns:
A character pointer denoting the name of the input handler.

Implements HInputHandler.

HInputHandlerStyle HIOUtilityObj::GetInputStyle ( ) [inline, virtual]
Returns:
The type of input style which is HInputHandlerStyleModel.

Implements HInputHandler.

References HInputHandlerStyleModel.

const char* HIOUtilityObj::GetInputTypesString ( ) [inline, virtual]
Returns:
The input extension type that is handled by HIOUtilityObj which is "obj".

Implements HInputHandler.

const char* HIOUtilityObj::GetOutputName ( ) [inline, virtual]
Returns:
A character pointer denoting the name of the handler.

Implements HOutputHandler.

HOutputHandlerStyle HIOUtilityObj::GetOutputStyle ( ) [inline, virtual]
Returns:
The type of output style which is HOutputHandlerStyleModel.

Implements HOutputHandler.

const char* HIOUtilityObj::GetOutputTypesString ( ) [inline, virtual]
Returns:
The string of the type of output this handler creates which is "obj".

Implements HOutputHandler.

void HIOUtilityObj::RegisterInputHandlerTypes ( ) [inline, virtual]

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

Implements HInputHandler.

References HIORegisterInputType.

void HIOUtilityObj::RegisterOutputHandlerTypes ( ) [inline, virtual]

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: