13#ifndef OAKFIELD_STIMULUS_ZONE_PLATE_H
14#define OAKFIELD_STIMULUS_ZONE_PLATE_H
Shared spatial coordinate helpers for stimulus operators.
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
Declarative complex-first operator splitting (substep expansion at plan time).
Simulation runtime state.
Definition sim_context.h:70
Shared coordinate mapping configuration used by stimulus operators.
Definition coords.h:53
Configuration for a Fresnel-style zone plate stimulus.
Definition zone_plate.h:31
double orientation
Definition zone_plate.h:43
double time_offset
Definition zone_plate.h:48
double aperture_v
Definition zone_plate.h:38
double center_u
Definition zone_plate.h:39
double omega
Definition zone_plate.h:45
double aperture_u
Definition zone_plate.h:37
double phase
Definition zone_plate.h:46
double radial_chirp
Definition zone_plate.h:34
bool scale_by_dt
Definition zone_plate.h:50
double scale_u
Definition zone_plate.h:35
double velocity_u
Definition zone_plate.h:41
double velocity_v
Definition zone_plate.h:42
double scale_v
Definition zone_plate.h:36
double rotation
Definition zone_plate.h:49
double amplitude
Definition zone_plate.h:33
double center_v
Definition zone_plate.h:40
size_t field_index
Definition zone_plate.h:32
SimStimulusCoordConfig coord
Definition zone_plate.h:47
double orientation_rate
Definition zone_plate.h:44
SimResult sim_add_stimulus_zone_plate_operator(struct SimContext *context, const SimStimulusZonePlateConfig *config, size_t *out_index)
Register a Fresnel-style zone plate stimulus operator.
SimResult sim_stimulus_zone_plate_update(struct SimContext *context, size_t operator_index, const SimStimulusZonePlateConfig *config)
Replace or renormalize a registered zone-plate stimulus configuration.
SimResult sim_stimulus_zone_plate_config(struct SimContext *context, size_t operator_index, SimStimulusZonePlateConfig *out_config)
Copy the current zone-plate configuration from a registered operator.