13 m_fields[slot_index] = std::move(field);
18 "MeshTransformOperator: bound field to slot {}", slot_index);
40 if (field_it !=
m_fields.end() && field_it->second) {
57 return glm::mat4(1.0F);
61 return glm::mat4(1.0F);
63 return (*
m_slots)[pidx].world_transform;
#define MF_DEBUG(comp, ctx,...)
std::vector< MeshSlot > * m_slots
@ NodeProcessing
Node graph processing (Nodes::NodeGraphManager)
@ Nodes
DSP Generator and Filter Nodes, graph pipeline, node management.
bool dirty
Set when local_transform or slot config changes since last upload.
glm::mat4 local_transform
Local-space transform relative to parent (or world if root).
uint32_t index
Position of this slot in MeshNetwork::m_slots. Stable after insertion.
glm::mat4 world_transform
World-space transform, recomputed each cycle from the DAG.
std::optional< uint32_t > parent_index
Index of the parent slot, or nullopt for a root slot.
Named, independently transformable mesh unit within a MeshNetwork.