ImGraph
 All Classes Functions Variables Enumerations Pages
charliesoft::SubBlock Class Reference
Inheritance diagram for charliesoft::SubBlock:
charliesoft::Block charliesoft::ForBlock

Public Member Functions

 SubBlock (std::string name)
 
virtual void init ()
 
virtual void release ()
 
virtual void setGraph (GraphOfProcess *processes)
 
virtual boost::property_tree::ptree getXML ()
 
virtual void initFromXML (boost::property_tree::ptree *tree, std::vector< std::pair< ParamValue *, unsigned int > > &toUpdate, std::map< unsigned int, ParamValue * > &addressesMap, std::vector< ConditionOfRendering * > &condToUpdate)
 
GraphOfProcessgetSubGraph () const
 
void addExternLink (const BlockLink &link, bool isInput)
 
void removeExternLink (const BlockLink &link)
 
void waitUpdateParams (boost::unique_lock< boost::mutex > &lock)
 
const std::vector< BlockLink > & getExternBlocksInput () const
 
const std::vector< BlockLink > & getExternBlocksOutput () const
 
- Public Member Functions inherited from charliesoft::Block
 Block (std::string name, bool isOneShot, BlockType typeExec=synchrone, bool addInputParam=false)
 
virtual ~Block ()
 The derived block may want a personalized destructor...
 
std::string getName ()
 
BlockType getTypeExec ()
 
void operator() ()
 
bool hasDynamicParams () const
 
ParamValueaddNewInput (ParamDefinition *param)
 
ParamValueaddNewOutput (ParamDefinition *param)
 
void markAsUnprocessed ()
 Use this function to reset state of process (mark every input/output as old)
 
ParamDefinitiongetParamDefinition (std::string nameOfParam, bool isInput)
 
const ParamDefinitiongetParamDefinition (std::string nameOfParam, bool isInput) const
 
bool paramDefinitionExist (std::string nameOfParam, bool isInput)
 
std::string getCurrentPreview () const
 
void setCurrentPreview (std::string val)
 
const AlgoPerformancegetPerf () const
 
GraphOfProcessgetGraph () const
 
BlockState getState () const
 
void setState (BlockState val)
 
BlockType getExecType () const
 
void setExecType (BlockType val)
 
unsigned int getNbRendering () const
 
unsigned int getTimestamp ()
 
std::string getErrorInfo ()
 
bool validateParams (std::string param, const ParamValue val)
 
bool isReadyToRun (bool realCheck=false)
 if realCheck is true, we look for links being ready to consume
 
void addCondition (ConditionOfRendering &c)
 
std::vector
< ConditionOfRendering > & 
getConditions ()
 
virtual void setParamValue (std::string nameParam_, ParamValue *value)
 
virtual void setParam (std::string nameParam_, ParamValue value)
 
virtual ParamValuegetParam (std::string nameParam_, bool input)
 
virtual std::vector< cv::String > getSubParams (std::string paramName)
 
bool isStartingBlock ()
 
bool isAncestor (Block *other)
 
bool hasNewParameters ()
 
void wakeUpFromConsumers ()
 
void notifyProduction ()
 
void wakeUpFromPause ()
 
void waitConsumers (boost::unique_lock< boost::mutex > &lock)
 
void waitProducers (boost::unique_lock< boost::mutex > &lock)
 
boost::mutex & getMutex ()
 
boost::mutex & getMutexTimestamp ()
 
std::vector< BlockLinkgetInEdges ()
 
std::string getErrorMsg ()
 
const cv::Point2f & getPosition () const
 
const cv::Point2f & getSizeIncrement () const
 
void updatePosition (float x, float y)
 
void linkParam (std::string paramName, Block *dest, std::string paramNameDest)
 
void setPosition (int x, int y, float incX, float incY)
 
void setIncrSize (float incX, float incY)
 
void removeCondition ()
 
void update ()
 Re-run this block. If links exist, this will also render every ancestors.
 
bool shouldExecuteOnlyOnce () const
 
void setExecuteOnlyOnce (bool val)
 
std::vector< ParamDefinition * > & getInParams ()
 
std::vector< ParamDefinition * > & getOutParams ()
 
std::map< std::string,
ParamValue > const & 
getInputsVals () const
 
std::map< std::string,
ParamValue > const & 
getOutputsVals () const
 
ParamDefinition getDef (std::string name, bool isInput) const
 

Protected Member Functions

virtual bool run (bool oneShot=false)
 
- Protected Member Functions inherited from charliesoft::Block
void initParameters (const std::vector< ParamDefinition > &inParam, const std::vector< ParamDefinition > &outParam)
 
void newProducedData ()
 
void paramsFullyProcessed ()
 

Static Protected Member Functions

static std::vector
< ParamDefinition
getListParams ()
 
static std::vector
< ParamDefinition
getListOutputs ()
 
static std::vector
< ParamDefinition
getListSubParams ()
 

Protected Attributes

boost::mutex _mtx_1
 
std::vector< BlockLinkexternBlocksInput
 input parameters the user had added to block
 
std::vector< BlockLinkexternBlocksOutput
 output parameters the user had added to block
 
boost::condition_variable _wait_param_update
 parameter update from subgraph sync condition
 
GraphOfProcess_subGraph
 
- Protected Attributes inherited from charliesoft::Block
boost::thread::id _threadID
 
boost::posix_time::ptime _time_start
 used to measure processing time...
 
AlgoPerformance _perfCounter
 Used to record algo performance.
 
BlockState _state
 Current state of the block.
 
BlockType _exec_type
 
unsigned int nbRendering
 
GraphOfProcess_processes
 list of process currently in use
 
boost::condition_variable _cond_pause
 pause condition
 
boost::mutex _mtx
 explicit mutex declaration
 
boost::condition_variable _wait_consume
 parameter consumption sync condition
 
boost::condition_variable _wait_processed
 Block has processed the input datas.
 
boost::mutex _mtx_timestamp_inc
 Timestamps update.
 
unsigned int _timestamp
 timestamp of produced values
 
std::string _error_msg
 
std::string _name
 
cv::Point2f _position
 
cv::Point2f _sizeIncrement
 
std::string _currentPreview
 
std::vector< ParamDefinition * > _algorithmInParams
 definition of each input parameters
 
std::vector< ParamDefinition * > _algorithmSubParams
 definition of each input sub-parameters
 
std::vector< ParamDefinition * > _algorithmOutParams
 definition of each output parameters
 
std::map< std::string, ParamValue_myOutputs
 output value and name of parameters
 
std::map< std::string, ParamValue_myInputs
 input value and name of parameters
 
std::map< std::string, ParamValue_mySubParams
 sub-params value and name of parameters
 
std::vector< ConditionOfRendering_conditions
 Conditions needed for block rendering.
 
bool _executeOnlyOnce
 
bool _newData
 
bool _isOneShot
 
bool _addInputParam
 

Static Protected Attributes

static bool addedToList
 

Friends

class charliesoft::ProcessManager
 
class charliesoft::GraphOfProcess
 

Additional Inherited Members

- Public Types inherited from charliesoft::Block
enum  BlockType { synchrone = 0, asynchrone }
 
enum  BlockState {
  waitingChild = 0, consumingParams, consumedParams, waitingConsumers,
  stopped, paused
}
 

Member Data Documentation

bool charliesoft::SubBlock::addedToList
staticprotected
Initial value:
=
charliesoft::ProcessManager::getInstance()->addNewAlgo<SubBlock>(input, "SUBBLOCK__")

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