83 void unbind(uint32_t slot_index,
FieldTarget target);
89 void unbind_slot(uint32_t slot_index);
101 void set_mode(uint32_t slot_index,
FieldMode mode);
111 void process_slot(
MeshSlot& slot,
float dt)
override;
119 std::unordered_map<uint32_t, std::shared_ptr<FieldOperator>>
m_field_ops;
128 [[nodiscard]] std::shared_ptr<FieldOperator>
129 get_or_create(
MeshSlot& slot, uint32_t slot_index);
void bind(uint32_t slot_index, FieldTarget target, Kinesis::SpatialField field)
Bind a SpatialField to a slot.
std::unordered_map< uint32_t, std::shared_ptr< FieldOperator > > m_field_ops
MeshFieldOperator()=default
~MeshFieldOperator() override=default
void bind(uint32_t slot_index, FieldTarget target, Kinesis::UVField field)
Bind a UVField to a slot.
std::string_view get_type_name() const override
Type name for introspection.
Chain operator that applies Tendency field deformation to the vertex data of individual MeshNetwork s...
Abstract base for operators that process MeshNetwork slots.
FieldMode
How fields are applied each frame.
FieldTarget
Vertex attribute targets for Tendency field evaluation.
Typed, composable, stateless callable from domain D to range R.
Named, independently transformable mesh unit within a MeshNetwork.