openModeller
Version 1.4.0
|
00001 00027 #include <openmodeller/CallbackWrapper.hh> 00028 00029 // Constructor for model creation callbacks 00030 CallbackWrapper::CallbackWrapper() : 00031 _model_creation_callback( 0 ), 00032 _model_creation_arg( 0 ), 00033 _model_projection_callback( 0 ), 00034 _model_projection_arg( 0 ), 00035 _abortion_callback ( 0 ), 00036 _abortion_arg( 0 ) 00037 { } 00038 00039 // Set Model Creation Callback 00040 void CallbackWrapper::setModelCreationCallback( ModelCreationCallback func, void * param ) 00041 { 00042 _model_creation_callback = func; 00043 _model_creation_arg = param; 00044 } 00045 00046 // Set Model Projection Callback 00047 void CallbackWrapper::setModelProjectionCallback( ModelProjectionCallback func, void * param ) 00048 { 00049 _model_projection_callback = func; 00050 _model_projection_arg = param; 00051 } 00052 00053 // Set job abortion Callback 00054 void CallbackWrapper::setAbortionCallback( AbortionCallback func, void * param ) 00055 { 00056 _abortion_callback = func; 00057 _abortion_arg = param; 00058 } 00059 00060 // Wrapper to model creation callbacks 00061 void CallbackWrapper::notifyModelCreationProgress( float progress ) 00062 { 00063 if ( _model_creation_callback ) { 00064 00065 _model_creation_callback( progress, _model_creation_arg ); 00066 } 00067 } 00068 00069 // Wrapper to model projection callbacks 00070 void CallbackWrapper::notifyModelProjectionProgress( float progress ) 00071 { 00072 if ( _model_projection_callback ) { 00073 00074 _model_projection_callback( progress, _model_projection_arg ); 00075 } 00076 } 00077 00078 // Wrapper to abortion callbacks 00079 bool CallbackWrapper::abortionRequested() 00080 { 00081 return ( _abortion_callback ) ? _abortion_callback( _abortion_arg ) : false; 00082 } 00083