PeriDyno 1.0.0
Loading...
Searching...
No Matches
Pipeline Class Reference

#include <Pipeline.h>

Inheritance diagram for Pipeline:
Collaboration diagram for Pipeline:

Public Member Functions

 Pipeline (Node *node)
 
virtual ~Pipeline ()
 
uint sizeOfDynamicModules ()
 
uint sizeOfPersistentModules ()
 
void pushModule (std::shared_ptr< Module > m)
 
void popModule (std::shared_ptr< Module > m)
 
template<class TModule>
std::shared_ptr< TModule > createModule ()
 
template<class TModule>
std::shared_ptr< TModule > findFirstModule ()
 
void clear ()
 
void pushPersistentModule (std::shared_ptr< Module > m)
 
std::list< std::shared_ptr< Module > > & activeModules ()
 
std::map< ObjectId, std::shared_ptr< Module > > & allModules ()
 
void enable ()
 
void disable ()
 
void updateExecutionQueue ()
 
void forceUpdate ()
 
FBasepromoteOutputToNode (FBase *base)
 
void demoteOutputFromNode (FBase *base)
 
- Public Member Functions inherited from dyno::Module
 Module (std::string name="default")
 
 ~Module (void) override
 
bool initialize ()
 
void update ()
 
void setName (std::string name)
 
std::string getName () override
 
virtual void setParentNode (Node *node)
 Set the parent node.
 
NodegetParentNode ()
 
SceneGraphgetSceneGraph ()
 
bool isInitialized ()
 
virtual std::string getModuleType ()
 
bool attachField (FBase *field, std::string name, std::string desc, bool autoDestroy=true) override
 Attach a field to Base.
 
bool isInputComplete ()
 Check the completeness of input fields.
 
bool isOutputCompete ()
 
 DEF_VAR (bool, ForceUpdate, false, "")
 
void setUpdateAlways (bool b)
 Set the update strategy for the module.
 
- Public Member Functions inherited from dyno::OBase
 OBase ()
 
 ~OBase () override
 
virtual std::string caption ()
 Return the caption.
 
virtual bool captionVisible ()
 Whether to hide the caption in the GUI.
 
virtual std::string description ()
 Return a description for the node or module, override this function to support user-defined description.
 
bool addField (FBase *data)
 Add a field to Base FieldID will be set to the name of Field by default.
 
bool addField (FieldID name, FBase *data)
 Add a field to Base.
 
bool addFieldAlias (FieldID name, FBase *data)
 
bool addFieldAlias (FieldID name, FBase *data, FieldMap &fieldAlias)
 
bool findField (FBase *data)
 Find a field by its pointer.
 
bool findFieldAlias (const FieldID name)
 Find a field by its name.
 
bool findFieldAlias (const FieldID name, FieldMap &fieldAlias)
 Find a field in fieldAlias by its name This function is typically called by other functions.
 
bool removeField (FBase *data)
 Remove a field by its pointer.
 
bool removeFieldAlias (const FieldID name)
 Remove a field by its name.
 
bool removeFieldAlias (const FieldID name, FieldMap &fieldAlias)
 
FBasegetField (const FieldID name)
 Return a field by its name.
 
std::vector< FBase * > & getAllFields ()
 
template<typename T>
TgetField (FieldID name)
 
bool isAllFieldsReady ()
 Check the completeness of all required fields.
 
std::vector< FieldIDgetFieldAlias (FBase *data)
 
int getFieldAliasCount (FBase *data)
 
void setBlockCoord (float x, float y)
 
float bx ()
 
float by ()
 
bool findInputField (FBase *field)
 
bool addInputField (FBase *field)
 
bool removeInputField (FBase *field)
 
std::vector< FBase * > & getInputFields ()
 
bool findOutputField (FBase *field)
 
bool addOutputField (FBase *field)
 
bool addToOutput (FBase *field)
 
bool removeOutputField (FBase *field)
 
bool removeFromOutput (FBase *field)
 
std::vector< FBase * > & getOutputFields ()
 
bool findParameter (FBase *field)
 
bool addParameter (FBase *field)
 
bool removeParameter (FBase *field)
 
std::vector< FBase * > & getParameters ()
 
- Public Member Functions inherited from dyno::Object
 Object ()
 
virtual ~Object ()
 
ObjectId objectId ()
 

Protected Member Functions

void preprocess () final
 
void updateImpl () override
 
bool requireUpdate () final
 
virtual bool printDebugInfo ()
 
- Protected Member Functions inherited from dyno::Module
virtual bool initializeImpl ()
 
virtual void postprocess ()
 
virtual bool validateInputs ()
 
virtual bool validateOutputs ()
 
virtual void updateStarted ()
 Two functions called at the beginning and end of update() used for debug.
 
virtual void updateEnded ()
 

Private Member Functions

void reconstructPipeline ()
 

Private Attributes

bool mModuleUpdated = false
 
bool mUpdateEnabled = true
 
std::map< ObjectId, std::shared_ptr< Module > > mModuleMap
 
std::list< std::shared_ptr< Module > > mModuleList
 
std::list< std::shared_ptr< Module > > mPersistentModule
 
bool mTiming = false
 

Additional Inherited Members

- Public Types inherited from dyno::OBase
typedef std::vector< FBase * > FieldVector
 
