34 #ifndef __diguyCharacterGroup_H
35 #define __diguyCharacterGroup_H
41 #define CPLUSPLUS_ONLY
46 class bdiScenarioCharacterGroup;
72 const char* get_name();
88 int set_name(
const char* name);
120 int add_all_characters_as_members();
154 int remove_all_members();
186 int get_num_members();
262 int set_all_members_enabled(
int enabled);
279 int update_all_members(
float t);
281 #ifdef CPLUSPLUS_ONLY
297 int draw_all_members();
313 int draw_pass1_all_members();
329 int draw_pass2_all_members();
352 int set_all_members_current_tin(
float tin);
373 int set_all_members_current_tout(
float tout);
421 void set_label_offset_above_centroid(
float offset);
433 float get_label_offset_above_centroid();
452 int get_num_variables();
543 int translate_all_paths(
float tx,
float ty,
float tz);
545 int rotate_all_paths_about_point(
float rz,
float rx,
float ry,
546 float rotation_pt_x,
float rotation_pt_y,
float rotation_pt_z);
548 int rotate_all_paths_about_current_waypoint(
float rz,
float rx,
float ry);
568 diguyCharacter* get_nearest_character_to_point(
float x,
float y,
float z);
588 diguyCharacter* get_farthest_character_to_point(
float x,
float y,
float z);
608 int get_group_centroid(
float* x,
float* y,
float* z);
630 int get_group_min_circle(
float* x,
float* y,
float* z,
float* radius);
654 int send_message_to_all_members(
const char* sender,
655 const char* message_type,
657 const char* message_params = NULL);
689 float desired_radius = -1.0f,
690 int require_sort = 1);
722 float desired_radius = -1.0f,
723 int require_sort = 1);
751 float desired_radius = -1.0f,
752 int require_sort = 1);
794 int sort_group_based_on_pos(
float x,
822 int get_num_active_members();
828 #ifdef CPLUSPLUS_ONLY
830 bdiScenarioCharacterGroup* get_scripted_object() {
return m_scripted_object;}
847 bdiScenarioCharacterGroup* m_scripted_object;
849 friend class bdiScenarioCharacterGroup;