14 #ifndef __diguyCharacterGroup_H
15 #define __diguyCharacterGroup_H
21 #define CPLUSPLUS_ONLY
26 class bdiScenarioCharacterGroup;
52 const char* get_name();
68 int set_name(
const char* name);
100 int add_all_characters_as_members();
134 int remove_all_members();
166 int get_num_members();
242 int set_all_members_enabled(
int enabled);
259 int update_all_members(
float t);
261 #ifdef CPLUSPLUS_ONLY
277 int draw_all_members();
293 int draw_pass1_all_members();
309 int draw_pass2_all_members();
332 int set_all_members_current_tin(
float tin);
353 int set_all_members_current_tout(
float tout);
401 void set_label_offset_above_centroid(
float offset);
413 float get_label_offset_above_centroid();
432 int get_num_variables();
523 int translate_all_paths(
float tx,
float ty,
float tz);
525 int rotate_all_paths_about_point(
float rz,
float rx,
float ry,
526 float rotation_pt_x,
float rotation_pt_y,
float rotation_pt_z);
528 int rotate_all_paths_about_current_waypoint(
float rz,
float rx,
float ry);
548 diguyCharacter* get_nearest_character_to_point(
float x,
float y,
float z);
568 diguyCharacter* get_farthest_character_to_point(
float x,
float y,
float z);
588 int get_group_centroid(
float* x,
float* y,
float* z);
610 int get_group_min_circle(
float* x,
float* y,
float* z,
float* radius);
634 int send_message_to_all_members(
const char* sender,
635 const char* message_type,
637 const char* message_params = NULL);
669 float desired_radius = -1.0f,
670 int require_sort = 1);
702 float desired_radius = -1.0f,
703 int require_sort = 1);
731 float desired_radius = -1.0f,
732 int require_sort = 1);
774 int sort_group_based_on_pos(
float x,
802 int get_num_active_members();
808 #ifdef CPLUSPLUS_ONLY
810 bdiScenarioCharacterGroup* get_scripted_object() {
return m_scripted_object;}
827 bdiScenarioCharacterGroup* m_scripted_object;
829 friend class bdiScenarioCharacterGroup;