CC3DTransaction Class Reference

#include <mainCC3D.h>

Inheritance diagram for CC3DTransaction:

Inheritance graph
[legend]
Collaboration diagram for CC3DTransaction:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 CC3DTransaction (std::string _filename)
virtual ~CC3DTransaction ()
void applySimulation (bool *_stopSimulation)
QString messageStr ()
void setPauseMutexPtr (QMutex *mutexPtr)
void setFieldDrawMutexPtr (QMutex *mutexPtr)
void setTransactionMutexPtr (QMutex *mutexPtr)
void setBufferFreeSem (QSemaphore *_bufferFillFreeSemPtr)
void setBufferUsedSem (QSemaphore *_bufferFillUsedSemPtr)
void setGraphicsDataFieldPtr (GraphicsDataFields *_graphFieldsPtr)
void setScreenUpdateFrequency (unsigned int _freq)
virtual CompuCell3D::SimulatorgetSimulator ()
virtual void setSimulator (CompuCell3D::Simulator *_simulator)
virtual void preStartInit ()
virtual void postStartInit ()
virtual void clearGraphicsFields ()
virtual void loopWork (unsigned int _step)
virtual void loopWorkPostEvent (unsigned int _step)
virtual std::string getSimulationFileName ()
virtual std::string getSimulationPythonScriptName ()
virtual unsigned int getScreenUpdateFrequency ()
virtual
GraphicsDataFields::floatField3D_t
createFloatFieldPy (CompuCell3D::Dim3D &_fieldDim, std::string _name)
virtual
GraphicsDataFields::vectorFieldCellLevel_t
createVectorFieldCellLevelPy (std::string _fieldName)
virtual bool getStopSimulation ()
virtual void setStopSimulation (bool *_stopSimulation)
virtual void sendStopSimulationRequest ()
virtual void handleErrorMessage (std::string _errorCategory, std::string _error)
virtual void fillPressureVolumeFlexPy (GraphicsDataFields::floatField3D_t &_floatField3D)
void registerPyScriptRunner (PyScriptRunner *_pyScriptRunner)
void simulationThreadCpp ()
void simulationThreadPython ()
void setRunPythonFlag (bool _flag)
bool getRunPythonFlag ()
void setUseXMLFileFlag (bool _flag)
bool getUseXMLFileFlag ()
void setPyDataConf (PythonConfigureData &_pyDataConf)
PythonConfigureData getPyDataConf ()

Private Member Functions

void fillField3D (GraphicsDataFields &graphFields)
void createConcentrationFields (GraphicsDataFields &graphFields, std::map< std::string, CompuCell3D::Field3DImpl< float > * > &_fieldMap)
void fillConcentrationFields (GraphicsDataFields &graphFields, std::map< std::string, CompuCell3D::Field3DImpl< float > * > &_fieldMap)
void createPreasureFields (GraphicsDataFields &graphFields, CompuCell3D::Dim3D fieldDim, BasicArray< CompuCell3D::EnergyFunction * > &energyFunctions)
void fillPressureFields (GraphicsDataFields &graphFields)
void fillPressureVolume (GraphicsDataFields &graphFields, GraphicsDataFields::floatField3D_t &_floatField3D, CompuCell3D::EnergyFunction *energyFunctionPtr)
void fillPressureVolumeFlex (GraphicsDataFields &graphFields, GraphicsDataFields::floatField3D_t &_floatField3D, CompuCell3D::EnergyFunction *energyFunctionPtr)
void createVectorCellFields (GraphicsDataFields &graphFields, CompuCell3D::Dim3D fieldDim, BasicArray< CompuCell3D::EnergyFunction * > &energyFunctions, CompuCell3D::PluginManager< CompuCell3D::Plugin >::plugins_t &pluginMap)
void fillVectorCellFields (GraphicsDataFields &graphFields)
void fillVelocity (GraphicsDataFields &graphFields, GraphicsDataFields::vectorCellFloatField3D_t &_vectorCellFloatField3D, CompuCell3D::Plugin *plugin)
void markBorder (const CompuCell3D::Point3D &_pt, CompuCell3D::CellG *_currentCell, GraphicsData *_pixel)

Private Attributes

