< Home

< Programming Guide

< Supported File Formats

REFERENCE MANUAL

Typedefs | Functions
Custom Progress-Indicator

Specifies a custom progress indicator. More...

Typedefs

typedef A3DVoid(* A3DCallbackProgressStart )(A3DInt32)
 
typedef A3DVoid(* A3DCallbackProgressSize )(A3DInt32)
 
typedef A3DVoid(* A3DCallbackProgressIncrement )(A3DInt32)
 
typedef A3DVoid(* A3DCallbackProgressEnd )()
 
typedef A3DVoid(* A3DCallbackProgressTitle )(A3DUTF8Char *msg)
 

Functions

A3DStatus A3DDllSetCallbacksProgress (A3DCallbackProgressStart, A3DCallbackProgressSize, A3DCallbackProgressIncrement, A3DCallbackProgressEnd, A3DCallbackProgressTitle, A3DInt32 *)
 Sets callbacks for progress bar facility. More...
 

Detailed Description

Specifies a custom progress indicator.

This section describes the function and types that enable you to specify a custom progress indicator, such as a status bar.

Typedef Documentation

typedef A3DVoid(* A3DCallbackProgressStart)(A3DInt32)

A callback function the HOOPS Exchange Library invokes as it prepares to perform a potentially time-consuming process. The argument identifies the processing phase, as follows:

Processing phaseDescription
1Parsing the file
2Writing file
3Reading or building the model, which follows parsing the file (processing phase 1)
Version
2.0
typedef A3DVoid(* A3DCallbackProgressSize)(A3DInt32)

A callback function the HOOPS Exchange Library invokes to report an approximate size of the PRC stream being processed. The size is independent of units and is bounded only by the limit of the A3DInt32 type.

Version
2.0
typedef A3DVoid(* A3DCallbackProgressIncrement)(A3DInt32)

A callback function the HOOPS Exchange Library intermittently invokes while processing the PRC stream. As processing proceeds, the argument increments from 0 to a maximum of Size, where Size is the argument provided in A3DCallbackProgressSize.

Version
2.0
typedef A3DVoid(* A3DCallbackProgressEnd)()

A callback function the HOOPS Exchange Library invokes when it finishes the process.

Version
2.0
typedef A3DVoid(* A3DCallbackProgressTitle)(A3DUTF8Char *msg)

A callback function the HOOPS Exchange Library invokes to provide a text string relevant to the processing phase. In the case of reading PRC data from a file, the argument provides the name of the file containing the PRC stream.

Version
2.0

Function Documentation

A3DStatus A3DDllSetCallbacksProgress ( A3DCallbackProgressStart  fnPrgStart,
A3DCallbackProgressSize  fnPrgSize,
A3DCallbackProgressIncrement  fnPrgIncrement,
A3DCallbackProgressEnd  fnPrgEnd,
A3DCallbackProgressTitle  fnPrgTitle,
A3DInt32 piBreak 
)

Sets callbacks for progress bar facility.

This function configures the HOOPS Exchange Library with the callback functions that implement a custom progress indicator, such as a status bar.

The last argument passed to this function sets a break. The HOOPS Exchange Library checks this variable at every significant step in processing the PRC. If the value is non-zero, the HOOPS Exchange Library stops processing the PRC data.

Version
2.0
Attention
The HOOPS Exchange Library stops processing the PRC data if the last argument passed to this function is non-zero.
Sample code
A3DVoid my_start(A3DInt32 iType) { _tprintf(_T("STARTING PROCESS #%d"), iType); return fflush(stdout); }
static A3DInt32 stiSize = 0;
A3DVoid my_size(A3DInt32 iSize) { stiSize = iSize; }
A3DVoid my_increment(A3DInt32 i) { _tprintf(_T("PROCESS %d / %d"), i, stiSize); return fflush(stdout); }
A3DVoid my_end() { stiSize = 0; }
A3DVoid my_title(A3DUTF8Char* msg) { _tprintf(_T("CURRENT FILE %s"), msg); return fflush(stdout); }
A3DInt32 iMajorVersion,iMinorVersion = 0;
A3DInt32 my_break = 0;
iErr = A3DDllGetVersion( &iMajorVersion, &iMinorVersion );
if ( iErr == A3D_SUCCESS )
{
iErr = A3DDllSetCallbacksProgress( my_start , my_size , my_increment, my_end, my_title, &my_break );
iErr = A3DDllTerminate();
}
Returns
A3D_INITIALIZE_NOT_CALLED
A3D_CALLBACK_INVALID_BREAK_VALUE
A3D_SUCCESS