charon-core  0.3.1
VirtualSlotSwitch Class Reference

Connects its output to one of its inputs according to a statement or inputnumber. More...

#include <charon-core/VirtualSlotSwitch.h>

Inheritance diagram for VirtualSlotSwitch:

Public Member Functions

 VirtualSlotSwitch (const std::string &name="")
 default constructor More...
 
- Public Member Functions inherited from ParameteredObject
virtual ~ParameteredObject ()
 Delete parametered object. More...
 
void clearMetadata ()
 delete metadata cache to save some space More...
 
bool executed () const
 get execution status
 
std::string fixCase (const std::string &parOrSlotName) const
 restore parameter/slot name casing
 
const ParameterFilegetMetadata ()
 get metadata
 
virtual void initialize ()
 initialize plugin More...
 
virtual void loadParameters (const ParameterFile &pf)
 Load parameter from parameter file. More...
 
void loadSlots (const ParameterFile &pf, const PluginManagerInterface *man)
 Load slot connection from parameter file. More...
 
virtual void onLoad (const ParameterFile &pf, const PluginManagerInterface *man)
 Custom Load operation. More...
 
virtual void onSave (ParameterFile &pf) const
 Custom Save operation. More...
 
virtual void resetExecuted (bool propagate=true)
 reset execution status More...
 
virtual void run ()
 Update object. More...
 
void save (ParameterFile &pf) const
 Save own content to the given parameter file. More...
 
virtual void saveParameters (ParameterFile &pf) const
 Save parameters to parameter file. More...
 
virtual void setExecuted (bool value)
 set property _executed More...
 
const std::string & getClassName () const
 class name
 
const std::string & getName () const
 instance name
 
virtual const std::string getTemplateType () const
 get template type as string More...
 
SlotgetSlot (const std::string &slotName) const
 Get pointer to some slot (by name) More...
 
const std::map< std::string,
Slot * > & 
getInputSlots () const
 Get all input slots as map. More...
 
const std::map< std::string,
Slot * > & 
getOutputSlots () const
 Get all output slots as map. More...
 
const std::map< std::string,
AbstractParameter * > & 
getParameters () const
 Get all Parameters as a map. More...
 
std::set< std::string > getNeighbours () const
 Get connected neighbours of the current object. More...
 
std::set< std::string > getNeighbours (const ParameterFile &pf) const
 Get connected neighbours of the current object. More...
 
virtual bool connected () const
 Check if object is ready for work. More...
 
void raise (const std::string &message) const
 throw an exception with information about the ParameteredObject More...
 
AbstractParametergetParameter (const std::string &name) const
 
template<typename T >
void setParameter (std::string name, T value)
 
bool isDynamic ()
 

Public Attributes

Parameter< bool > boolean_inputnumber
 
InputSlot< int > inputnumber
 connects output to according input
 
Parameter< int > number_of_inputs
 number_of_inputs
 
VirtualOutputSlot output
 output connected to one of the inputs
 
InputSlot< bool > statement
 statement to switch between input 0 and input 1
 
- Public Attributes inherited from ParameteredObject
Parameter< bool > _active
 ParameteredObject activation state. More...
 

Protected Member Functions

virtual void execute ()
 Update object.
 
virtual void prepareDynamicInterface (const ParameterFile &file)
 prepare interface of parameters and slots More...
 
void setNumberOfVirtualSlots (int num)
 
- Protected Member Functions inherited from ParameteredObject
 ParameteredObject (const std::string &className, const std::string &name="", const std::string &doc="")
 Default constructor. More...
 
void _addInputSlot (Slot &slot, const std::string &name, const std::string &displayname, const std::string &doc, const std::string &type)
 Register input slot. More...
 
void _addOutputSlot (Slot &slot, const std::string &name, const std::string &displayname, const std::string &doc, const std::string &type)
 Register output slot. More...
 
void _addParameter (AbstractParameter &param, const std::string &name, const std::string &doc, const std::string &type="")
 Add parameters. More...
 
template<class T >
void _addParameter (Parameter< T > &param, const std::string &name, const std::string &doc, const T &defVal, const std::string &type="")
 Same function but adding a default value. More...
 
bool _addSomething (const std::string &extension, const std::string &name, const std::string &doc, const std::string &type, const std::string &defaultValue="")
 Common code for _addParameter, _addInputSlot, _addOutputSlot. More...
 
void _commitSlots ()
 commit slot data
 
std::set< ParameteredObject * > _getTargetNodes ()
 get target nodes More...
 
void _prepareSlots ()
 prepare slot data
 
void _removeInputSlot (std::string name)
 Remove an input slot.
 
void _removeOutputSlot (std::string name)
 Remove an output slot.
 
bool _removeSomething (const std::string &extension, const std::string &name)
 Remove something. Iverse of _addSomething.
 
void _setDynamic (bool v)
 Specifies if the ParameteredObject is dynamic.
 
void _setTags (const std::string &tags)
 Register additional tag names for grouping ParameteredObjects. More...
 
virtual void finalize ()
 finalize plugin More...
 
void runPreceeding () const
 run all preceeding objects
 
void runPreceeding (const Slot &slot) const
 run all preceeding objects connected to a particular slot More...
 
void _addInputSlot (Slot &slot, const std::string &name, const std::string &doc, const std::string &type="")
 These functions needs to be called by the derived class in order to register all objects which can be used as inputs or outputs. More...
 
void _addOutputSlot (Slot &slot, const std::string &name, const std::string &doc, const std::string &type="")
 Register output slot. More...
 

Protected Attributes

std::vector< VirtualInputSlot * > _virtualInputSlots
 
std::vector< VirtualOutputSlot * > _virtualOutputSlots
 
int oldselection
 

Additional Inherited Members

- Public Types inherited from ParameteredObject
enum  build_type { UNDEFINED_BUILD = 0, DEBUG_BUILD = 1, RELEASE_BUILD = 2 }
 defined build type More...
 
enum  template_type { TYPE_DOUBLE = 0, TYPE_FLOAT = 1, TYPE_INT = 2 }
 Integer which represents a template type. More...
 

Detailed Description

Connects its output to one of its inputs according to a statement or inputnumber.

Definition at line 46 of file VirtualSlotSwitch.h.

Constructor & Destructor Documentation

VirtualSlotSwitch::VirtualSlotSwitch ( const std::string &  name = "")

Member Function Documentation

void VirtualSlotSwitch::prepareDynamicInterface ( const ParameterFile file)
protectedvirtual

This function may change the number and kind of slots/parameters depending on certain parameters in the ParameterFile. Since the interface may change depending on the parameter file content, such modules are called dynamic modules.

The default implementation does nothing and is suitable for all non-dynamic modules. Re-implement this function in dynamic modules.

Note
Make sure that ParameteredObject::_setDynamic() is called in the constructor if implementing a dynamic module!
Parameters
fileparameter file describing the workflow

Reimplemented from ParameteredObject.

Definition at line 108 of file VirtualSlotSwitch.cpp.

References Parameter< T >::load(), number_of_inputs, output, and VirtualSlot::setVirtualPartnerSlot().


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