34 #ifndef __diguyCharacterGesture_H
35 #define __diguyCharacterGesture_H
41 #define CPLUSPLUS_ONLY
45 class bdiGestureInstance;
46 class bdiScenarioCharacter;
55 void* callback_params,
56 void* callback_user_data);
89 const char* get_name();
179 int get_has_begun_flag();
217 int get_has_completed_flag();
246 int abort_now(
float max_rampdown_interval);
273 int set_automatic_destroy_flag(
int automatic_destroy_flag);
300 int set_interpolation_flag(
int flag);
316 int get_interpolation_flag();
332 int get_num_channels();
365 int set_channel_weight(
char channel,
float channel_weight);
381 float get_channel_weight(
char channel);
431 int set_channel_weight_target(
char channel,
432 float channel_weight_target,
435 const char* blend_function_name = 0);
519 int add_channel_weight_target(
char channel,
520 float channel_weight_target,
523 const char* blend_function_name = 0);
557 int set_rampup_duration(
float duration);
573 float get_rampup_duration();
601 int set_rampup_blend_function_name(
const char* blend_function_name);
618 const char* get_rampup_blend_function_name();
645 int set_rampdown_duration(
float duration);
661 float get_rampdown_duration();
689 int set_rampdown_blend_function_name(
const char* blend_function_name);
706 const char* get_rampdown_blend_function_name();
728 float get_default_blend_duration();
768 int set_max_reps(
int max_reps,
769 int derive_duration_flag = 1);
822 int set_overall_duration(
float overall_duration,
823 int derive_max_reps_flag = 1);
843 float get_overall_duration();
859 int get_num_progression_stages();
885 int set_progression_stage_duration(
int stage,
float duration);
905 float get_progression_stage_duration(
int stage);
925 float get_progression_stage_optimal_duration(
int stage);
962 int set_table_action_desired(
const char* action_name);
988 const char* get_table_action_desired();
1009 float get_time_required_to_reach_table_action_desired();
1031 int get_num_table_actions();
1052 const char* get_table_action_at_index(
int index);
1077 float get_table_action_rep_duration(
const char* action_name);
1103 float get_table_transition_duration(
const char* action_from,
1104 const char* action_to);
1135 int set_table_action_begin(
const char* action_name);
1152 const char* get_table_action_begin();
1178 int set_table_action_end(
const char* action_name);
1195 const char* get_table_action_end();
1212 const char* get_table_action_now();
1228 const char* get_table_action_next();
1260 int force_table_action(
const char* action_name,
1261 int include_transition_arc = 1,
1262 float max_rampdown_interval = 0.5f);
1284 CALLBACK_ID_CREATE = 1,
1285 CALLBACK_ID_DESTROY,
1286 CALLBACK_ID_ATTAINED_DESIRED_ACTION
1289 #ifdef CPLUSPLUS_ONLY
1340 int add_callback(
int callback_id,
1342 void* callback_params = 0,
1343 void* callback_user_data = 0);
1365 int remove_callback(
int callback_id,
1388 int remove_callback_with_user_data(
int callback_id,
1389 void* callback_user_data);
1429 int add_callback_script(
int callback_id,
1430 const char* callback_script,
1431 const char* callback_script_type = NULL);
1470 int remove_callback_script(
int callback_id,
1471 const char* callback_script,
1472 const char* callback_script_type = NULL);
1498 int get_num_stages();
1506 int set_stage_duration(
int stage,
float duration);
1514 float get_stage_duration(
int stage);
1522 float get_stage_optimal_duration(
int stage);
1529 #ifdef CPLUSPLUS_ONLY
1531 bdiGestureInstance* get_scripted_object() {
return m_scripted_object;}
1540 bdiScenarioCharacter* character);
1551 bdiGestureInstance* m_scripted_object;
1552 bdiScenarioCharacter* m_character;
1554 friend class bdiScenarioCharacter;
1555 friend class bdiGestureInstance;