TerraForge3D  2.3.1
3D Terrain And Landscape Generator

◆ DeleteNode()

void NodeEditor::DeleteNode ( NodeEditorNode node)

Definition at line 574 of file NodeEditor.cpp.

575{
576 mutex.lock();
577
578 if (nodes.find(node->_id.Get()) != nodes.end())
579 {
580#ifdef TERR3D_WIN32
581 using namespace std::chrono_literals; // This Line is temporary
582 std::this_thread::sleep_for(500ms); // This Line is temporary
583#endif
584 node->OnDelete();
585 std::vector<NodeEditorPin *> mPins = node->GetPins();
586
587 for (NodeEditorPin *pin : mPins)
588 {
589 if (pin->IsLinked())
590 {
591 links.erase(links.find(pin->link->_id.Get()));
592 pin->other->Unlink();
593 delete pin->link;
594 }
595
596 pins.erase(pins.find(pin->_id.Get()));
597 delete pin;
598 }
599
600 nodes.erase(nodes.find(node->_id.Get()));
601 delete node;
602 }
603
604 mutex.unlock();
605}