MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ process_slot()

void MayaFlux::Nodes::Network::InstanceFieldOperator::process_slot ( GeometrySlot slot,
float  dt 
)
overridevirtual

Implements MayaFlux::Nodes::Network::InstanceOperator.

Definition at line 63 of file InstanceFieldOperator.cpp.

64{
65 if (auto it = m_transform_fields.find(slot.index);
66 it != m_transform_fields.end() && it->second) {
67 slot.transform = it->second(slot.transform);
68 slot.dirty = true;
69 return;
70 }
71
72 if (auto it = m_position_fields.find(slot.index);
73 it != m_position_fields.end() && it->second.fn) {
74 const glm::vec3 pos { slot.transform[3] };
75 slot.transform[3] = glm::vec4(it->second(pos), 1.0F);
76 slot.dirty = true;
77 }
78}
std::unordered_map< uint32_t, PositionField > m_position_fields
std::unordered_map< uint32_t, TransformField > m_transform_fields

References MayaFlux::Nodes::Network::GeometrySlot::dirty, MayaFlux::Nodes::Network::GeometrySlot::index, m_position_fields, m_transform_fields, and MayaFlux::Nodes::Network::GeometrySlot::transform.