Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
zone_plate.h
Go to the documentation of this file.
1
13#ifndef OAKFIELD_STIMULUS_ZONE_PLATE_H
14#define OAKFIELD_STIMULUS_ZONE_PLATE_H
15
16#include "coords.h"
18
19#include <stdbool.h>
20#include <stddef.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26struct SimContext;
27
52
66 const SimStimulusZonePlateConfig *config,
67 size_t *out_index);
68
79SimResult sim_stimulus_zone_plate_config(struct SimContext *context, size_t operator_index,
80 SimStimulusZonePlateConfig *out_config);
81
95SimResult sim_stimulus_zone_plate_update(struct SimContext *context, size_t operator_index,
96 const SimStimulusZonePlateConfig *config);
97
98#ifdef __cplusplus
99}
100#endif
101
102#endif /* 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.