Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
turbulence.h
Go to the documentation of this file.
1
11#ifndef OAKFIELD_STIMULUS_TURBULENCE_H
12#define OAKFIELD_STIMULUS_TURBULENCE_H
13
14#include "coords.h"
16
17#include <stdbool.h>
18#include <stddef.h>
19#include <stdint.h>
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25struct SimContext;
26
40
54 const SimStimulusTurbulenceConfig *config,
55 size_t *out_index);
56
67SimResult sim_stimulus_turbulence_config(struct SimContext *context, size_t operator_index,
68 SimStimulusTurbulenceConfig *out_config);
69
83SimResult sim_stimulus_turbulence_update(struct SimContext *context, size_t operator_index,
84 const SimStimulusTurbulenceConfig *config);
85
86#ifdef __cplusplus
87}
88#endif
89
90#endif /* OAKFIELD_STIMULUS_TURBULENCE_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 seeded billowy turbulence stimulus noise.
Definition turbulence.h:30
double hurst
Definition turbulence.h:33
uint64_t seed
Definition turbulence.h:37
unsigned int octaves
Definition turbulence.h:35
size_t field_index
Definition turbulence.h:31
bool scale_by_dt
Definition turbulence.h:38
double lacunarity
Definition turbulence.h:34
SimStimulusCoordConfig coord
Definition turbulence.h:36
double amplitude
Definition turbulence.h:32
SimResult sim_stimulus_turbulence_update(struct SimContext *context, size_t operator_index, const SimStimulusTurbulenceConfig *config)
Replace or renormalize a registered turbulence stimulus configuration.
SimResult sim_add_stimulus_turbulence_operator(struct SimContext *context, const SimStimulusTurbulenceConfig *config, size_t *out_index)
Register a billowy turbulence stimulus operator.
SimResult sim_stimulus_turbulence_config(struct SimContext *context, size_t operator_index, SimStimulusTurbulenceConfig *out_config)
Copy the current turbulence configuration from a registered operator.