Blender  V3.3
Classes | Typedefs | Functions
BKE_boids.h File Reference

Go to the source code of this file.

Classes

struct  BoidBrainData
 

Typedefs

typedef struct BoidBrainData BoidBrainData
 

Functions

void boids_precalc_rules (struct ParticleSettings *part, float cfra)
 
void boid_brain (BoidBrainData *bbd, int p, struct ParticleData *pa)
 
void boid_body (BoidBrainData *bbd, struct ParticleData *pa)
 
void boid_default_settings (struct BoidSettings *boids)
 
struct BoidRuleboid_new_rule (int type)
 
struct BoidStateboid_new_state (struct BoidSettings *boids)
 
struct BoidStateboid_duplicate_state (struct BoidSettings *boids, struct BoidState *state)
 
void boid_free_settings (struct BoidSettings *boids)
 
struct BoidSettingsboid_copy_settings (const struct BoidSettings *boids)
 
struct BoidStateboid_get_current_state (struct BoidSettings *boids)
 

Typedef Documentation

◆ BoidBrainData

typedef struct BoidBrainData BoidBrainData

Function Documentation

◆ boid_body()

void boid_body ( BoidBrainData bbd,
struct ParticleData pa 
)

Tries to realize the wanted velocity taking all constraints into account.

Definition at line 1204 of file boids.c.

References BoidData::acc, add_v3_v3(), add_v3_v3v3(), angle(), ParticleKey::ave, axis_angle_to_quat(), BoidSettings::banking, BKE_effectors_apply(), BLI_rng_get_float(), ParticleData::boid, BOID_ALLOW_FLIGHT, BOID_ALLOW_LAND, boid_climb(), boid_find_ground(), boid_goal_signed_dist(), ParticleSettings::boids, ParticleKey::co, ParticleSimulationData::colliders, copy_particle_key(), copy_qt_qt(), copy_v2_v2(), copy_v3_v3(), cross_v3_v3v3(), ParticleSettings::dampfac, BoidParticle::data, BoidBrainData::dfra, dot_v2v2(), dot_v3v3(), eBoidMode_Climbing, eBoidMode_Falling, eBoidMode_InAir, eBoidMode_Liftoff, eBoidMode_OnLand, ParticleSettings::effector_weights, ParticleSystem::effectors, ELEM, ParticleSettings::flag, BoidBrainData::goal_co, BoidBrainData::goal_nor, BoidBrainData::goal_ob, BoidParticle::gravity, PhysicsSettings::gravity, BoidParticle::ground, BoidSettings::height, BoidSettings::land_stick_force, BoidSettings::landing_smoothness, len_v3(), blender::math::length(), madd_v3_v3fl(), madd_v3_v3v3fl(), ParticleSettings::mass, mat3_to_quat_is_ok(), MAX2, BoidValues::max_acc, BoidValues::max_ave, BoidValues::max_speed, MIN2, min_ff(), BoidValues::min_speed, BoidData::mode, mul_qt_v3(), mul_v2_fl(), mul_v3_fl(), negate_v3(), negate_v3_v3(), nor, normalize_v2(), normalize_v3(), normalize_v3_v3(), NULL, BoidSettings::options, BoidBrainData::part, PART_SIZEMASS, pd_point_from_particle(), Scene::physics_settings, BoidSettings::pitch, ParticleData::prev_state, project_v3_v3v3(), ParticleSimulationData::psys, psys_uses_gravity(), BoidBrainData::rng, ParticleKey::rot, saacos(), sasqrt(), ParticleSimulationData::scene, set_boid_values(), BoidBrainData::sim, ParticleData::size, ParticleData::state, sub_v3_v3v3(), BoidBrainData::timestep, v, ParticleKey::vel, BoidBrainData::wanted_co, and BoidBrainData::wanted_speed.

Referenced by dynamics_step().

◆ boid_brain()

void boid_brain ( BoidBrainData bbd,
int  p,
struct ParticleData pa 
)

◆ boid_copy_settings()

struct BoidSettings* boid_copy_settings ( const struct BoidSettings boids)

◆ boid_default_settings()

void boid_default_settings ( struct BoidSettings boids)

◆ boid_duplicate_state()

struct BoidState* boid_duplicate_state ( struct BoidSettings boids,
struct BoidState state 
)

◆ boid_free_settings()

void boid_free_settings ( struct BoidSettings boids)

Definition at line 1671 of file boids.c.

References BLI_freelistN(), ListBase::first, MEM_freeN, state, and BoidSettings::states.

Referenced by particle_settings_free_data().

◆ boid_get_current_state()

struct BoidState* boid_get_current_state ( struct BoidSettings boids)

◆ boid_new_rule()

struct BoidRule* boid_new_rule ( int  type)

◆ boid_new_state()

struct BoidState* boid_new_state ( struct BoidSettings boids)

Definition at line 1640 of file boids.c.

References BLI_snprintf(), BoidSettings::last_state_id, MEM_callocN, and state.

Referenced by state_add_exec(), and state_del_exec().

◆ boids_precalc_rules()

void boids_precalc_rules ( struct ParticleSettings part,
float  cfra 
)