18 #include "pandabase.h"
36 INLINE MatrixLens(
const MatrixLens ©);
37 INLINE
void operator = (
const MatrixLens ©);
40 INLINE
void set_user_mat(
const LMatrix4 &user_mat);
41 INLINE
const LMatrix4 &get_user_mat()
const;
43 INLINE
void set_left_eye_mat(
const LMatrix4 &user_mat);
44 INLINE
void clear_left_eye_mat();
45 INLINE
bool has_left_eye_mat()
const;
46 INLINE
const LMatrix4 &get_left_eye_mat()
const;
48 INLINE
void set_right_eye_mat(
const LMatrix4 &user_mat);
49 INLINE
void clear_right_eye_mat();
50 INLINE
bool has_right_eye_mat()
const;
51 INLINE
const LMatrix4 &get_right_eye_mat()
const;
54 virtual PT(
Lens) make_copy()
const;
57 virtual void write(ostream &out,
int indent_level = 0)
const;
60 virtual void do_compute_projection_mat(Lens::CData *lens_cdata);
68 MF_has_left_eye = 0x001,
69 MF_has_right_eye = 0x002,
74 static void register_with_read_factory();
81 return get_class_type();
83 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
87 static void init_type() {
89 register_type(_type_handle,
"MatrixLens",
90 Lens::get_class_type());
97 #include "matrixLens.I"
A base class for any number of different kinds of lenses, linear and otherwise.
A completely generic linear lens.
Base class for objects that can be written to and read from Bam files.
virtual bool is_linear() const
Returns true if the lens represents a linear projection (e.g.
This is a 4-by-4 transform matrix.
An instance of this class is passed to the Factory when requesting it to do its business and construc...
TypeHandle is the identifier used to differentiate C++ class types.