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());
An instance of this class is passed to the Factory when requesting it to do its business and construc...
A base class for any number of different kinds of lenses, linear and otherwise.
A perspective-type lens: a normal camera.
virtual bool is_linear() const
Returns true if the lens represents a linear projection (e.g.
virtual bool is_perspective() const
Returns true if the lens represents a perspective projection (i.e.
TypeHandle is the identifier used to differentiate C++ class types.
Base class for objects that can be written to and read from Bam files.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...