40 ModulePort(std::string name, std::string description,
Module* parent =
nullptr);
60 void attach(std::shared_ptr<FCallBackFunc> func);
109 return nullptr !=
dynamic_cast<T*
>(m) && !
hasModule(m);
133 if (derived !=
nullptr)
160 auto derived =
dynamic_cast<T*
>(m);
161 if (derived !=
nullptr)
163 return setDerivedNode(derived);
248 return nullptr !=
dynamic_cast<T*
>(m) && !
hasModule(m);
253 auto derived =
dynamic_cast<T*
>(m);
267 for (
int i = 0; i <
mModules.size(); i++)
281 auto derived =
dynamic_cast<T*
>(m);
282 if (derived !=
nullptr)
292 auto derived =
dynamic_cast<T*
>(m);
294 if (derived !=
nullptr)
virtual bool hasModule(Module *m)=0
ModulePortType getPortType()
virtual bool isKindOf(Module *m)=0
void setPortType(ModulePortType portType)
std::vector< Module * > mModules
virtual bool removeModule(Module *m)=0
virtual std::string getPortName()
void attach(std::shared_ptr< FCallBackFunc > func)
std::vector< std::shared_ptr< FCallBackFunc > > mCallbackFunc
ModulePort(std::string name, std::string description, Module *parent=nullptr)
ModulePortType m_portType
virtual bool addModule(Module *m)=0
std::string m_description
virtual std::vector< Module * > & getModules()
bool addModule(Module *m) override
std::vector< T * > & getDerivedModules()
bool isKindOf(Module *m) override
MultipleModulePort(std::string name, std::string description, Module *parent=nullptr)
bool addDerivedModule(T *m)
std::vector< T * > mDerivedModules
bool hasModule(Module *m)
bool removeDerivedModule(T *m)
std::vector< Module * > & getModules() override
bool removeModule(Module *m) override
bool setDerivedModule(T *derived)
bool isKindOf(Module *m) override
bool hasModule(Module *m)
~SingleModulePort() override
std::vector< Module * > & getModules() override
bool addModule(Module *m) override
SingleModulePort(std::string name, std::string description, Module *parent=nullptr)
bool removeModule(Module *m) override
This is an implementation of AdditiveCCD based on peridyno.
void disconnect(Module *m, ModulePort *port)