std::string filename
std::string pythonScriptNameFromPlayer
PythonConfigureData pyDataConf
PyScriptRunnerpyScriptRunner
unsigned int zPosition
unsigned int screenUpdateFrequency
GraphicsDataFieldsgraphFieldsPtr
CompuCell3D::Field3D
< CompuCell3D::CellG * > * 
cellFieldG
std::map< std::string,
CompuCell3D::EnergyFunction * > 
pressureNameEnergyMap
std::map< std::string,
CompuCell3D::Plugin * > 
pluginNameMap
QMutex * pauseMutexPtr
QMutex * fieldDrawMutexPtr
QMutex * mutexTransactionPtr
QSemaphore * bufferFillFreeSemPtr
QSemaphore * bufferFillUsedSemPtr
bool * pstopSimulation
CompuCell3D::Simulatorsimulator
bool runPythonFlag
bool useXMLFileFlag


Detailed Description

Definition at line 43 of file mainCC3D.h.


Constructor & Destructor Documentation

CC3DTransaction::CC3DTransaction ( std::string  _filename  ) 

Filename

Definition at line 54 of file mainCC3D.cpp.

References filename, pyScriptRunner, runPythonFlag, screenUpdateFrequency, and useXMLFileFlag.

CC3DTransaction::~CC3DTransaction (  )  [virtual]

Definition at line 70 of file mainCC3D.cpp.


Member Function Documentation

void CC3DTransaction::applySimulation ( bool *  _stopSimulation  )  [virtual]

Reimplemented from Transaction.

Definition at line 796 of file mainCC3D.cpp.

References pstopSimulation, runPythonFlag, simulationThreadCpp(), simulationThreadPython(), and useXMLFileFlag.

QString CC3DTransaction::messageStr (  )  [inline]

Definition at line 51 of file mainCC3D.h.

void CC3DTransaction::setPauseMutexPtr ( QMutex *  mutexPtr  )  [inline]

Definition at line 52 of file mainCC3D.h.

Referenced by ImageWindowBase::simulation().

void CC3DTransaction::setFieldDrawMutexPtr ( QMutex *  mutexPtr  )  [inline]

Definition at line 53 of file mainCC3D.h.

Referenced by ImageWindowBase::simulation().

void CC3DTransaction::setTransactionMutexPtr ( QMutex *  mutexPtr  )  [inline]

Definition at line 54 of file mainCC3D.h.

Referenced by ImageWindowBase::simulation().

void CC3DTransaction::setBufferFreeSem ( QSemaphore *  _bufferFillFreeSemPtr  )  [inline]

Definition at line 55 of file mainCC3D.h.

Referenced by ImageWindowBase::simulation().

void CC3DTransaction::setBufferUsedSem ( QSemaphore *  _bufferFillUsedSemPtr  )  [inline]

Definition at line 56 of file mainCC3D.h.

Referenced by ImageWindowBase::simulation().

void CC3DTransaction::setGraphicsDataFieldPtr ( GraphicsDataFields _graphFieldsPtr  )  [inline]

Definition at line 58 of file mainCC3D.h.

Referenced by ImageWindowBase::simulation().

void CC3DTransaction::setScreenUpdateFrequency ( unsigned int  _freq  )  [inline]

virtual CompuCell3D::Simulator* CC3DTransaction::getSimulator (  )  [inline, virtual]

Reimplemented from SimthreadBase.

Definition at line 63 of file mainCC3D.h.

Referenced by ImageWindow::simulationSerialize().

virtual void CC3DTransaction::setSimulator ( CompuCell3D::Simulator _simulator  )  [inline, virtual]

Reimplemented from SimthreadBase.

Definition at line 64 of file mainCC3D.h.

void CC3DTransaction::preStartInit (  )  [virtual]

void CC3DTransaction::postStartInit (  )  [virtual]

void CC3DTransaction::clearGraphicsFields (  )  [virtual]

Reimplemented from SimthreadBase.

Definition at line 97 of file mainCC3D.cpp.

References GraphicsDataFields::clearAllocatedFields(), and graphFieldsPtr.

void CC3DTransaction::loopWork ( unsigned int  _step  )  [virtual]

void CC3DTransaction::loopWorkPostEvent ( unsigned int  _step  )  [virtual]

once a pointer is owned by Qt object it will not create memory leak

Reimplemented from SimthreadBase.

Definition at line 618 of file mainCC3D.cpp.

