607 lines
23 KiB
Text
607 lines
23 KiB
Text
|
1565844357
|
||
|
3 3
|
||
|
10 libpandaai 4 s1eG 10 panda3d.ai
|
||
|
51
|
||
|
55 12 ~AIBehaviors 0 4 106 25 AIBehaviors::~AIBehaviors 0 0 0
|
||
|
32
|
||
|
AIBehaviors::~AIBehaviors(void);
|
||
|
|
||
|
56 4 seek 0 4 106 17 AIBehaviors::seek 0 2 2 3 219
|
||
|
/**
|
||
|
* This function activates seek and makes an object of the Seek class. This
|
||
|
* is the function we want the user to call for seek to be done. This
|
||
|
* function is overloaded to accept a NodePath or an LVecBase3.
|
||
|
*/
|
||
|
128
|
||
|
void AIBehaviors::seek(NodePath target_object, float seek_wt = 1.0);
|
||
|
void AIBehaviors::seek(LVecBase3 pos, float seek_wt = 1.0);
|
||
|
|
||
|
57 4 flee 0 4 106 17 AIBehaviors::flee 0 2 4 5 159
|
||
|
/**
|
||
|
* This function activates flee_activate and creates an object of the Flee
|
||
|
* class. This function is overloaded to accept a NodePath or an LVecBase3.
|
||
|
*/
|
||
|
248
|
||
|
void AIBehaviors::flee(NodePath target_object, double panic_distance = 10.0, double relax_distance = 10.0, float flee_wt = 1.0);
|
||
|
void AIBehaviors::flee(LVecBase3 pos, double panic_distance = 10.0, double relax_distance = 10.0, float flee_wt = 1.0);
|
||
|
|
||
|
58 6 pursue 0 4 106 19 AIBehaviors::pursue 0 1 6 115
|
||
|
/**
|
||
|
* This function activates pursue. This is the function we want the user to
|
||
|
* call for pursue to be done.
|
||
|
*/
|
||
|
72
|
||
|
void AIBehaviors::pursue(NodePath target_object, float pursue_wt = 1.0);
|
||
|
|
||
|
59 5 evade 0 4 106 18 AIBehaviors::evade 0 1 7 50
|
||
|
/**
|
||
|
* This function activates evade_activate.
|
||
|
*/
|
||
|
130
|
||
|
void AIBehaviors::evade(NodePath target_object, double panic_distance = 10.0, double relax_distance = 10.0, float evade_wt = 1.0);
|
||
|
|
||
|
60 7 arrival 0 4 106 20 AIBehaviors::arrival 0 1 8 117
|
||
|
/**
|
||
|
* This function activates arrival. This is the function we want the user to
|
||
|
* call for arrival to be done.
|
||
|
*/
|
||
|
50
|
||
|
void AIBehaviors::arrival(double distance = 10.0);
|
||
|
|
||
|
61 5 flock 0 4 106 18 AIBehaviors::flock 0 1 9 113
|
||
|
/**
|
||
|
* This function activates flock. This is the function we want the user to
|
||
|
* call for flock to be done.
|
||
|
*/
|
||
|
40
|
||
|
void AIBehaviors::flock(float flock_wt);
|
||
|
|
||
|
62 6 wander 0 4 106 19 AIBehaviors::wander 0 1 10 114
|
||
|
/**
|
||
|
* This function activates wander. This is the function we want the user to
|
||
|
* call for flock to be done.
|
||
|
*/
|
||
|
112
|
||
|
void AIBehaviors::wander(double wander_radius = 5.0, int flag = 0, double aoe = 0.0, float wander_weight = 1.0);
|
||
|
|
||
|
63 18 obstacle_avoidance 0 4 106 31 AIBehaviors::obstacle_avoidance 0 1 11 169
|
||
|
/**
|
||
|
* This function activates obstacle avoidance for a given character. This is
|
||
|
* the function we want the user to call for obstacle avoidance to be
|
||
|
* performed.
|
||
|
*/
|
||
|
64
|
||
|
void AIBehaviors::obstacle_avoidance(float feeler_length = 1.0);
|
||
|
|
||
|
64 11 path_follow 0 4 106 24 AIBehaviors::path_follow 0 1 12 120
|
||
|
/**
|
||
|
* This function activates path following. This is the function we want the
|
||
|
* user to call for path following.
|
||
|
*/
|
||
|
47
|
||
|
void AIBehaviors::path_follow(float follow_wt);
|
||
|
|
||
|
65 11 add_to_path 0 4 106 24 AIBehaviors::add_to_path 0 1 13 62
|
||
|
/**
|
||
|
* This function adds positions to the path to follow.
|
||
|
*/
|
||
|
45
|
||
|
void AIBehaviors::add_to_path(LVecBase3 pos);
|
||
|
|
||
|
66 12 start_follow 0 4 106 25 AIBehaviors::start_follow 0 1 14 0
|
||
|
60
|
||
|
void AIBehaviors::start_follow(std::string type = "normal");
|
||
|
|
||
|
67 14 init_path_find 0 4 106 27 AIBehaviors::init_path_find 0 1 15 165
|
||
|
// should have different function names.
|
||
|
|
||
|
/**
|
||
|
* This function activates path finding in the character. This function
|
||
|
* accepts the meshdata in .csv format.
|
||
|
*
|
||
|
*/
|
||
|
63
|
||
|
void AIBehaviors::init_path_find(char const *navmesh_filename);
|
||
|
|
||
|
68 12 path_find_to 0 4 106 25 AIBehaviors::path_find_to 0 2 16 17 452
|
||
|
/**
|
||
|
* This function checks for the source and target in the navigation mesh for
|
||
|
* its availability and then finds the best path via the A* algorithm Then it
|
||
|
* calls the path follower to make the object follow the path.
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* This function checks for the source and target in the navigation mesh for
|
||
|
* its availability and then finds the best path via the A* algorithm Then it
|
||
|
* calls the path follower to make the object follow the path.
|
||
|
*/
|
||
|
153
|
||
|
void AIBehaviors::path_find_to(LVecBase3 pos, std::string type = "normal");
|
||
|
void AIBehaviors::path_find_to(NodePath target, std::string type = "normal");
|
||
|
|
||
|
69 19 add_static_obstacle 0 4 106 32 AIBehaviors::add_static_obstacle 0 1 18 262
|
||
|
/**
|
||
|
* This function allows the user to dynamically add obstacles to the game
|
||
|
* environment. The function will update the nodes within the bounding volume
|
||
|
* of the obstacle as non-traversable. Hence will not be considered by the
|
||
|
* pathfinding algorithm.
|
||
|
*/
|
||
|
57
|
||
|
void AIBehaviors::add_static_obstacle(NodePath obstacle);
|
||
|
|
||
|
70 20 add_dynamic_obstacle 0 4 106 33 AIBehaviors::add_dynamic_obstacle 0 1 19 98
|
||
|
/**
|
||
|
* This function starts the pathfinding obstacle navigation for the passed in
|
||
|
* obstacle.
|
||
|
*/
|
||
|
58
|
||
|
void AIBehaviors::add_dynamic_obstacle(NodePath obstacle);
|
||
|
|
||
|
71 9 remove_ai 0 4 106 22 AIBehaviors::remove_ai 0 1 20 59
|
||
|
/**
|
||
|
* This function removes individual or all the AIs.
|
||
|
*/
|
||
|
49
|
||
|
void AIBehaviors::remove_ai(std::string ai_type);
|
||
|
|
||
|
72 8 pause_ai 0 4 106 21 AIBehaviors::pause_ai 0 1 21 58
|
||
|
/**
|
||
|
* This function pauses individual or all the AIs.
|
||
|
*/
|
||
|
48
|
||
|
void AIBehaviors::pause_ai(std::string ai_type);
|
||
|
|
||
|
73 9 resume_ai 0 4 106 22 AIBehaviors::resume_ai 0 1 22 58
|
||
|
/**
|
||
|
* This function resumes individual or all the AIs
|
||
|
*/
|
||
|
49
|
||
|
void AIBehaviors::resume_ai(std::string ai_type);
|
||
|
|
||
|
74 15 behavior_status 0 4 106 28 AIBehaviors::behavior_status 0 1 23 149
|
||
|
/**
|
||
|
* This function returns the status of an AI Type whether it is active, paused
|
||
|
* or disabled. It returns -1 if an invalid string is passed.
|
||
|
*/
|
||
|
62
|
||
|
std::string AIBehaviors::behavior_status(std::string ai_type);
|
||
|
|
||
|
75 11 AIBehaviors 0 4 106 24 AIBehaviors::AIBehaviors 0 1 1 0
|
||
|
63
|
||
|
inline AIBehaviors::AIBehaviors(AIBehaviors const &) = default;
|
||
|
|
||
|
76 8 get_mass 0 4 107 21 AICharacter::get_mass 0 1 26 0
|
||
|
35
|
||
|
double AICharacter::get_mass(void);
|
||
|
|
||
|
77 8 set_mass 0 4 107 21 AICharacter::set_mass 0 1 27 0
|
||
|
37
|
||
|
void AICharacter::set_mass(double m);
|
||
|
|
||
|
78 12 get_velocity 0 4 107 25 AICharacter::get_velocity 0 1 28 0
|
||
|
42
|
||
|
LVecBase3 AICharacter::get_velocity(void);
|
||
|
|
||
|
79 13 get_max_force 0 4 107 26 AICharacter::get_max_force 0 1 29 0
|
||
|
40
|
||
|
double AICharacter::get_max_force(void);
|
||
|
|
||
|
80 13 set_max_force 0 4 107 26 AICharacter::set_max_force 0 1 30 0
|
||
|
50
|
||
|
void AICharacter::set_max_force(double max_force);
|
||
|
|
||
|
81 13 get_node_path 0 4 107 26 AICharacter::get_node_path 0 1 31 0
|
||
|
42
|
||
|
NodePath AICharacter::get_node_path(void);
|
||
|
|
||
|
82 13 set_node_path 0 4 107 26 AICharacter::set_node_path 0 1 32 0
|
||
|
45
|
||
|
void AICharacter::set_node_path(NodePath np);
|
||
|
|
||
|
83 16 get_ai_behaviors 0 4 107 29 AICharacter::get_ai_behaviors 0 1 33 0
|
||
|
49
|
||
|
AIBehaviors *AICharacter::get_ai_behaviors(void);
|
||
|
|
||
|
84 12 set_pf_guide 0 4 107 25 AICharacter::set_pf_guide 0 1 34 74
|
||
|
// This function is used to enable or disable the guides for path finding.
|
||
|
46
|
||
|
void AICharacter::set_pf_guide(bool pf_guide);
|
||
|
|
||
|
85 11 AICharacter 0 4 107 24 AICharacter::AICharacter 0 2 24 25 0
|
||
|
191
|
||
|
explicit AICharacter::AICharacter(std::string model_name, NodePath model_np, double mass, double movt_force, double max_force);
|
||
|
inline AICharacter::AICharacter(AICharacter const &) = default;
|
||
|
|
||
|
86 6 AINode 0 4 109 14 AINode::AINode 0 2 35 36 0
|
||
|
139
|
||
|
explicit AINode::AINode(int grid_x, int grid_y, LVecBase3 pos, float w, float l, float h);
|
||
|
inline AINode::AINode(AINode const &) = default;
|
||
|
|
||
|
87 7 ~AINode 0 4 109 15 AINode::~AINode 0 0 0
|
||
|
22
|
||
|
AINode::~AINode(void);
|
||
|
|
||
|
88 8 contains 0 4 109 16 AINode::contains 0 1 37 113
|
||
|
/**
|
||
|
* This is a handy function which returns true if the passed position is
|
||
|
* within the node's dimensions.
|
||
|
*/
|
||
|
40
|
||
|
bool AINode::contains(float x, float y);
|
||
|
|
||
|
89 5 Flock 0 4 110 12 Flock::Flock 0 2 38 39 0
|
||
|
225
|
||
|
explicit Flock::Flock(unsigned int flock_id, double vcone_angle, double vcone_radius, unsigned int separation_wt = 2, unsigned int cohesion_wt = 4, unsigned int alignment_wt = 1);
|
||
|
inline Flock::Flock(Flock const &) = default;
|
||
|
|
||
|
90 6 ~Flock 0 4 110 13 Flock::~Flock 0 0 0
|
||
|
20
|
||
|
Flock::~Flock(void);
|
||
|
|
||
|
91 11 add_ai_char 0 4 110 18 Flock::add_ai_char 0 1 40 113
|
||
|
// Function to add the ai characters to _ai_char_list.
|
||
|
|
||
|
/**
|
||
|
* This function adds AI characters to the flock.
|
||
|
*/
|
||
|
46
|
||
|
void Flock::add_ai_char(AICharacter *ai_char);
|
||
|
|
||
|
92 6 get_id 0 4 110 13 Flock::get_id 0 1 41 50
|
||
|
// Function to access the private member flock_id.
|
||
|
33
|
||
|
unsigned int Flock::get_id(void);
|
||
|
|
||
|
93 7 AIWorld 0 4 111 16 AIWorld::AIWorld 0 2 42 43 0
|
||
|
86
|
||
|
AIWorld::AIWorld(NodePath render);
|
||
|
inline AIWorld::AIWorld(AIWorld const &) = default;
|
||
|
|
||
|
94 8 ~AIWorld 0 4 111 17 AIWorld::~AIWorld 0 0 0
|
||
|
24
|
||
|
AIWorld::~AIWorld(void);
|
||
|
|
||
|
95 11 add_ai_char 0 4 111 20 AIWorld::add_ai_char 0 1 44 0
|
||
|
46
|
||
|
void AIWorld::add_ai_char(AICharacter *ai_ch);
|
||
|
|
||
|
96 14 remove_ai_char 0 4 111 23 AIWorld::remove_ai_char 0 1 45 0
|
||
|
47
|
||
|
void AIWorld::remove_ai_char(std::string name);
|
||
|
|
||
|
97 9 add_flock 0 4 111 18 AIWorld::add_flock 0 1 46 163
|
||
|
/**
|
||
|
* This function adds all the AI characters in the Flock object to the
|
||
|
* AICharPool. This function allows adding the AI characetrs as part of a
|
||
|
* flock.
|
||
|
*/
|
||
|
38
|
||
|
void AIWorld::add_flock(Flock *flock);
|
||
|
|
||
|
98 9 flock_off 0 4 111 18 AIWorld::flock_off 0 1 47 103
|
||
|
/**
|
||
|
* This function turns off the flock behavior temporarily. Similar to pausing
|
||
|
* the behavior.
|
||
|
*/
|
||
|
47
|
||
|
void AIWorld::flock_off(unsigned int flock_id);
|
||
|
|
||
|
99 8 flock_on 0 4 111 17 AIWorld::flock_on 0 1 48 53
|
||
|
/**
|
||
|
* This function turns on the flock behavior.
|
||
|
*/
|
||
|
46
|
||
|
void AIWorld::flock_on(unsigned int flock_id);
|
||
|
|
||
|
100 12 remove_flock 0 4 111 21 AIWorld::remove_flock 0 1 49 63
|
||
|
/**
|
||
|
* This function removes the flock behavior completely.
|
||
|
*/
|
||
|
50
|
||
|
void AIWorld::remove_flock(unsigned int flock_id);
|
||
|
|
||
|
101 9 get_flock 0 4 111 18 AIWorld::get_flock 0 1 50 74
|
||
|
/**
|
||
|
* This function returns a handle to the Flock whose id is passed.
|
||
|
*/
|
||
|
48
|
||
|
Flock AIWorld::get_flock(unsigned int flock_id);
|
||
|
|
||
|
102 12 add_obstacle 0 4 111 21 AIWorld::add_obstacle 0 1 51 111
|
||
|
/**
|
||
|
* This function adds the nodepath as an obstacle that is needed by the
|
||
|
* obstacle avoidance behavior.
|
||
|
*/
|
||
|
46
|
||
|
void AIWorld::add_obstacle(NodePath obstacle);
|
||
|
|
||
|
103 15 remove_obstacle 0 4 111 24 AIWorld::remove_obstacle 0 1 52 123
|
||
|
/**
|
||
|
* This function removes the nodepath from the obstacles list that is needed
|
||
|
* by the obstacle avoidance behavior.
|
||
|
*/
|
||
|
49
|
||
|
void AIWorld::remove_obstacle(NodePath obstacle);
|
||
|
|
||
|
104 10 print_list 0 4 111 19 AIWorld::print_list 0 1 53 134
|
||
|
/**
|
||
|
* This function prints the names of the AI characters that have been added to
|
||
|
* the AIWorld. Useful for debugging purposes.
|
||
|
*/
|
||
|
31
|
||
|
void AIWorld::print_list(void);
|
||
|
|
||
|
105 6 update 0 4 111 15 AIWorld::update 0 1 54 130
|
||
|
/**
|
||
|
* The AIWorld update function calls the update function of all the AI
|
||
|
* characters which have been added to the AIWorld.
|
||
|
*/
|
||
|
27
|
||
|
void AIWorld::update(void);
|
||
|
|
||
|
54
|
||
|
1 0 0 7 22 114 55 0 0 1 6 param0 0 112
|
||
|
2 0 0 4 3 119 0 0 0 3 4 this 3 114 3 pos 1 115 7 seek_wt 1 118
|
||
|
3 0 0 4 3 119 0 0 219 /**
|
||
|
* This function activates seek and makes an object of the Seek class. This
|
||
|
* is the function we want the user to call for seek to be done. This
|
||
|
* function is overloaded to accept a NodePath or an LVecBase3.
|
||
|
*/ 3 4 this 3 114 13 target_object 1 120 7 seek_wt 1 118
|
||
|
4 0 0 4 4 119 0 0 0 5 4 this 3 114 3 pos 1 115 14 panic_distance 1 122 14 relax_distance 1 122 7 flee_wt 1 118
|
||
|
5 0 0 4 4 119 0 0 159 /**
|
||
|
* This function activates flee_activate and creates an object of the Flee
|
||
|
* class. This function is overloaded to accept a NodePath or an LVecBase3.
|
||
|
*/ 5 4 this 3 114 13 target_object 1 120 14 panic_distance 1 122 14 relax_distance 1 122 7 flee_wt 1 118
|
||
|
6 0 0 4 5 119 0 0 115 /**
|
||
|
* This function activates pursue. This is the function we want the user to
|
||
|
* call for pursue to be done.
|
||
|
*/ 3 4 this 3 114 13 target_object 1 120 9 pursue_wt 1 118
|
||
|
7 0 0 4 6 119 0 0 50 /**
|
||
|
* This function activates evade_activate.
|
||
|
*/ 5 4 this 3 114 13 target_object 1 120 14 panic_distance 1 122 14 relax_distance 1 122 8 evade_wt 1 118
|
||
|
8 0 0 4 7 119 0 0 117 /**
|
||
|
* This function activates arrival. This is the function we want the user to
|
||
|
* call for arrival to be done.
|
||
|
*/ 2 4 this 3 114 8 distance 1 122
|
||
|
9 0 0 4 8 119 0 0 113 /**
|
||
|
* This function activates flock. This is the function we want the user to
|
||
|
* call for flock to be done.
|
||
|
*/ 2 4 this 3 114 8 flock_wt 1 118
|
||
|
10 0 0 4 9 119 0 0 114 /**
|
||
|
* This function activates wander. This is the function we want the user to
|
||
|
* call for flock to be done.
|
||
|
*/ 5 4 this 3 114 13 wander_radius 1 122 4 flag 1 123 3 aoe 1 122 13 wander_weight 1 118
|
||
|
11 0 0 4 10 119 0 0 169 /**
|
||
|
* This function activates obstacle avoidance for a given character. This is
|
||
|
* the function we want the user to call for obstacle avoidance to be
|
||
|
* performed.
|
||
|
*/ 2 4 this 3 114 13 feeler_length 1 118
|
||
|
12 0 0 4 11 119 0 0 120 /**
|
||
|
* This function activates path following. This is the function we want the
|
||
|
* user to call for path following.
|
||
|
*/ 2 4 this 3 114 9 follow_wt 1 118
|
||
|
13 0 0 4 12 119 0 0 62 /**
|
||
|
* This function adds positions to the path to follow.
|
||
|
*/ 2 4 this 3 114 3 pos 1 115
|
||
|
14 0 0 4 13 119 0 0 0 2 4 this 3 114 4 type 1 124
|
||
|
15 0 0 4 14 119 0 0 123 /**
|
||
|
* This function activates path finding in the character. This function
|
||
|
* accepts the meshdata in .csv format.
|
||
|
*
|
||
|
*/ 2 4 this 3 114 16 navmesh_filename 1 124
|
||
|
16 0 0 4 15 119 0 0 225 /**
|
||
|
* This function checks for the source and target in the navigation mesh for
|
||
|
* its availability and then finds the best path via the A* algorithm Then it
|
||
|
* calls the path follower to make the object follow the path.
|
||
|
*/ 3 4 this 3 114 3 pos 1 115 4 type 1 124
|
||
|
17 0 0 4 15 119 0 0 225 /**
|
||
|
* This function checks for the source and target in the navigation mesh for
|
||
|
* its availability and then finds the best path via the A* algorithm Then it
|
||
|
* calls the path follower to make the object follow the path.
|
||
|
*/ 3 4 this 3 114 6 target 1 120 4 type 1 124
|
||
|
18 0 0 4 16 119 0 0 262 /**
|
||
|
* This function allows the user to dynamically add obstacles to the game
|
||
|
* environment. The function will update the nodes within the bounding volume
|
||
|
* of the obstacle as non-traversable. Hence will not be considered by the
|
||
|
* pathfinding algorithm.
|
||
|
*/ 2 4 this 3 114 8 obstacle 1 120
|
||
|
19 0 0 4 17 119 0 0 98 /**
|
||
|
* This function starts the pathfinding obstacle navigation for the passed in
|
||
|
* obstacle.
|
||
|
*/ 2 4 this 3 114 8 obstacle 1 120
|
||
|
20 0 0 4 18 119 0 0 59 /**
|
||
|
* This function removes individual or all the AIs.
|
||
|
*/ 2 4 this 3 114 7 ai_type 1 124
|
||
|
21 0 0 4 19 119 0 0 58 /**
|
||
|
* This function pauses individual or all the AIs.
|
||
|
*/ 2 4 this 3 114 7 ai_type 1 124
|
||
|
22 0 0 4 20 119 0 0 58 /**
|
||
|
* This function resumes individual or all the AIs
|
||
|
*/ 2 4 this 3 114 7 ai_type 1 124
|
||
|
23 0 0 6 21 124 0 0 149 /**
|
||
|
* This function returns the status of an AI Type whether it is active, paused
|
||
|
* or disabled. It returns -1 if an invalid string is passed.
|
||
|
*/ 2 4 this 3 114 7 ai_type 1 124
|
||
|
24 0 0 7 34 127 0 0 0 1 6 param0 0 125
|
||
|
25 0 0 7 34 127 0 0 0 5 10 model_name 1 124 8 model_np 1 120 4 mass 1 122 10 movt_force 1 122 9 max_force 1 122
|
||
|
26 0 0 6 25 122 0 0 0 1 4 this 3 127
|
||
|
27 0 0 4 26 119 0 0 0 2 4 this 3 127 1 m 1 122
|
||
|
28 0 0 7 27 115 0 0 0 1 4 this 3 127
|
||
|
29 0 0 6 28 122 0 0 0 1 4 this 3 127
|
||
|
30 0 0 4 29 119 0 0 0 2 4 this 3 127 9 max_force 1 122
|
||
|
31 0 0 7 30 120 0 0 0 1 4 this 3 127
|
||
|
32 0 0 4 31 119 0 0 0 2 4 this 3 127 2 np 1 120
|
||
|
33 0 0 6 32 114 0 0 0 1 4 this 3 127
|
||
|
34 0 0 4 33 119 0 0 74 // This function is used to enable or disable the guides for path finding. 2 4 this 3 127 8 pf_guide 1 128
|
||
|
35 0 0 7 36 131 87 0 0 1 6 param0 0 129
|
||
|
36 0 0 7 36 131 87 0 0 6 6 grid_x 1 123 6 grid_y 1 123 3 pos 1 115 1 w 1 118 1 l 1 118 1 h 1 118
|
||
|
37 0 0 6 38 128 0 0 113 /**
|
||
|
* This is a handy function which returns true if the passed position is
|
||
|
* within the node's dimensions.
|
||
|
*/ 3 4 this 3 131 1 x 1 118 1 y 1 118
|
||
|
38 0 0 7 40 134 90 0 0 1 6 param0 0 132
|
||
|
39 0 0 7 40 134 90 0 0 6 8 flock_id 1 135 11 vcone_angle 1 122 12 vcone_radius 1 122 13 separation_wt 1 135 11 cohesion_wt 1 135 12 alignment_wt 1 135
|
||
|
40 0 0 4 42 119 0 0 57 /**
|
||
|
* This function adds AI characters to the flock.
|
||
|
*/ 2 4 this 3 134 7 ai_char 1 127
|
||
|
41 0 0 6 43 135 0 0 50 // Function to access the private member flock_id. 1 4 this 3 134
|
||
|
42 0 0 7 45 138 94 0 0 1 6 param0 0 136
|
||
|
43 0 0 7 45 138 94 0 0 1 6 render 1 120
|
||
|
44 0 0 4 47 119 0 0 0 2 4 this 3 138 5 ai_ch 1 127
|
||
|
45 0 0 4 48 119 0 0 0 2 4 this 3 138 4 name 1 124
|
||
|
46 0 0 4 49 119 0 0 163 /**
|
||
|
* This function adds all the AI characters in the Flock object to the
|
||
|
* AICharPool. This function allows adding the AI characetrs as part of a
|
||
|
* flock.
|
||
|
*/ 2 4 this 3 138 5 flock 1 134
|
||
|
47 0 0 4 50 119 0 0 103 /**
|
||
|
* This function turns off the flock behavior temporarily. Similar to pausing
|
||
|
* the behavior.
|
||
|
*/ 2 4 this 3 138 8 flock_id 1 135
|
||
|
48 0 0 4 51 119 0 0 53 /**
|
||
|
* This function turns on the flock behavior.
|
||
|
*/ 2 4 this 3 138 8 flock_id 1 135
|
||
|
49 0 0 4 52 119 0 0 63 /**
|
||
|
* This function removes the flock behavior completely.
|
||
|
*/ 2 4 this 3 138 8 flock_id 1 135
|
||
|
50 0 0 7 53 134 90 0 74 /**
|
||
|
* This function returns a handle to the Flock whose id is passed.
|
||
|
*/ 2 4 this 3 138 8 flock_id 1 135
|
||
|
51 0 0 4 54 119 0 0 111 /**
|
||
|
* This function adds the nodepath as an obstacle that is needed by the
|
||
|
* obstacle avoidance behavior.
|
||
|
*/ 2 4 this 3 138 8 obstacle 1 120
|
||
|
52 0 0 4 55 119 0 0 123 /**
|
||
|
* This function removes the nodepath from the obstacles list that is needed
|
||
|
* by the obstacle avoidance behavior.
|
||
|
*/ 2 4 this 3 138 8 obstacle 1 120
|
||
|
53 0 0 4 56 119 0 0 134 /**
|
||
|
* This function prints the names of the AI characters that have been added to
|
||
|
* the AIWorld. Useful for debugging purposes.
|
||
|
*/ 1 4 this 3 138
|
||
|
54 0 0 4 57 119 0 0 130 /**
|
||
|
* The AIWorld update function calls the update function of all the AI
|
||
|
* characters which have been added to the AIWorld.
|
||
|
*/ 1 4 this 3 138
|
||
|
33
|
||
|
106 11 AIBehaviors 0 26625 11 AIBehaviors 11 AIBehaviors 0 0 0 1 75 55 0 19 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 0 0 0 0 0 618
|
||
|
/**
|
||
|
* This class implements all the steering behaviors of the AI framework, such
|
||
|
* as seek, flee, pursue, evade, wander and flock. Each steering behavior has
|
||
|
* a weight which is used when more than one type of steering behavior is
|
||
|
* acting on the same ai character. The weight decides the contribution of
|
||
|
* each type of steering behavior. The AICharacter class has a handle to an
|
||
|
* object of this class and this allows to invoke the steering behaviors via
|
||
|
* the AICharacter. This class also provides functionality such as pausing,
|
||
|
* resuming and removing the AI behaviors of an AI character at anytime.
|
||
|
*/
|
||
|
|
||
|
107 11 AICharacter 0 75777 11 AICharacter 11 AICharacter 0 0 0 1 85 0 0 9 76 77 78 79 80 81 82 83 84 0 0 1 0 108 0 0 0 0 0
|
||
|
|
||
|
108 14 ReferenceCount 0 2048 14 ReferenceCount 14 ReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 203
|
||
|
/**
|
||
|
* A base class for all things that want to be reference-counted.
|
||
|
* ReferenceCount works in conjunction with PointerTo to automatically delete
|
||
|
* objects when the last pointer to them goes away.
|
||
|
*/
|
||
|
|
||
|
109 6 AINode 0 26625 6 AINode 6 AINode 0 0 0 1 86 87 0 1 88 0 0 0 0 0 365
|
||
|
/**
|
||
|
* This class is used to assign the nodes on the mesh. It holds all the data
|
||
|
* necessary to compute A* algorithm. It also maintains a lot of vital
|
||
|
* information such as the neighbor nodes of each node and also its position
|
||
|
* on the mesh. Note: The Mesh Generator which is a standalone tool makes use
|
||
|
* of this class to generate the nodes on the mesh.
|
||
|
*/
|
||
|
|
||
|
110 5 Flock 0 26625 5 Flock 5 Flock 0 0 0 1 89 90 0 2 91 92 0 0 0 0 0 114
|
||
|
/**
|
||
|
* This class is used to define the flock attributes and the AI characters
|
||
|
* which are part of the flock.
|
||
|
*/
|
||
|
|
||
|
111 7 AIWorld 0 26625 7 AIWorld 7 AIWorld 0 0 0 1 93 94 0 11 95 96 97 98 99 100 101 102 103 104 105 0 0 0 0 0 329
|
||
|
/**
|
||
|
* A class that implements the virtual AI world which keeps track of the AI
|
||
|
* characters active at any given time. It contains a linked list of AI
|
||
|
* characters, obstactle data and unique name for each character. It also
|
||
|
* updates each characters state. The AI characters can also be added to the
|
||
|
* world as flocks.
|
||
|
*/
|
||
|
|
||
|
112 19 AIBehaviors const * 0 8576 19 AIBehaviors const * 19 AIBehaviors const * 0 0 113 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
113 17 AIBehaviors const 0 8832 17 AIBehaviors const 17 AIBehaviors const 0 0 106 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
114 13 AIBehaviors * 0 8576 13 AIBehaviors * 13 AIBehaviors * 0 0 106 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
115 11 LVecBase3 * 0 8576 11 LVecBase3 * 11 LVecBase3 * 0 0 116 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
116 9 LVecBase3 0 2105344 9 LVecBase3 9 LVecBase3 0 0 117 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
117 10 LVecBase3f 0 2048 10 LVecBase3f 10 LVecBase3f 0 0 0 0 0 0 0 0 0 0 0 0 77
|
||
|
/**
|
||
|
* This is the base class for all three-component vectors and points.
|
||
|
*/
|
||
|
|
||
|
118 5 float 0 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
119 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
120 10 NodePath * 0 8576 10 NodePath * 10 NodePath * 0 0 121 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
121 8 NodePath 0 2048 8 NodePath 8 NodePath 0 0 0 0 0 0 0 0 0 0 0 0 762
|
||
|
/**
|
||
|
* NodePath is the fundamental system for disambiguating instances, and also
|
||
|
* provides a higher-level interface for manipulating the scene graph.
|
||
|
*
|
||
|
* A NodePath is a list of connected nodes from the root of the graph to any
|
||
|
* sub-node. Each NodePath therefore uniquely describes one instance of a
|
||
|
* node.
|
||
|
*
|
||
|
* NodePaths themselves are lightweight objects that may easily be copied and
|
||
|
* passed by value. Their data is stored as a series of NodePathComponents
|
||
|
* that are stored on the nodes. Holding a NodePath will keep a reference
|
||
|
* count to all the nodes in the path. However, if any node in the path is
|
||
|
* removed or reparented (perhaps through a different NodePath), the NodePath
|
||
|
* will automatically be updated to reflect the changes.
|
||
|
*/
|
||
|
|
||
|
122 6 double 0 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
123 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
124 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
125 19 AICharacter const * 0 8576 19 AICharacter const * 19 AICharacter const * 0 0 126 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
126 17 AICharacter const 0 8832 17 AICharacter const 17 AICharacter const 0 0 107 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
127 13 AICharacter * 0 8576 13 AICharacter * 13 AICharacter * 0 0 107 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
128 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
129 14 AINode const * 0 8576 14 AINode const * 14 AINode const * 0 0 130 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
130 12 AINode const 0 8832 12 AINode const 12 AINode const 0 0 109 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
131 8 AINode * 0 8576 8 AINode * 8 AINode * 0 0 109 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
132 13 Flock const * 0 8576 13 Flock const * 13 Flock const * 0 0 133 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
133 11 Flock const 0 8832 11 Flock const 11 Flock const 0 0 110 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
134 7 Flock * 0 8576 7 Flock * 7 Flock * 0 0 110 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
135 12 unsigned int 0 8198 12 unsigned int 12 unsigned int 0 1 0 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
136 15 AIWorld const * 0 8576 15 AIWorld const * 15 AIWorld const * 0 0 137 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
137 13 AIWorld const 0 8832 13 AIWorld const 13 AIWorld const 0 0 111 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
138 9 AIWorld * 0 8576 9 AIWorld * 9 AIWorld * 0 0 111 0 0 0 0 0 0 0 0 0 0
|
||
|
|
||
|
0
|
||
|
0
|
||
|
0
|