Evaluation of very simple graphs works.

This commit is contained in:
Martin Felis
2023-03-28 22:00:58 +02:00
parent e38c0b4934
commit 08283d9bcf
7 changed files with 94 additions and 12 deletions
+22
View File
@@ -49,6 +49,27 @@ struct AnimGraph {
}
}
}
m_node_input_connections.clear();
if (m_node_output_connections.size() > 0) {
std::vector<AnimGraphConnection>& graph_inputs =
m_node_output_connections[0];
for (size_t i = 0, n = graph_inputs.size(); i < n; i++) {
AnimGraphConnection& connection = graph_inputs[i];
if (connection.m_target_socket.m_type
== SocketType::SocketTypeAnimation) {
AnimData* graph_anim_output = static_cast<AnimData*>(
connection.m_target_socket.m_reference.ptr);
assert(graph_anim_output != nullptr);
// we have to explicitly call the destructor as the AnimData* was
// initialized using a placement new operator.
graph_anim_output->m_local_matrices.vector::~vector();
}
}
}
m_node_output_connections.clear();
delete[] m_input_buffer;
delete[] m_output_buffer;
@@ -56,6 +77,7 @@ struct AnimGraph {
for (int i = 0; i < m_nodes.size(); i++) {
delete m_nodes[i];
}
m_nodes.clear();
delete m_socket_accessor;
}