References bufferFillFreeSemPtr, bufferFillUsedSemPtr, CompuCell3D::Simulator::getStep(), Transaction::getTargetObject(), TransactionRefreshEvent::mcStep, pauseMutexPtr, and simulator.

virtual std::string CC3DTransaction::getSimulationFileName (  )  [inline, virtual]

Reimplemented from SimthreadBase.

Definition at line 70 of file mainCC3D.h.

virtual std::string CC3DTransaction::getSimulationPythonScriptName (  )  [inline, virtual]

Reimplemented from SimthreadBase.

Definition at line 71 of file mainCC3D.h.

virtual unsigned int CC3DTransaction::getScreenUpdateFrequency (  )  [inline, virtual]

Reimplemented from SimthreadBase.

Definition at line 78 of file mainCC3D.h.

GraphicsDataFields::floatField3D_t * CC3DTransaction::createFloatFieldPy ( CompuCell3D::Dim3D _fieldDim,
std::string  _name 
) [virtual]

GraphicsDataFields::vectorFieldCellLevel_t * CC3DTransaction::createVectorFieldCellLevelPy ( std::string  _fieldName  )  [virtual]

bool CC3DTransaction::getStopSimulation (  )  [virtual]

Reimplemented from SimthreadBase.

Definition at line 92 of file mainCC3D.cpp.

References pstopSimulation.

virtual void CC3DTransaction::setStopSimulation ( bool *  _stopSimulation  )  [inline, virtual]

Reimplemented from SimthreadBase.

Definition at line 83 of file mainCC3D.h.

void CC3DTransaction::sendStopSimulationRequest (  )  [virtual]

once a pointer is owned by Qt object

it will not create memory leak

Reimplemented from SimthreadBase.

Definition at line 787 of file mainCC3D.cpp.

References Transaction::getTargetObject(), and TransactionStopSimulationEvent::message.

void CC3DTransaction::handleErrorMessage ( std::string  _errorCategory,
std::string  _error 
) [virtual]

once a pointer is owned by Qt object

it will not create memory leak

Reimplemented from SimthreadBase.

Definition at line 813 of file mainCC3D.cpp.

References TransactionErrorEvent::errorCategory, Transaction::getTargetObject(), and TransactionErrorEvent::message.

Referenced by simulationThreadPython().

void CC3DTransaction::fillPressureVolumeFlexPy ( GraphicsDataFields::floatField3D_t _floatField3D  )  [virtual]

void CC3DTransaction::registerPyScriptRunner ( PyScriptRunner _pyScriptRunner  )  [inline]

Definition at line 90 of file mainCC3D.h.

void CC3DTransaction::simulationThreadCpp (  ) 

Definition at line 639 of file mainCC3D.cpp.

References simulationThreadPython().

Referenced by applySimulation().

void CC3DTransaction::simulationThreadPython (  ) 

void CC3DTransaction::setRunPythonFlag ( bool  _flag  )  [inline]

Definition at line 95 of file mainCC3D.h.

Referenced by ImageWindowBase::simulation().

bool CC3DTransaction::getRunPythonFlag (  )  [inline]

Definition at line 96 of file mainCC3D.h.

void CC3DTransaction::setUseXMLFileFlag ( bool  _flag  )  [inline]

Definition at line 98 of file mainCC3D.h.

Referenced by ImageWindowBase::simulation().

bool CC3DTransaction::getUseXMLFileFlag (  )  [inline]

Definition at line 99 of file mainCC3D.h.

void CC3DTransaction::setPyDataConf ( PythonConfigureData _pyDataConf  )  [inline]

Definition at line 101 of file mainCC3D.h.

Referenced by ImageWindowBase::simulation().

PythonConfigureData CC3DTransaction::getPyDataConf (  )  [inline]

Definition at line 102 of file mainCC3D.h.

void CC3DTransaction::fillField3D ( GraphicsDataFields graphFields  )  [private]

void CC3DTransaction::createConcentrationFields ( GraphicsDataFields graphFields,
std::map< std::string, CompuCell3D::Field3DImpl< float > * > &  _fieldMap 
) [private]

Referenced by preStartInit().

void CC3DTransaction::fillConcentrationFields ( GraphicsDataFields graphFields,
std::map< std::string, CompuCell3D::Field3DImpl< float > * > &  _fieldMap 
) [private]

Referenced by loopWork(), and postStartInit().

void CC3DTransaction::createPreasureFields ( GraphicsDataFields graphFields,
CompuCell3D::Dim3D  fieldDim,
BasicArray< CompuCell3D::EnergyFunction * > &  energyFunctions 
) [private]

void CC3DTransaction::fillPressureFields ( GraphicsDataFields graphFields  )  [private]

void CC3DTransaction::fillPressureVolume ( GraphicsDataFields graphFields,
GraphicsDataFields::floatField3D_t _floatField3D,
CompuCell3D::EnergyFunction energyFunctionPtr 
) [private]

Definition at line 284 of file mainCC3D.cpp.

Referenced by fillPressureFields().

void CC3DTransaction::fillPressureVolumeFlex ( GraphicsDataFields graphFields,
GraphicsDataFields::floatField3D_t _floatField3D,
CompuCell3D::EnergyFunction energyFunctionPtr 
) [private]

Definition at line 318 of file mainCC3D.cpp.

Referenced by fillPressureFields().

void CC3DTransaction::createVectorCellFields ( GraphicsDataFields graphFields,
CompuCell3D::Dim3D  fieldDim,
BasicArray< CompuCell3D::EnergyFunction * > &  energyFunctions,
CompuCell3D::PluginManager< CompuCell3D::Plugin >::plugins_t &  pluginMap 
) [private]

void CC3DTransaction::fillVectorCellFields ( GraphicsDataFields graphFields  )  [private]

set mutextes

unset

Definition at line 377 of file mainCC3D.cpp.

References fieldDrawMutexPtr, fillVelocity(), GraphicsDataFields::getVectorCellFloatField3DNameMap(), and pluginNameMap.

Referenced by loopWork().

void CC3DTransaction::fillVelocity ( GraphicsDataFields graphFields,
GraphicsDataFields::vectorCellFloatField3D_t _vectorCellFloatField3D,
CompuCell3D::Plugin plugin 
) [private]

void CC3DTransaction::markBorder ( const CompuCell3D::Point3D _pt,
CompuCell3D::CellG _currentCell,
GraphicsData _pixel 
) [private]

Definition at line 498 of file mainCC3D.cpp.

References cellFieldG, CompuCell3D::Field3D< T >::get(), and GraphicsData::type.


Member Data Documentation

std::string CC3DTransaction::filename [private]

Definition at line 106 of file mainCC3D.h.

Referenced by CC3DTransaction().

Definition at line 107 of file mainCC3D.h.

Definition at line 109 of file mainCC3D.h.

Referenced by simulationThreadPython().

Definition at line 110 of file mainCC3D.h.

Referenced by CC3DTransaction().

unsigned int CC3DTransaction::zPosition [private]

Definition at line 113 of file mainCC3D.h.

Referenced by preStartInit().

Definition at line 114 of file mainCC3D.h.

Referenced by CC3DTransaction().

Definition at line 155 of file mainCC3D.h.

Referenced by createPreasureFields(), and fillPressureFields().

std::map<std::string, CompuCell3D::Plugin *> CC3DTransaction::pluginNameMap [private]

Definition at line 156 of file mainCC3D.h.

Referenced by createVectorCellFields(), and fillVectorCellFields().

QMutex* CC3DTransaction::pauseMutexPtr [private]

Definition at line 159 of file mainCC3D.h.

Referenced by loopWorkPostEvent().

Definition at line 160 of file mainCC3D.h.

Referenced by fillField3D(), fillPressureFields(), and fillVectorCellFields().

Definition at line 161 of file mainCC3D.h.

Definition at line 162 of file mainCC3D.h.

Referenced by loopWorkPostEvent(), and postStartInit().

Definition at line 163 of file mainCC3D.h.

Referenced by loopWorkPostEvent(), and postStartInit().

Reimplemented from SimthreadBase.

Definition at line 166 of file mainCC3D.h.

Referenced by applySimulation(), and getStopSimulation().

Definition at line 169 of file mainCC3D.h.

Referenced by loopWork(), loopWorkPostEvent(), postStartInit(), and preStartInit().

Definition at line 170 of file mainCC3D.h.

Referenced by applySimulation(), and CC3DTransaction().

Definition at line 171 of file mainCC3D.h.

Referenced by applySimulation(), and CC3DTransaction().


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

Generated on Thu Dec 4 11:41:20 2008 for CompuCell3D by  doxygen 1.5.6