openModeller  Version 1.4.0
CallbackWrapper.cpp
Go to the documentation of this file.
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