#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 () |
![]() | |
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) |
HIONoticeCallback * | SetInputInformationNoticeCallback (HIONoticeCallback *notice_callback) |
HIOPercentNoticeCallback * | SetInputPercentProgressNoticeCallback (HIOPercentNoticeCallback *percent_notice_callback) |
HIONoticeCallback * | SetInputProgressNoticeCallback (HIONoticeCallback *notice_callback) |
void | SetModuleDirectory (const char *module_directory) |
void | SetModuleDirectory (const __wchar_t *module_directory) |
![]() | |
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) |
HIONoticeCallback * | SetOutputInformationNoticeCallback (HIONoticeCallback *notice_callback) |
HIOPercentNoticeCallback * | SetOutputPercentProgressNoticeCallback (HIOPercentNoticeCallback *percent_notice_callback) |
HIONoticeCallback * | SetOutputProgressNoticeCallback (HIONoticeCallback *notice_callback) |
Additional Inherited Members | |
![]() | |
void | SetFinishedInput () |
void | SetInputOps (unsigned long ops) |
This sets the HInputOp. | |
void | SetStartingInput (const char *filename) |
void | SetStartingInput (const __wchar_t *filename=0) |
![]() | |
void | SetFinishedOutput () |
void | SetOutputOps (unsigned long ops) |
This sets the HOutputOp. | |
void | SetStartingOutput () |
![]() | |
unsigned long | m_InputOps |
This is the HInputOp set for a subclassed instance. | |
__wchar_t * | m_module_directory |
![]() | |
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()
|
inline |
Constructs an HIOUtilityObj object.
References HInputOpFileInputByKey, and HInputHandler::SetInputOps().
Member Function Documentation
◆ FileInputByKey() [1/3]
|
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
-
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.
Reimplemented from HInputHandler.
◆ FileInputByKey() [2/3]
|
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
-
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.
Reimplemented from HInputHandler.
◆ FileInputByKey() [3/3]
|
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
-
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.
Reimplemented from HInputHandler.
◆ FileOutputByKey() [1/3]
|
virtual |
This method writes a Alias|Wavefront file out of the segment tree underneath the given key.
- 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.
Reimplemented from HOutputHandler.
◆ FileOutputByKey() [2/3]
|
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
-
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.
Reimplemented from HOutputHandler.
◆ FileOutputByKey() [3/3]
|
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
-
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.
Reimplemented from HOutputHandler.
◆ GetInputName()
|
inlinevirtual |
- Returns
- A character pointer denoting the name of the input handler.
Implements HInputHandler.
◆ GetInputStyle()
|
inlinevirtual |
- Returns
- The type of input style which is HInputHandlerStyleModel.
Implements HInputHandler.
References HInputHandlerStyleModel.
◆ GetInputTypesString()
|
inlinevirtual |
- Returns
- The input extension type that is handled by HIOUtilityObj which is "obj".
Implements HInputHandler.
◆ GetOutputName()
|
inlinevirtual |
- Returns
- A character pointer denoting the name of the handler.
Implements HOutputHandler.
◆ GetOutputStyle()
|
inlinevirtual |
- Returns
- The type of output style which is HOutputHandlerStyleModel.
Implements HOutputHandler.
◆ GetOutputTypesString()
|
inlinevirtual |
- Returns
- The string of the type of output this handler creates which is "obj".
Implements HOutputHandler.
◆ RegisterInputHandlerTypes()
|
inlinevirtual |
This method registers the "obj" extension to this handler as an input handler.
Implements HInputHandler.
References HIORegisterInputType.
◆ 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: