FS2_Open
Open source remastering of the Freespace 2 engine
camera Class Reference

#include <camera.h>

Public Member Functions

 camera (char *in_name=NULL, int in_signature=-1)
 
 ~camera ()
 
void clear ()
 
void reset ()
 
void set_name (char *in_name)
 
void set_object_host (object *objp, int n_object_host_submodel=-1)
 
void set_object_target (object *objp, int n_object_target_submodel=-1)
 
void set_custom_position_function (void(*n_func_custom_position)(camera *cam, vec3d *pos))
 
void set_custom_orientation_function (void(*n_func_custom_orientation)(camera *cam, matrix *ori))
 
void set_fov (float in_fov, float in_fov_time=0.0f, float in_fov_acceleration_time=0.0f, float in_deceleration_time=0.0f)
 
void set_position (vec3d *in_position=NULL, float in_translation_time=0.0f, float in_translation_acceleration_time=0.0f, float in_translation_deceleration_time=0.0f, float in_end_velocity=0.0f)
 
void set_translation_velocity (vec3d *in_velocity, float in_acceleration_time=0.0f)
 
void set_rotation (matrix *in_orientation=NULL, float in_rotation_time=0.0f, float in_rotation_acceleration_time=0.0f, float in_rotation_deceleration_time=0.0f)
 
void set_rotation (angles *in_angles, float in_rotation_time=0.0f, float in_rotation_acceleration_time=0.0f, float in_rotation_deceleration_time=0.0f)
 
void set_rotation_facing (vec3d *in_target, float in_rotation_time=0.0f, float in_rotation_acceleration_time=0.0f, float in_rotation_deceleration_time=0.0f)
 
void set_rotation_velocity (angles *in_rotation_rate, float in_acceleration_time=0.0f)
 
char * get_name ()
 
int get_signature ()
 
objectget_object_host ()
 
int get_object_host_submodel ()
 
objectget_object_target ()
 
int get_object_target_submodel ()
 
float get_fov ()
 
void get_info (vec3d *position, matrix *orientation)
 
bool is_empty ()
 
void do_frame (float in_frametime)
 

Protected Attributes

char name [NAME_LENGTH]
 
int sig
 
int flags
 
object_h object_host
 
int object_host_submodel
 
object_h object_target
 
int object_target_submodel
 
void(* func_custom_position )(camera *cam, vec3d *pos)
 
void(* func_custom_orientation )(camera *cam, matrix *ori)
 
avd_movement fov
 
avd_movement pos_x
 
avd_movement pos_y
 
avd_movement pos_z
 
avd_movement ori [9]
 
float c_fov
 
vec3d c_pos
 
matrix c_ori
 

Friends

class avd_camera
 

Detailed Description

Definition at line 18 of file camera.h.

Constructor & Destructor Documentation

camera::camera ( char *  in_name = NULL,
int  in_signature = -1 
)

Definition at line 29 of file camera.cpp.

camera::~camera ( )

Definition at line 37 of file camera.cpp.

Member Function Documentation

void camera::clear ( )

Definition at line 46 of file camera.cpp.

void camera::do_frame ( float  in_frametime)

Definition at line 253 of file camera.cpp.

float camera::get_fov ( )

Definition at line 284 of file camera.cpp.

void camera::get_info ( vec3d position,
matrix orientation 
)

Definition at line 295 of file camera.cpp.

char* camera::get_name ( )
inline

Definition at line 71 of file camera.h.

object * camera::get_object_host ( )

Definition at line 258 of file camera.cpp.

int camera::get_object_host_submodel ( )

Definition at line 266 of file camera.cpp.

object * camera::get_object_target ( )

Definition at line 271 of file camera.cpp.

int camera::get_object_target_submodel ( )

Definition at line 279 of file camera.cpp.

int camera::get_signature ( )
inline

Definition at line 72 of file camera.h.

bool camera::is_empty ( )
inline

Definition at line 81 of file camera.h.

void camera::reset ( )

Definition at line 53 of file camera.cpp.

void camera::set_custom_orientation_function ( void(*)(camera *cam, matrix *ori n_func_custom_orientation)

Custom function receives the already-modified current orientation value. It should be replaced or added to as the custom function modifier sees fit.

Definition at line 157 of file camera.cpp.

void camera::set_custom_position_function ( void(*)(camera *cam, vec3d *pos n_func_custom_position)

Custom function receives the already-modified current position value. It should be replaced or added to as the custom function modifier sees fit.

Definition at line 148 of file camera.cpp.

void camera::set_fov ( float  in_fov,
float  in_fov_time = 0.0f,
float  in_fov_acceleration_time = 0.0f,
float  in_deceleration_time = 0.0f 
)

Definition at line 87 of file camera.cpp.

void camera::set_name ( char *  in_name)

Definition at line 81 of file camera.cpp.

void camera::set_object_host ( object objp,
int  n_object_host_submodel = -1 
)

Definition at line 105 of file camera.cpp.

void camera::set_object_target ( object objp,
int  n_object_target_submodel = -1 
)

Definition at line 135 of file camera.cpp.

void camera::set_position ( vec3d in_position = NULL,
float  in_translation_time = 0.0f,
float  in_translation_acceleration_time = 0.0f,
float  in_translation_deceleration_time = 0.0f,
float  in_end_velocity = 0.0f 
)

Definition at line 162 of file camera.cpp.

void camera::set_rotation ( matrix in_orientation = NULL,
float  in_rotation_time = 0.0f,
float  in_rotation_acceleration_time = 0.0f,
float  in_rotation_deceleration_time = 0.0f 
)

Definition at line 195 of file camera.cpp.

void camera::set_rotation ( angles in_angles,
float  in_rotation_time = 0.0f,
float  in_rotation_acceleration_time = 0.0f,
float  in_rotation_deceleration_time = 0.0f 
)

Definition at line 218 of file camera.cpp.

void camera::set_rotation_facing ( vec3d in_target,
float  in_rotation_time = 0.0f,
float  in_rotation_acceleration_time = 0.0f,
float  in_rotation_deceleration_time = 0.0f 
)

Definition at line 225 of file camera.cpp.

void camera::set_rotation_velocity ( angles in_rotation_rate,
float  in_acceleration_time = 0.0f 
)

Definition at line 248 of file camera.cpp.

void camera::set_translation_velocity ( vec3d in_velocity,
float  in_acceleration_time = 0.0f 
)

Definition at line 188 of file camera.cpp.

Friends And Related Function Documentation

friend class avd_camera
friend

Definition at line 20 of file camera.h.

Member Data Documentation

float camera::c_fov
protected

Definition at line 42 of file camera.h.

matrix camera::c_ori
protected

Definition at line 44 of file camera.h.

vec3d camera::c_pos
protected

Definition at line 43 of file camera.h.

int camera::flags
protected

Definition at line 24 of file camera.h.

avd_movement camera::fov
protected

Definition at line 35 of file camera.h.

void(* camera::func_custom_orientation) (camera *cam, matrix *ori)
protected

Definition at line 33 of file camera.h.

void(* camera::func_custom_position) (camera *cam, vec3d *pos)
protected

Definition at line 32 of file camera.h.

char camera::name[NAME_LENGTH]
protected

Definition at line 22 of file camera.h.

object_h camera::object_host
protected

Definition at line 26 of file camera.h.

int camera::object_host_submodel
protected

Definition at line 27 of file camera.h.

object_h camera::object_target
protected

Definition at line 29 of file camera.h.

int camera::object_target_submodel
protected

Definition at line 30 of file camera.h.

avd_movement camera::ori[9]
protected

Definition at line 39 of file camera.h.

avd_movement camera::pos_x
protected

Definition at line 36 of file camera.h.

avd_movement camera::pos_y
protected

Definition at line 37 of file camera.h.

avd_movement camera::pos_z
protected

Definition at line 38 of file camera.h.

int camera::sig
protected

Definition at line 23 of file camera.h.


The documentation for this class was generated from the following files: