#include "node.h" Node::Node(uint16_t number) { _number = number; for(int i=0; iadd_led(number * CORNERS_PER_PART * LEDS_PER_CORNER + i * LEDS_PER_CORNER + j); } corners[i] = c; } for(int i=0; i_long_neighbours.push_back(corners[(i+1) % CORNERS_PER_PART]); corners[i]->_long_neighbours.push_back(corners[(i-1) % CORNERS_PER_PART]); } } Node* Node::create_neighbour(uint8_t edge) { Node* node = new Node(_number + 1); node->neighbours[0] = this; neighbours[edge] = node; node->edges[0]->neighbour = this->edges[edge]; this->edges[edge]->neighbour = node->edges[0]; node->corners[0]->_short_neighbours.push_back(this->corners[(edge-1) % CORNERS_PER_PART]); node->corners[CORNERS_PER_PART - 1]->_short_neighbours.push_back(this->corners[edge]); this->corners[(edge-1) % CORNERS_PER_PART]->_short_neighbours.push_back(node->corners[0]); this->corners[edge]->_short_neighbours.push_back(node->corners[CORNERS_PER_PART - 1]); /* delete node->edges[0]; node->edges[0] = this->edges[edge]; Corner* c = this->corners[(edge-1) % CORNERS_PER_PART]; c->merge_leds(node->corners[0]); delete node->corners[0]; node->corners[0] = c; c = this->corners[edge]; c->merge_leds(node->corners[CORNERS_PER_PART-1]); delete node->corners[CORNERS_PER_PART-1]; node->corners[CORNERS_PER_PART-1] = c; */ return node; }