Blender  V2.93
Classes | Macros | Typedefs | Enumerations
DNA_boid_types.h File Reference
#include "DNA_listBase.h"

Go to the source code of this file.

Classes

struct  BoidRule
 
struct  BoidRuleGoalAvoid
 
struct  BoidRuleAvoidCollision
 
struct  BoidRuleFollowLeader
 
struct  BoidRuleAverageSpeed
 
struct  BoidRuleFight
 
struct  BoidData
 
struct  BoidState
 
struct  BoidSettings
 

Macros

#define BOIDRULE_CURRENT   (1 << 0)
 
#define BOIDRULE_IN_AIR   (1 << 2)
 
#define BOIDRULE_ON_LAND   (1 << 3)
 
#define BRULE_GOAL_AVOID_PREDICT   (1 << 0)
 
#define BRULE_GOAL_AVOID_ARRIVE   (1 << 1)
 
#define BRULE_GOAL_AVOID_SIGNAL   (1 << 2)
 
#define BRULE_ACOLL_WITH_BOIDS   (1 << 0)
 
#define BRULE_ACOLL_WITH_DEFLECTORS   (1 << 1)
 
#define BRULE_LEADER_IN_LINE   (1 << 0)
 
#define BOIDSTATE_CURRENT   1
 
#define BOID_ALLOW_FLIGHT   (1 << 0)
 
#define BOID_ALLOW_LAND   (1 << 1)
 
#define BOID_ALLOW_CLIMB   (1 << 2)
 

Typedefs

typedef enum eBoidRuleType eBoidRuleType
 
typedef struct BoidRule BoidRule
 
typedef struct BoidRuleGoalAvoid BoidRuleGoalAvoid
 
typedef struct BoidRuleAvoidCollision BoidRuleAvoidCollision
 
typedef struct BoidRuleFollowLeader BoidRuleFollowLeader
 
typedef struct BoidRuleAverageSpeed BoidRuleAverageSpeed
 
typedef struct BoidRuleFight BoidRuleFight
 
typedef enum eBoidMode eBoidMode
 
typedef struct BoidData BoidData
 
typedef enum eBoidRulesetType eBoidRulesetType
 
typedef struct BoidState BoidState
 
typedef struct BoidSettings BoidSettings
 

Enumerations

enum  eBoidRuleType {
  eBoidRuleType_None = 0 , eBoidRuleType_Goal = 1 , eBoidRuleType_Avoid = 2 , eBoidRuleType_AvoidCollision = 3 ,
  eBoidRuleType_Separate = 4 , eBoidRuleType_Flock = 5 , eBoidRuleType_FollowLeader = 6 , eBoidRuleType_AverageSpeed = 7 ,
  eBoidRuleType_Fight = 8
}
 
enum  eBoidMode {
  eBoidMode_InAir = 0 , eBoidMode_OnLand = 1 , eBoidMode_Climbing = 2 , eBoidMode_Falling = 3 ,
  eBoidMode_Liftoff = 4
}
 
enum  eBoidRulesetType { eBoidRulesetType_Fuzzy = 0 , eBoidRulesetType_Random = 1 , eBoidRulesetType_Average = 2 }
 

Macro Definition Documentation

◆ BOID_ALLOW_CLIMB

#define BOID_ALLOW_CLIMB   (1 << 2)

Definition at line 220 of file DNA_boid_types.h.

◆ BOID_ALLOW_FLIGHT

#define BOID_ALLOW_FLIGHT   (1 << 0)

Definition at line 218 of file DNA_boid_types.h.

◆ BOID_ALLOW_LAND

#define BOID_ALLOW_LAND   (1 << 1)

Definition at line 219 of file DNA_boid_types.h.

◆ BOIDRULE_CURRENT

#define BOIDRULE_CURRENT   (1 << 0)

Definition at line 63 of file DNA_boid_types.h.

◆ BOIDRULE_IN_AIR

#define BOIDRULE_IN_AIR   (1 << 2)

Definition at line 64 of file DNA_boid_types.h.

◆ BOIDRULE_ON_LAND

#define BOIDRULE_ON_LAND   (1 << 3)

Definition at line 65 of file DNA_boid_types.h.

◆ BOIDSTATE_CURRENT

#define BOIDSTATE_CURRENT   1

Definition at line 154 of file DNA_boid_types.h.

◆ BRULE_ACOLL_WITH_BOIDS

#define BRULE_ACOLL_WITH_BOIDS   (1 << 0)

Definition at line 83 of file DNA_boid_types.h.

◆ BRULE_ACOLL_WITH_DEFLECTORS

#define BRULE_ACOLL_WITH_DEFLECTORS   (1 << 1)

Definition at line 84 of file DNA_boid_types.h.

◆ BRULE_GOAL_AVOID_ARRIVE

#define BRULE_GOAL_AVOID_ARRIVE   (1 << 1)

Definition at line 72 of file DNA_boid_types.h.

◆ BRULE_GOAL_AVOID_PREDICT

#define BRULE_GOAL_AVOID_PREDICT   (1 << 0)

Definition at line 71 of file DNA_boid_types.h.

◆ BRULE_GOAL_AVOID_SIGNAL

#define BRULE_GOAL_AVOID_SIGNAL   (1 << 2)

Definition at line 73 of file DNA_boid_types.h.

◆ BRULE_LEADER_IN_LINE

#define BRULE_LEADER_IN_LINE   (1 << 0)

Definition at line 90 of file DNA_boid_types.h.

Typedef Documentation

◆ BoidData

typedef struct BoidData BoidData

◆ BoidRule

typedef struct BoidRule BoidRule

◆ BoidRuleAverageSpeed

◆ BoidRuleAvoidCollision

◆ BoidRuleFight

typedef struct BoidRuleFight BoidRuleFight

◆ BoidRuleFollowLeader

◆ BoidRuleGoalAvoid

◆ BoidSettings

typedef struct BoidSettings BoidSettings

◆ BoidState

typedef struct BoidState BoidState

◆ eBoidMode

typedef enum eBoidMode eBoidMode

◆ eBoidRulesetType

◆ eBoidRuleType

Enumeration Type Documentation

◆ eBoidMode

enum eBoidMode
Enumerator
eBoidMode_InAir 
eBoidMode_OnLand 
eBoidMode_Climbing 
eBoidMode_Falling 
eBoidMode_Liftoff 

Definition at line 107 of file DNA_boid_types.h.

◆ eBoidRulesetType

Enumerator
eBoidRulesetType_Fuzzy 
eBoidRulesetType_Random 
eBoidRulesetType_Average 

Definition at line 149 of file DNA_boid_types.h.

◆ eBoidRuleType

Enumerator
eBoidRuleType_None 
eBoidRuleType_Goal 

go to goal assigned object or loudest assigned signal source

eBoidRuleType_Avoid 

get away from assigned object or loudest assigned signal source

eBoidRuleType_AvoidCollision 

Maneuver to avoid collisions with other boids and deflector object in near future.

eBoidRuleType_Separate 

keep from going through other boids

eBoidRuleType_Flock 

move to center of neighbors and match their velocity

eBoidRuleType_FollowLeader 

follow a boid or assigned object

eBoidRuleType_AverageSpeed 

maintain speed, flight level or wander

eBoidRuleType_Fight 

go to closest enemy and attack when in range

Definition at line 32 of file DNA_boid_types.h.