Blender V4.3
BKE_boids.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2009 by Janne Karhu. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15struct BoidSettings;
16struct BoidState;
17struct Object;
18struct ParticleData;
19struct ParticleSettings;
21struct RNG;
22
23typedef struct BoidBrainData {
28
29 /* Goal stuff */
30 struct Object *goal_ob;
31 float goal_co[3];
32 float goal_nor[3];
34
35 struct RNG *rng;
37
38void boids_precalc_rules(struct ParticleSettings *part, float cfra);
42void boid_brain(BoidBrainData *bbd, int p, struct ParticleData *pa);
46void boid_body(BoidBrainData *bbd, struct ParticleData *pa);
47void boid_default_settings(struct BoidSettings *boids);
48struct BoidRule *boid_new_rule(int type);
49struct BoidState *boid_new_state(struct BoidSettings *boids);
50struct BoidState *boid_duplicate_state(struct BoidSettings *boids, struct BoidState *state);
51void boid_free_settings(struct BoidSettings *boids);
52struct BoidSettings *boid_copy_settings(const struct BoidSettings *boids);
53struct BoidState *boid_get_current_state(struct BoidSettings *boids);
54
55#ifdef __cplusplus
56}
57#endif
struct BoidState * boid_duplicate_state(struct BoidSettings *boids, struct BoidState *state)
Definition boids.cc:1671
struct BoidSettings * boid_copy_settings(const struct BoidSettings *boids)
void boid_brain(BoidBrainData *bbd, int p, struct ParticleData *pa)
Definition boids.cc:1052
void boid_body(BoidBrainData *bbd, struct ParticleData *pa)
Definition boids.cc:1209
void boid_default_settings(struct BoidSettings *boids)
Definition boids.cc:1626
struct BoidState * boid_get_current_state(struct BoidSettings *boids)
Definition boids.cc:1722
struct BoidRule * boid_new_rule(int type)
Definition boids.cc:1583
void boid_free_settings(struct BoidSettings *boids)
Definition boids.cc:1683
struct BoidBrainData BoidBrainData
struct BoidState * boid_new_state(struct BoidSettings *boids)
Definition boids.cc:1652
void boids_precalc_rules(struct ParticleSettings *part, float cfra)
Definition boids.cc:955
static ulong state[N]
float wanted_co[3]
Definition BKE_boids.h:27
float goal_nor[3]
Definition BKE_boids.h:32
struct ParticleSettings * part
Definition BKE_boids.h:25
struct Object * goal_ob
Definition BKE_boids.h:30
struct RNG * rng
Definition BKE_boids.h:35
float timestep
Definition BKE_boids.h:26
float wanted_speed
Definition BKE_boids.h:27
float goal_priority
Definition BKE_boids.h:33
struct ParticleSimulationData * sim
Definition BKE_boids.h:24
float goal_co[3]
Definition BKE_boids.h:31
Definition rand.cc:33