13 #ifndef __diguyViewCamera_H
14 #define __diguyViewCamera_H
19 #define CPLUSPLUS_ONLY
117 const char* get_name();
129 const char* get_type_name();
140 void set_near_plane(
float near_plane);
147 float get_near_plane();
158 void set_far_plane(
float far_plane);
165 float get_far_plane();
176 void set_fov(
float fov);
188 void set_max_fov(
float fov);
200 void set_min_fov(
float fov);
232 void set_aspect(
float aspect);
247 void set_offsets_active(
int value);
254 int get_offsets_active();
266 void set_base_position(
float x,
float y,
float z);
274 void set_position(
float x,
float y,
float z);
285 void get_base_position(
float *x,
float *y,
float *z);
293 float get_position_x();
301 float get_position_y();
309 float get_position_z();
321 void set_desired_base_position(
float x,
float y,
float z);
333 void set_desired_position(
float x,
float y,
float z,
bool preserve_fix =
false);
347 void set_position_offset(
float x,
float y,
float z);
359 void set_desired_position_offset(
float x,
float y,
float z);
372 void get_position_offset(
float *x,
float *y,
float *z);
380 void set_position_offset_is_in_world_coordinates(
int value);
387 int get_position_offset_is_in_world_coordinates();
403 void set_base_orientation(
float yaw,
float roll,
float pitch);
411 void set_orientation(
float yaw,
float roll,
float pitch);
422 void set_orientation_roll(
float roll);
430 void get_orientation(
float *yaw,
float *roll,
float *pitch);
437 float get_orientation_yaw();
444 float get_orientation_roll();
451 float get_orientation_pitch();
467 void set_desired_base_orientation(
float yaw,
float roll,
float pitch);
481 void set_pitch_lower_limit(
float limit);
488 float get_pitch_lower_limit();
502 void set_pitch_upper_limit(
float limit);
509 float get_pitch_upper_limit();
516 int get_pitch_has_limits();
530 void set_degimbalize_angle(
float angle);
537 float get_degimbalize_angle();
553 void set_orientation_offset(
float yaw,
float roll,
float pitch);
565 void get_orientation_offset(
float *yaw,
float *roll,
float *pitch);
581 void set_desired_orientation_offset(
float yaw,
float roll,
float pitch);
593 void set_distance(
float distance);
605 void set_max_track_distance(
float distance);
617 void set_min_track_distance(
float distance);
624 float get_distance();
632 float get_min_track_distance();
640 float get_max_track_distance();
652 void set_fix(
float x,
float y,
float z);
699 void set_desired_fix(
float x,
float y,
float z);
756 int set_speed(
float speed);
776 int increase_speed();
789 int decrease_speed();
857 int load_settings(
const char* settings_name);
890 void apply_settings();
983 void set_base_position_double(
double x,
double y,
double z);
990 void set_position_double(
double x,
double y,
double z);
1001 void get_base_position_double(
double *x,
double *y,
double *z);
1018 void get_position_double(
double* x,
double* y,
double* z);
1037 void get_segment_origin(
float* x,
float* y,
float* z);
1052 void get_position_segment_offset(
float* x,
float* y,
float* z);
1067 void get_fix_segment_offset(
float* x,
float* y,
float* z);
1083 void set_fix_double(
double x,
double y,
double z);
1142 void set_track_name(
const char* track_name);
1149 const char* get_track_name();
1161 void set_track_group_name(
const char* track_name);
1168 const char* get_track_group_name();
1182 void set_track_link_name(
const char* track_link_name);
1189 const char* get_track_link_name();
1206 void set_track_offset(
float x,
float y,
float z);
1213 float get_track_offset_x();
1220 float get_track_offset_y();
1227 float get_track_offset_z();
1242 void set_track_offset_is_in_world_coordinates(
int value);
1249 int get_track_offset_is_in_world_coordinates();
1273 void set_dolly_name(
const char* dolly_name);
1284 const char* get_dolly_name();
1301 void set_dolly_offset(
float x,
float y,
float z);
1308 float get_dolly_offset_x();
1315 float get_dolly_offset_y();
1322 float get_dolly_offset_z();
1335 void set_dolly_link_name(
const char* dolly_link_name);
1342 const char* get_dolly_link_name();
1356 void set_dolly_offset_is_in_world_coordinates(
int value);
1364 int get_dolly_offset_is_in_world_coordinates();
1389 void set_orientation_offset_is_relative(
int value);
1396 int get_orientation_offset_is_relative();
1404 void set_match_dolly_orientation(
int value);
1412 int get_match_dolly_orientation();
1421 void set_use_special_track_mode(
int value);
1428 int get_use_special_track_mode();
1436 int get_symbolic_view();
1458 CALLBACK_ID_SETTINGS_CHANGED = 1
1461 #ifdef CPLUSPLUS_ONLY
1500 int add_callback(
int callback_id,
1502 void* callback_params = 0,
1503 void* callback_user_data = 0);
1521 int remove_callback(
int callback_id,
1540 int remove_callback_with_user_data(
int callback_id,
1541 void* callback_user_data);
1578 int add_callback_script(
int callback_id,
1579 const char* callback_script,
1580 const char* callback_script_type = NULL);
1611 int remove_callback_script(
int callback_id,
1612 const char* callback_script,
1613 const char* callback_script_type = NULL);
1645 void set_speed_fov_degrees_per_wheel_click(
float fov_change);
1657 float get_speed_fov_degrees_per_wheel_click();
1668 void set_speed_meters_per_second(
float speed);
1679 float get_speed_meters_per_second();
1691 void set_require_smooth_servo(
int require);
1703 int get_require_smooth_servo();
1716 void set_servo_time_modifier(
float modifier );
1724 float get_servo_time_modifier();
1736 void set_track_camera_avoids_obstacles(
int avoid);
1749 int get_track_camera_avoids_obstacles();
1761 void set_ignore_mouse_drags(
int ignore);
1772 int get_ignore_mouse_drags();
1774 #ifdef CPLUSPLUS_ONLY
1785 void update_frustum(
float* proj_matrix,
float* model_matrix);
1793 #ifdef CPLUSPLUS_ONLY
1795 bdiCamera* get_scripted_object() {
return m_camera;}
1807 bdiCamera* m_camera;
1809 friend class bdiCamera;
1811 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:251
diguyViewCameraMoveMode
DI-Guy camera move modes.
Definition: diguy_constants.h:236
The class that represents a camera in the world.
Definition: diguyViewCamera.h:90
diguyCallbackReturn diguyViewCameraCallback(diguyViewCamera *camera, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:204