HIOUtilityPublish Class Reference

#include <HIOUtilityPublish.h>

Public Member Functions

virtual void * BuildPRCModel (HOutputHandlerOptions *options, HC_KEY key)
 
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)
 
char * GenerateJavascript (HBaseView *view)
 
const char * GetInputName ()
 
HInputHandlerStyle GetInputStyle ()
 
const char * GetInputTypesString ()
 
const char * GetOutputName ()
 
HOutputHandlerStyle GetOutputStyle ()
 
const char * GetOutputTypesString ()
 
 HIOUtilityPublish ()
 
void RegisterInputHandlerTypes ()
 
void RegisterOutputHandlerTypes ()
 
void ReleaseJavascript ()
 
virtual HFileIOResult WritePDFFromTemplate (wchar_t const *file_name, void *PRCModel, HOutputHandlerOptions *options, HPDFLayoutManager *layoutmanager, wchar_t const *javascript_file)
 
virtual HFileIOResult WriteSimplePDF (wchar_t const *file_name, void *PRCModel, HOutputHandlerOptions *options, wchar_t const *javascript_file, const HPEViewsArray &hoopsviews)
 
- Public Member Functions inherited from HInputHandler
virtual HFileInputResult FileInputByKey (const __wchar_t *filename, HC_KEY key, HInputHandlerOptions *options)
 
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 FileOutputByKey (const __wchar_t *filename, HC_KEY key, HOutputHandlerOptions *options)
 
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 HIOUtilityPublish class is used for exporting either the HOOPS scene graph or an existing prc model as a 3D PDF. It requires an installation of HOOPS Publish.

Constructor & Destructor Documentation

◆ HIOUtilityPublish()

HIOUtilityPublish::HIOUtilityPublish ( )

Constructs an HIOUtility object.

Member Function Documentation

◆ BuildPRCModel()

virtual void* HIOUtilityPublish::BuildPRCModel ( HOutputHandlerOptions options,
HC_KEY  key 
)
virtual

!This method creates a A3DAsmModelFile object from a HOOPS segment tree

Parameters
optionsOutput Handler Options. The m_pHBaseView must be set
keyStart Segment Key
Returns
A3DAsmModelFile pointer

◆ FileInputByKey() [1/3]

HFileInputResult HIOUtilityPublish::FileInputByKey ( const wchar_t *  FileName,
HC_KEY  key,
HInputHandlerOptions options 
)

This method reads the modeller file 'filename' into the segment tree underneath 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.

◆ FileInputByKey() [2/3]

HFileInputResult HIOUtilityPublish::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 HIOUtilityPublish::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/2]

HFileOutputResult HIOUtilityPublish::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() [2/2]

HFileOutputResult HIOUtilityPublish::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.

◆ GenerateJavascript()

char* HIOUtilityPublish::GenerateJavascript ( HBaseView view)

This method creates javascript code from an animation stored in the HBhvBehaviorManager of the HBaseView object. Make sure to call ReleaseJavascript to free memory

Parameters
file_name
PRCModelA3DAsmModelFile pointer
layoutmanagerPointer to HPDFLayoutManager object which allows for modification of PDF fields
javascript_fileJavaScript to attach to the 3d object

◆ GetInputName()

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

Implements HInputHandler.

◆ GetInputStyle()

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

Implements HInputHandler.

References HInputHandlerStyleModel.

◆ GetInputTypesString()

const char* HIOUtilityPublish::GetInputTypesString ( )
inlinevirtual
Returns
The input extension type that is handled by HIOUtilityPublish.

Implements HInputHandler.

◆ GetOutputName()

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

Implements HOutputHandler.

◆ GetOutputStyle()

HOutputHandlerStyle HIOUtilityPublish::GetOutputStyle ( )
inlinevirtual
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.

For example: the following code can be used for an HOutputHandler that outputs model:

{return HOutputHandlerStyleModel;}

Implements HOutputHandler.

◆ GetOutputTypesString()

const char* HIOUtilityPublish::GetOutputTypesString ( )
inlinevirtual

This must be implemented in a subclassed HOutputHandler

Returns
The extension type or types that can be handled by this HOutputHandler.

For example: the following line of code can be use to specify the stl extension:

{return "stl";};

The following line of code can be used to specify that jpg, bmp and gif extension are handled:

{return "jpg;bmp;gif";};

Implements HOutputHandler.

◆ RegisterInputHandlerTypes()

void HIOUtilityPublish::RegisterInputHandlerTypes ( )
virtual

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

Implements HInputHandler.

◆ RegisterOutputHandlerTypes()

void HIOUtilityPublish::RegisterOutputHandlerTypes ( )
virtual

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:

{HIORegisterOutputType("tif",this);
HIORegisterOutputType("tiff",this);};

Implements HOutputHandler.

◆ ReleaseJavascript()

void HIOUtilityPublish::ReleaseJavascript ( )

This method frees the buffer allocated by a previous call to GenerateJavascript

◆ WritePDFFromTemplate()

virtual HFileIOResult HIOUtilityPublish::WritePDFFromTemplate ( wchar_t const *  file_name,
void *  PRCModel,
HOutputHandlerOptions options,
HPDFLayoutManager layoutmanager,
wchar_t const *  javascript_file 
)
virtual

This method creates a PDF file from an existing template

Parameters
file_nameName of output file
PRCModelA3DAsmModelFile pointer
layoutmanagerPointer to HPDFLayoutManager object which allows for modification of PDF fields
javascript_fileJavaScript to attach to the 3d object

◆ WriteSimplePDF()

virtual HFileIOResult HIOUtilityPublish::WriteSimplePDF ( wchar_t const *  file_name,
void *  PRCModel,
HOutputHandlerOptions options,
wchar_t const *  javascript_file,
const HPEViewsArray &  hoopsviews 
)
virtual

This method creates a PDF file from a prc model

Parameters
file_nameName of output file
PRCModelA3DAsmModelFile pointer
optionsPDF Options
javascript_fileJavaScript to attach to the 3d object
arrayof additional views

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