14 #ifndef __diguyCharacterPath_H
15 #define __diguyCharacterPath_H
20 #define CPLUSPLUS_ONLY
25 class bdiScenarioPath;
71 const char* get_name();
82 int set_name(
const char* name);
149 float get_duration();
170 int get_point_at_distance(
float distance_into_path,
171 float* x,
float* y,
float* z,
172 float* rz,
float* rx,
float* ry);
208 int get_num_waypoints();
286 diguyWaypoint* create_waypoint(
float x = 0.0f,
float y = 0.0f,
float z = 0.0f,
287 float yaw = 0.0f,
float roll = 0.0f,
float pitch = 0.0f,
330 int get_num_action_beads();
458 int get_num_script_beads();
525 const char* script_type =
"lua");
562 int get_num_decision_beads();
616 int get_num_gaze_beads();
670 int get_num_aim_beads();
723 int translate(
float tx,
float ty,
float tz);
725 int rotate_about_point(
float rz,
float rx,
float ry,
726 float rotation_pt_x,
float rotation_pt_y,
float rotation_pt_z);
728 int set_ground_clamp_when_on_path(
int ground_clamp_when_on_path);
729 int get_ground_clamp_when_on_path();
731 int get_position_at_distance(
float distance,
732 float* tx,
float* ty,
float* tz,
733 float* rz = NULL,
float* rx = NULL,
float* ry = NULL);
734 int get_position_at_distance_double(
float distance,
735 double* tx,
double* ty,
double* tz,
736 float* rz = NULL,
float* rx = NULL,
float* ry = NULL);
738 int get_position_at_t(
float t,
739 float* tx,
float* ty,
float* tz,
740 float* rz = NULL,
float* rx = NULL,
float* ry = NULL);
741 int get_position_at_t_double(
float t,
742 double* tx,
double* ty,
double* tz,
743 float* rz = NULL,
float* rx = NULL,
float* ry = NULL);
750 #ifdef CPLUSPLUS_ONLY
752 bdiScenarioPath* get_scripted_object() {
return m_scripted_object;}
769 bdiScenarioPath* m_scripted_object;
771 friend class bdiScenarioPath;