Oakfield API Documentation 1.0.0
Numerical core APIs
Loading...
Searching...
No Matches
rd_seed.h File Reference

Reaction-diffusion seed-pattern stimulus. More...

#include "coords.h"
#include "oakfield/operator_split.h"
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
Include dependency graph for rd_seed.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SimStimulusRDSeedConfig
 Configuration for reaction-diffusion seed-pattern stimuli. More...
 

Typedefs

typedef enum SimStimulusRDSeedMode SimStimulusRDSeedMode
 Seed-pattern templates for reaction-diffusion initialization.
 
typedef struct SimStimulusRDSeedConfig SimStimulusRDSeedConfig
 Configuration for reaction-diffusion seed-pattern stimuli.
 

Enumerations

enum  SimStimulusRDSeedMode { SIM_STIMULUS_RD_SEED_SPOTS = 0 , SIM_STIMULUS_RD_SEED_STRIPES , SIM_STIMULUS_RD_SEED_LABYRINTH , SIM_STIMULUS_RD_SEED_RINGS }
 Seed-pattern templates for reaction-diffusion initialization. More...
 

Functions

SimResult sim_add_stimulus_rd_seed_operator (struct SimContext *context, const SimStimulusRDSeedConfig *config, size_t *out_index)
 Register a reaction-diffusion seed-pattern stimulus operator.
 
SimResult sim_stimulus_rd_seed_config (struct SimContext *context, size_t operator_index, SimStimulusRDSeedConfig *out_config)
 Copy the current RD seed configuration from a registered operator.
 
SimResult sim_stimulus_rd_seed_update (struct SimContext *context, size_t operator_index, const SimStimulusRDSeedConfig *config)
 Replace or renormalize a registered RD seed stimulus configuration.
 

Detailed Description

Reaction-diffusion seed-pattern stimulus.

Applies seeded spatial templates (spots/stripes/labyrinth/rings) as a persistent reaction-diffusion style stimulus.

Enumeration Type Documentation

◆ SimStimulusRDSeedMode

Seed-pattern templates for reaction-diffusion initialization.

Enumerator
SIM_STIMULUS_RD_SEED_SPOTS 

Spot-like seed pattern.

SIM_STIMULUS_RD_SEED_STRIPES 

Stripe-like seed pattern.

SIM_STIMULUS_RD_SEED_LABYRINTH 

Labyrinth-like seed pattern.

SIM_STIMULUS_RD_SEED_RINGS 

Ring-like seed pattern.

Function Documentation

◆ sim_add_stimulus_rd_seed_operator()

SimResult sim_add_stimulus_rd_seed_operator ( struct SimContext context,
const SimStimulusRDSeedConfig config,
size_t *  out_index 
)

Register a reaction-diffusion seed-pattern stimulus operator.

The implementation copies and normalizes config, rebuilds the seeded template table, and registers the operator on the target field.

Parameters
contextSimulation context that will own the operator.
configOptional RD seed configuration; NULL selects normalized defaults.
[out]out_indexOptional destination for the registered operator index.
Returns
SIM_RESULT_OK on success, or an error code from validation, allocation, table setup, or split-operator registration.

◆ sim_stimulus_rd_seed_config()

SimResult sim_stimulus_rd_seed_config ( struct SimContext context,
size_t  operator_index,
SimStimulusRDSeedConfig out_config 
)

Copy the current RD seed configuration from a registered operator.

Parameters
contextSimulation context containing the operator.
operator_indexIndex returned by sim_add_stimulus_rd_seed_operator().
[out]out_configReceives the operator's normalized configuration.
Returns
SIM_RESULT_OK on success, SIM_RESULT_INVALID_ARGUMENT for NULL pointers, SIM_RESULT_NOT_FOUND for a missing operator, or SIM_RESULT_INVALID_STATE when the operator has no stimulus state.

◆ sim_stimulus_rd_seed_update()

SimResult sim_stimulus_rd_seed_update ( struct SimContext context,
size_t  operator_index,
const SimStimulusRDSeedConfig config 
)

Replace or renormalize a registered RD seed stimulus configuration.

Passing NULL for config keeps the existing configuration and reapplies normalization. A successful update rebuilds the seed tables as needed and invalidates the scheduler plan.

Parameters
contextSimulation context containing the operator.
operator_indexIndex of the RD seed operator to update.
configOptional replacement configuration.
Returns
SIM_RESULT_OK on success, or an error code if lookup, table setup, or state validation fails.