Blender  V3.3
BKE_boids.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2009 by Janne Karhu. All rights reserved. */
3 
4 #pragma once
5 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 struct BoidSettings;
15 struct BoidState;
16 struct Object;
17 struct ParticleData;
18 struct ParticleSettings;
20 struct RNG;
21 
22 typedef struct BoidBrainData {
25  float timestep, cfra, dfra;
27 
28  /* Goal stuff */
29  struct Object *goal_ob;
30  float goal_co[3];
31  float goal_nor[3];
33 
34  struct RNG *rng;
36 
37 void boids_precalc_rules(struct ParticleSettings *part, float cfra);
41 void boid_brain(BoidBrainData *bbd, int p, struct ParticleData *pa);
45 void boid_body(BoidBrainData *bbd, struct ParticleData *pa);
46 void boid_default_settings(struct BoidSettings *boids);
47 struct BoidRule *boid_new_rule(int type);
48 struct BoidState *boid_new_state(struct BoidSettings *boids);
49 struct BoidState *boid_duplicate_state(struct BoidSettings *boids, struct BoidState *state);
50 void boid_free_settings(struct BoidSettings *boids);
51 struct BoidSettings *boid_copy_settings(const struct BoidSettings *boids);
52 struct BoidState *boid_get_current_state(struct BoidSettings *boids);
53 
54 #ifdef __cplusplus
55 }
56 #endif
struct BoidState * boid_get_current_state(struct BoidSettings *boids)
Definition: boids.c:1710
struct BoidSettings * boid_copy_settings(const struct BoidSettings *boids)
struct BoidRule * boid_new_rule(int type)
Definition: boids.c:1574
void boid_brain(BoidBrainData *bbd, int p, struct ParticleData *pa)
Definition: boids.c:1048
void boid_body(BoidBrainData *bbd, struct ParticleData *pa)
Definition: boids.c:1204
void boid_default_settings(struct BoidSettings *boids)
Definition: boids.c:1614
struct BoidState * boid_new_state(struct BoidSettings *boids)
Definition: boids.c:1640
void boid_free_settings(struct BoidSettings *boids)
Definition: boids.c:1671
struct BoidState * boid_duplicate_state(struct BoidSettings *boids, struct BoidState *state)
Definition: boids.c:1659
struct BoidBrainData BoidBrainData
void boids_precalc_rules(struct ParticleSettings *part, float cfra)
Definition: boids.c:950
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
const int state
float wanted_co[3]
Definition: BKE_boids.h:26
float cfra
Definition: BKE_boids.h:25
float dfra
Definition: BKE_boids.h:25
float goal_nor[3]
Definition: BKE_boids.h:31
struct ParticleSettings * part
Definition: BKE_boids.h:24
struct Object * goal_ob
Definition: BKE_boids.h:29
struct RNG * rng
Definition: BKE_boids.h:34
float timestep
Definition: BKE_boids.h:25
float wanted_speed
Definition: BKE_boids.h:26
float goal_priority
Definition: BKE_boids.h:32
struct ParticleSimulationData * sim
Definition: BKE_boids.h:23
float goal_co[3]
Definition: BKE_boids.h:30
Definition: rand.cc:33