13 #ifndef __diguyViewCamera_H
14 #define __diguyViewCamera_H
19 #define CPLUSPLUS_ONLY
287 const char* get_name();
299 const char* get_type_name();
310 void set_near_plane(
float near_plane);
317 float get_near_plane();
328 void set_far_plane(
float far_plane);
335 float get_far_plane();
346 void set_fov(
float fov);
358 void set_max_fov(
float fov);
370 void set_min_fov(
float fov);
402 void set_aspect(
float aspect);
417 void set_offsets_active(
int value);
424 int get_offsets_active();
436 void set_base_position(
float x,
float y,
float z);
444 void set_position(
float x,
float y,
float z);
455 void get_base_position(
float *x,
float *y,
float *z);
463 float get_position_x();
471 float get_position_y();
479 float get_position_z();
491 void set_desired_base_position(
float x,
float y,
float z);
503 void set_desired_position(
float x,
float y,
float z,
bool preserve_fix =
false);
517 void set_position_offset(
float x,
float y,
float z);
529 void set_desired_position_offset(
float x,
float y,
float z);
542 void get_position_offset(
float *x,
float *y,
float *z);
550 void set_position_offset_is_in_world_coordinates(
int value);
557 int get_position_offset_is_in_world_coordinates();
573 void set_base_orientation(
float yaw,
float roll,
float pitch);
581 void set_orientation(
float yaw,
float roll,
float pitch);
592 void set_orientation_roll(
float roll);
600 void get_orientation(
float *yaw,
float *roll,
float *pitch);
607 float get_orientation_yaw();
614 float get_orientation_roll();
621 float get_orientation_pitch();
637 void set_desired_base_orientation(
float yaw,
float roll,
float pitch);
651 void set_pitch_lower_limit(
float limit);
658 float get_pitch_lower_limit();
672 void set_pitch_upper_limit(
float limit);
679 float get_pitch_upper_limit();
686 int get_pitch_has_limits();
700 void set_degimbalize_angle(
float angle);
707 float get_degimbalize_angle();
723 void set_orientation_offset(
float yaw,
float roll,
float pitch);
735 void get_orientation_offset(
float *yaw,
float *roll,
float *pitch);
751 void set_desired_orientation_offset(
float yaw,
float roll,
float pitch);
764 void set_distance(
float distance);
776 void set_max_track_distance(
float distance);
788 void set_min_track_distance(
float distance);
795 float get_distance();
803 float get_min_track_distance();
811 float get_max_track_distance();
824 void set_fix(
float x,
float y,
float z);
871 void set_desired_fix(
float x,
float y,
float z);
939 int set_speed(
float speed);
959 int increase_speed();
972 int decrease_speed();
1016 void set_height_above_terrain(
float height);
1042 int load_settings(
const char* settings_name);
1075 void apply_settings();
1168 void set_base_position_double(
double x,
double y,
double z);
1175 void set_position_double(
double x,
double y,
double z);
1186 void get_base_position_double(
double *x,
double *y,
double *z);
1203 void get_position_double(
double* x,
double* y,
double* z);
1222 void get_segment_origin(
float* x,
float* y,
float* z);
1237 void get_position_segment_offset(
float* x,
float* y,
float* z);
1252 void get_fix_segment_offset(
float* x,
float* y,
float* z);
1268 void set_fix_double(
double x,
double y,
double z);
1271 void convert_to_local_camera(
double * x,
double * y,
double * z);
1334 void set_track_name(
const char* track_name);
1341 const char* get_track_name();
1353 void set_track_group_name(
const char* track_name);
1360 const char* get_track_group_name();
1374 void set_track_link_name(
const char* track_link_name);
1381 const char* get_track_link_name();
1398 void set_track_offset(
float x,
float y,
float z);
1405 float get_track_offset_x();
1412 float get_track_offset_y();
1419 float get_track_offset_z();
1434 void set_track_offset_is_in_world_coordinates(
int value);
1441 int get_track_offset_is_in_world_coordinates();
1470 void set_dolly_name(
const char* dolly_name);
1481 const char* get_dolly_name();
1498 void set_dolly_offset(
float x,
float y,
float z);
1505 float get_dolly_offset_x();
1512 float get_dolly_offset_y();
1519 float get_dolly_offset_z();
1532 void set_dolly_link_name(
const char* dolly_link_name);
1539 const char* get_dolly_link_name();
1553 void set_dolly_offset_is_in_world_coordinates(
int value);
1561 int get_dolly_offset_is_in_world_coordinates();
1586 void set_orientation_offset_is_relative(
int value);
1593 int get_orientation_offset_is_relative();
1601 void set_match_dolly_orientation(
int value);
1609 int get_match_dolly_orientation();
1618 void set_use_special_track_mode(
int value);
1625 int get_use_special_track_mode();
1633 int get_symbolic_view();
1655 CALLBACK_ID_SETTINGS_CHANGED = 1
1658 #ifdef CPLUSPLUS_ONLY
1697 int add_callback(
int callback_id,
1699 void* callback_params = 0,
1700 void* callback_user_data = 0);
1718 int remove_callback(
int callback_id,
1737 int remove_callback_with_user_data(
int callback_id,
1738 void* callback_user_data);
1775 int add_callback_script(
int callback_id,
1776 const char* callback_script,
1777 const char* callback_script_type = NULL);
1808 int remove_callback_script(
int callback_id,
1809 const char* callback_script,
1810 const char* callback_script_type = NULL);
1834 void print_debug_info(
const char *tag);
1847 void set_speed_fov_degrees_per_wheel_click(
float fov_change);
1859 float get_speed_fov_degrees_per_wheel_click();
1870 void set_speed_meters_per_second(
float speed);
1881 float get_speed_meters_per_second();
1902 void set_require_smooth_servo(
int require);
1935 void set_servo_time_modifier(
float modifier );
1955 void set_track_camera_avoids_obstacles(
int avoid);
1968 int get_track_camera_avoids_obstacles();
1980 void set_ignore_mouse_drags(
int ignore);
1991 int get_ignore_mouse_drags();
1993 #ifdef CPLUSPLUS_ONLY
2004 void update_frustum(
float* proj_matrix,
float* model_matrix);
2012 #ifdef CPLUSPLUS_ONLY
2014 bdiCamera* get_scripted_object() {
return m_camera;}
2026 bdiCamera* m_camera;
2028 friend class bdiCamera;
2030 static bool s_warn_if_position_set_ignored;
The diguyViewCameraSettings class holds camera settings data that can be loaded into a diguyViewCamer...
Definition: diguyViewCameraSettings.h:43
diguyViewCameraProjectionMode
DI-Guy camera projection modes.
Definition: diguy_constants.h:247
diguyViewCameraMoveMode
DI-Guy camera move modes.
Definition: diguy_constants.h:217
diguyViewCameraServoTarget
Aspects of the DI-Guy camera that can be servoed.
Definition: diguy_constants.h:234
The class that represents a camera in the world.
Definition: diguyViewCamera.h:260
diguyCallbackReturn diguyViewCameraCallback(diguyViewCamera *camera, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:196