PeriDyno 1.2.1
Loading...
Searching...
No Matches
ModulePort.cpp
Go to the documentation of this file.
1#include "ModulePort.h"
2#include "Module.h"
3
4namespace dyno
5{
6
7 ModulePort::ModulePort(std::string name, std::string description, Module* parent /*= nullptr*/)
8 : m_name(name)
9 , m_description(description)
11 , m_parent(parent)
12 {
13 parent->addModulePort(this);
14 }
15
20
22 {
23 m_portType = portType;
24 }
25
27 {
28 mModules.clear();
29 }
30
31 void ModulePort::attach(std::shared_ptr<FCallBackFunc> func)
32 {
33 mCallbackFunc.push_back(func);
34 }
35
37 {
38 for (auto func : mCallbackFunc)
39 {
40 func->update();
41 }
42 }
43
45 {
46 m->disconnect(port);
47 }
48
49}
50
bool addModulePort(ModulePort *port)
Definition Module.cpp:195
bool disconnect(ModulePort *nPort)
Definition Module.cpp:149
Input ports for Module.
Definition ModulePort.h:38
ModulePortType getPortType()
friend class Module
Definition ModulePort.h:82
void setPortType(ModulePortType portType)
std::vector< Module * > mModules
Definition ModulePort.h:70
Module * m_parent
Definition ModulePort.h:74
virtual void clear()
void attach(std::shared_ptr< FCallBackFunc > func)
std::string m_name
Definition ModulePort.h:76
std::vector< std::shared_ptr< FCallBackFunc > > mCallbackFunc
Definition ModulePort.h:80
ModulePort(std::string name, std::string description, Module *parent=nullptr)
Definition ModulePort.cpp:7
ModulePortType m_portType
Definition ModulePort.h:78
std::string m_description
Definition ModulePort.h:77
virtual void notify()
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
void disconnect(Module *m, ModulePort *port)
ModulePortType
Definition ModulePort.h:27
@ M_Unknown
Definition ModulePort.h:30