14 #ifndef PERSPECTIVELENS_H 15 #define PERSPECTIVELENS_H 35 virtual PT(
Lens) make_copy()
const;
40 virtual bool do_extrude_depth(
const CData *cdata,
const LPoint3 &point2d,
41 LPoint3 &point3d)
const;
42 virtual void do_compute_projection_mat(Lens::CData *lens_cdata);
44 virtual PN_stdfloat fov_to_film(PN_stdfloat fov, PN_stdfloat focal_length,
bool horiz)
const;
45 virtual PN_stdfloat fov_to_focal_length(PN_stdfloat fov, PN_stdfloat film_size,
bool horiz)
const;
46 virtual PN_stdfloat film_to_fov(PN_stdfloat film_size, PN_stdfloat focal_length,
bool horiz)
const;
49 static void register_with_read_factory();
56 return get_class_type();
58 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
62 static void init_type() {
65 Lens::get_class_type());
virtual bool is_linear() const
Returns true if the lens represents a linear projection (e.g.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A base class for any number of different kinds of lenses, linear and otherwise.
Base class for objects that can be written to and read from Bam files.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
virtual bool is_perspective() const
Returns true if the lens represents a perspective projection (i.e.
A perspective-type lens: a normal camera.
An instance of this class is passed to the Factory when requesting it to do its business and construc...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
TypeHandle is the identifier used to differentiate C++ class types.