Я работаю над проектом, который использует узлы и сюжеты. Я решил использовать imgui вместе с Implots и imgui-node-editor. > https://github.com/epezent/implot
https://github.com/thedmd/imgui-node-editor
Я хочу иметь возможность встроить участок IMPOT в узел Imgui-Node-Editor < /p>
Предполагая, что все настроено правильно, что это. < /p>
ax::NodeEditor::BeginNode(1);
if (ImPlot::BeginPlot("BlankPlot")) {
ImPlot::EndPlot();
}
ax::NodeEditor::EndNode();
< /code>
(пример, не моя фактическая реализация.) Нарисует за пределами границ узла < /p>
Что касается моей конкретной реализации: (я включаю это, потому что я не уверен, если это имеет значение или нет) < /p>
editor.cpp (выдержка из цикла Draw) < /p>
// Loop through all nodes in Nodes::nodes
for (auto it = Nodes::nodes.begin(); it != Nodes::nodes.end(); ) {
// Get node
Nodes::BaseNode* node = it->get();
// Begin drawing Node
ax::NodeEditor::BeginNode(node->GetNodeID()); // Begins Node, sets ID from node's GetNodeID (See BaseNode.h and BaseNode.cpp)
node->Draw(); // Draws node (Defined for every class inheriting from BaseNode)
if (!node->IsOpen()) { // Checks if node should still be open (See BaseNode.h and BaseNode.cpp)
it = Nodes::nodes.erase(it); // If node should be closed, remove it from Nodes::nodes
} else {
++it; // Else, keep chugging along
}
ax::NodeEditor::EndNode();
}
< /code>
scopenode.cpp
void Oscil::Nodes::ScopeNode::Draw() {
ImGui::Text("Node A");
ax::NodeEditor::BeginPin(Nodes::GetConnectionID(GetNodeID(), 1), ax::NodeEditor::PinKind::Input);
ImGui::Text("-> In");
ax::NodeEditor::EndPin();
if (ImPlot::BeginPlot("OscilloscopePlot")) {
//ImPlot::PlotLine("Line1", {1, 2, 3, 4, 5, 6, 6});
ImPlot::EndPlot();
}
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... ditor-node
Как правильно втянуть сюжет Implots в узел редактора Imgui? ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1740009063
Anonymous
Я работаю над проектом, который использует узлы и сюжеты. Я решил использовать imgui вместе с Implots и imgui-node-editor. > https://github.com/epezent/implot
https://github.com/thedmd/imgui-node-editor
Я хочу иметь возможность встроить участок IMPOT в узел Imgui-Node-Editor < /p>
Предполагая, что все настроено правильно, что это. < /p>
ax::NodeEditor::BeginNode(1);
if (ImPlot::BeginPlot("BlankPlot")) {
ImPlot::EndPlot();
}
ax::NodeEditor::EndNode();
< /code>
(пример, не моя фактическая реализация.) Нарисует за пределами границ узла < /p>
Что касается моей конкретной реализации: (я включаю это, потому что я не уверен, если это имеет значение или нет) < /p>
editor.cpp (выдержка из цикла Draw) < /p>
// Loop through all nodes in Nodes::nodes
for (auto it = Nodes::nodes.begin(); it != Nodes::nodes.end(); ) {
// Get node
Nodes::BaseNode* node = it->get();
// Begin drawing Node
ax::NodeEditor::BeginNode(node->GetNodeID()); // Begins Node, sets ID from node's GetNodeID (See BaseNode.h and BaseNode.cpp)
node->Draw(); // Draws node (Defined for every class inheriting from BaseNode)
if (!node->IsOpen()) { // Checks if node should still be open (See BaseNode.h and BaseNode.cpp)
it = Nodes::nodes.erase(it); // If node should be closed, remove it from Nodes::nodes
} else {
++it; // Else, keep chugging along
}
ax::NodeEditor::EndNode();
}
< /code>
scopenode.cpp
void Oscil::Nodes::ScopeNode::Draw() {
ImGui::Text("Node A");
ax::NodeEditor::BeginPin(Nodes::GetConnectionID(GetNodeID(), 1), ax::NodeEditor::PinKind::Input);
ImGui::Text("-> In");
ax::NodeEditor::EndPin();
if (ImPlot::BeginPlot("OscilloscopePlot")) {
//ImPlot::PlotLine("Line1", {1, 2, 3, 4, 5, 6, 6});
ImPlot::EndPlot();
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79453035/how-do-i-properly-draw-an-implots-plot-into-a-imgui-node-editor-node[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия