45 std::vector<LinkEntity*> inLinks;
46 std::vector<LinkEntity*> outLinks;
50 nodeComponentArray.emplace();
51 nodeComponentBitSet.emplace();
52 children.resize(4,
nullptr);
60 void removeEntity()
override {
61 ownerCell->nodes.erase(
62 std::remove(this->ownerCell->nodes.begin(), this->ownerCell->nodes.end(),
64 this->ownerCell->nodes.end());
68 inLinks.push_back(link);
72 outLinks.push_back(link);
76 auto it = std::find(inLinks.begin(), inLinks.end(), link);
77 if (it != inLinks.end()) {
83 auto it = std::find(outLinks.begin(), outLinks.end(), link);
84 if (it != outLinks.end()) {
89 const std::vector<LinkEntity*>& getInLinks()
const {
93 const std::vector<LinkEntity*>& getOutLinks()
const {
97 virtual void addPorts() {}
99 virtual void removePorts() {}
100 virtual void removeSlots() {}
102 virtual void updatePorts(
float deltaTime) {}
109 unsigned int fromId = 0;
110 unsigned int toId = 0;
118 int fromSlotIndex = -1;
119 int toSlotIndex = -1;
122 children.resize(1,
nullptr);
128 children.resize(1,
nullptr);
134 children.resize(1,
nullptr);
139 unsigned int mfromId,
unsigned int mtoId,
142 fromId(mfromId), toId(mtoId),
143 from(mfrom), to(mto) {
144 children.resize(1,
nullptr);
151 int m_fromPort,
int m_toPort,
int m_fromSlot,
int m_toSlot )
154 children.resize(1,
nullptr);
155 fromPort = m_fromPort;
157 fromSlotIndex = m_fromSlot;
158 toSlotIndex = m_toSlot;
165 void removeFromCells() {
170 void removeEntity()
override {
171 for (
auto cell : ownerCells) {
172 cell->links.erase(std::remove(cell->links.begin(), cell->links.end(),
187 return from->children[fromPort];
191 return to->children[toPort];
194 virtual void updateConnectedPorts() {}
196 virtual void resetPorts() {}
198 virtual void updateArrowHeads() {}
200 virtual void addArrowHead() {}
202 virtual void removeArrowHead() {}