typedef std::map< FieldID, FBase * > FieldMap
 
- Static Public Member Functions inherited from dyno::Object
static bool registerClass (ClassInfo *ci)
 
static ObjectcreateObject (std::string name)
 
static std::map< std::string, ClassInfo * > * getClassMap ()
 
static ObjectId baseId ()
 Base Id.
 
- Protected Attributes inherited from dyno::OBase
std::vector< FBase * > fields_input
 
std::vector< FBase * > fields_output
 
std::vector< FBase * > fields_param
 

Detailed Description

Definition at line 23 of file Pipeline.h.

Constructor & Destructor Documentation

◆ Pipeline()

dyno::Pipeline::Pipeline ( Node * node)

Definition at line 15 of file Pipeline.cpp.

◆ ~Pipeline()

dyno::Pipeline::~Pipeline ( )
virtual

Definition at line 22 of file Pipeline.cpp.

Member Function Documentation

◆ activeModules()

std::list< std::shared_ptr< Module > > & dyno::Pipeline::activeModules ( )
inline

Definition at line 66 of file Pipeline.h.

◆ allModules()

std::map< ObjectId, std::shared_ptr< Module > > & dyno::Pipeline::allModules ( )
inline

Definition at line 74 of file Pipeline.h.

◆ clear()

void dyno::Pipeline::clear ( )

Definition at line 61 of file Pipeline.cpp.

◆ createModule()

template<class TModule>
std::shared_ptr< TModule > dyno::Pipeline::createModule ( )
inline

Definition at line 37 of file Pipeline.h.

◆ demoteOutputFromNode()

void dyno::Pipeline::demoteOutputFromNode ( FBase * base)

Withdraw a module output field from the node

Definition at line 163 of file Pipeline.cpp.

◆ disable()

void dyno::Pipeline::disable ( )

Definition at line 89 of file Pipeline.cpp.

◆ enable()

void dyno::Pipeline::enable ( )

Definition at line 84 of file Pipeline.cpp.

◆ findFirstModule()

template<class TModule>
std::shared_ptr< TModule > dyno::Pipeline::findFirstModule ( )
inline

Return the first module with TModule type

Definition at line 49 of file Pipeline.h.

◆ forceUpdate()

void dyno::Pipeline::forceUpdate ( )

Definition at line 99 of file Pipeline.cpp.

◆ popModule()

void dyno::Pipeline::popModule ( std::shared_ptr< Module > m)

Definition at line 51 of file Pipeline.cpp.

◆ preprocess()

void dyno::Pipeline::preprocess ( )
finalprotectedvirtual

Reimplemented from dyno::Module.

Definition at line 106 of file Pipeline.cpp.

◆ printDebugInfo()

bool dyno::Pipeline::printDebugInfo ( )
protectedvirtual

Definition at line 148 of file Pipeline.cpp.

◆ promoteOutputToNode()

FBase * dyno::Pipeline::promoteOutputToNode ( FBase * base)

Turn a module output field to a node output node

Definition at line 153 of file Pipeline.cpp.

◆ pushModule()

void dyno::Pipeline::pushModule ( std::shared_ptr< Module > m)

Definition at line 39 of file Pipeline.cpp.

◆ pushPersistentModule()

void dyno::Pipeline::pushPersistentModule ( std::shared_ptr< Module > m)

Definition at line 76 of file Pipeline.cpp.

◆ reconstructPipeline()

void dyno::Pipeline::reconstructPipeline ( )
private

Definition at line 171 of file Pipeline.cpp.

◆ requireUpdate()

bool dyno::Pipeline::requireUpdate ( )
finalprotectedvirtual

Reimplemented from dyno::Module.

Definition at line 143 of file Pipeline.cpp.

◆ sizeOfDynamicModules()

uint dyno::Pipeline::sizeOfDynamicModules ( )

Definition at line 29 of file Pipeline.cpp.

◆ sizeOfPersistentModules()

uint dyno::Pipeline::sizeOfPersistentModules ( )

Definition at line 34 of file Pipeline.cpp.

◆ updateExecutionQueue()

void dyno::Pipeline::updateExecutionQueue ( )

Definition at line 94 of file Pipeline.cpp.

◆ updateImpl()

void dyno::Pipeline::updateImpl ( )
overrideprotectedvirtual

Reimplemented from dyno::Module.

Definition at line 114 of file Pipeline.cpp.

Member Data Documentation

◆ mModuleList

std::list<std::shared_ptr<Module> > dyno::Pipeline::mModuleList
private

Definition at line 112 of file Pipeline.h.

◆ mModuleMap

std::map<ObjectId, std::shared_ptr<Module> > dyno::Pipeline::mModuleMap
private

Definition at line 111 of file Pipeline.h.

◆ mModuleUpdated

bool dyno::Pipeline::mModuleUpdated = false
private

Definition at line 108 of file Pipeline.h.

◆ mPersistentModule

std::list<std::shared_ptr<Module> > dyno::Pipeline::mPersistentModule
private

Definition at line 114 of file Pipeline.h.

◆ mTiming

bool dyno::Pipeline::mTiming = false
private

Definition at line 116 of file Pipeline.h.

◆ mUpdateEnabled

bool dyno::Pipeline::mUpdateEnabled = true
private

Definition at line 109 of file Pipeline.h.


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