14 #ifndef CYLINDRICALLENS_H
15 #define CYLINDRICALLENS_H
42 virtual PT(
Lens) make_copy()
const;
45 virtual bool do_extrude(
const Lens::CData *lens_cdata,
const LPoint3 &point2d,
46 LPoint3 &near_point, LPoint3 &far_point)
const;
47 virtual bool do_extrude_vec(
const Lens::CData *lens_cdata,
const LPoint3 &point2d,
49 virtual bool do_project(
const Lens::CData *lens_cdata,
50 const LPoint3 &point3d, LPoint3 &point2d)
const;
52 virtual PN_stdfloat fov_to_film(PN_stdfloat fov, PN_stdfloat focal_length,
bool horiz)
const;
53 virtual PN_stdfloat fov_to_focal_length(PN_stdfloat fov, PN_stdfloat film_size,
bool horiz)
const;
54 virtual PN_stdfloat film_to_fov(PN_stdfloat film_size, PN_stdfloat focal_length,
bool horiz)
const;
58 return get_class_type();
60 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
64 static void init_type() {
67 Lens::get_class_type());
A base class for any number of different kinds of lenses, linear and otherwise.
TypeHandle is the identifier used to differentiate C++ class types.
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(),...