Panda3D
|
A PSphereLens is a special nonlinear lens that doesn't correspond to any real physical lenses. More...
#include <pandadoc.hpp>
Public Member Functions | |
__init__ () | |
![]() | |
clear () | |
Resets all lens parameters to their initial default settings. More... | |
clearCustomFilmMat () | |
Disables the lens custom_film_mat correction. More... | |
clearKeystone () | |
Disables the lens keystone correction. More... | |
clearViewMat () | |
Resets the lens transform to identity. More... | |
bool | extrude (const LPoint2 point2d, LPoint3 near_point, LPoint3 far_point) |
Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the corresponding vector in space that maps to this point, if such a vector can be determined. More... | |
bool | extrude (const LPoint3 point2d, LPoint3 near_point, LPoint3 far_point) |
Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the corresponding vector in space that maps to this point, if such a vector can be determined. More... | |
bool | extrudeDepth (const LPoint3 point2d, LPoint3 point3d) |
Uses the depth component of the 3-d result from project() to compute the original point in 3-d space corresponding to a particular point on the lens. More... | |
bool | extrudeVec (const LPoint2 point2d, LVector3 vec3d) |
Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the vector that corresponds to the view direction. More... | |
bool | extrudeVec (const LPoint3 point2d, LVector3 vec3d) |
Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the vector that corresponds to the view direction. More... | |
float | getAspectRatio () |
Returns the aspect ratio of the Lens. More... | |
str | getChangeEvent () |
Returns the name of the event that will be generated whenever any properties of this particular Lens have changed. More... | |
float | getConvergenceDistance () |
See set_convergence_distance(). More... | |
CoordinateSystem | getCoordinateSystem () |
Returns the coordinate system that all 3-d computations are performed within for this Lens. More... | |
const LMatrix4 | getCustomFilmMat () |
Returns the custom_film_mat specified for the lens. More... | |
float | getFar () |
Returns the position of the far plane (or cylinder, sphere, whatever). More... | |
const LMatrix4 | getFilmMat () |
Returns the matrix that transforms from a point behind the lens to a point on the film. More... | |
const LMatrix4 | getFilmMatInv () |
Returns the matrix that transforms from a point on the film to a point behind the lens. More... | |
const LVector2 | getFilmOffset () |
Returns the horizontal and vertical offset amounts of this Lens. More... | |
const LVecBase2 | getFilmSize () |
Returns the horizontal and vertical film size of the virtual film. More... | |
float | getFocalLength () |
Returns the focal length of the lens. More... | |
const LVecBase2 | getFov () |
Returns the horizontal and vertical film size of the virtual film. More... | |
float | getHfov () |
Returns the horizontal component of fov only. More... | |
float | getInterocularDistance () |
See set_interocular_distance(). More... | |
const LVecBase2 | getKeystone () |
Returns the keystone correction specified for the lens. More... | |
UpdateSeq | getLastChange () |
Returns the UpdateSeq that is incremented whenever the lens properties are changed. More... | |
const LMatrix4 | getLensMat () |
Returns the matrix that transforms from a point in front of the lens to a point in space. More... | |
const LMatrix4 | getLensMatInv () |
Returns the matrix that transforms from a point in space to a point in front of the lens. More... | |
float | getMinFov () |
Returns the field of view of the narrowest dimension of the window. More... | |
float | getNear () |
Returns the position of the near plane (or cylinder, sphere, whatever). More... | |
LPoint3 | getNodalPoint () |
Returns the center point of the lens: the point from which the lens is viewing. More... | |
const LMatrix4 | getProjectionMat (Lens::StereoChannel channel) |
Returns the complete transformation matrix from a 3-d point in space to a point on the film, if such a matrix exists, or the identity matrix if the lens is nonlinear. More... | |
const LMatrix4 | getProjectionMatInv (Lens::StereoChannel channel) |
Returns the matrix that transforms from a 2-d point on the film to a 3-d vector in space, if such a matrix exists. More... | |
const LVector3 | getUpVector () |
Returns the axis perpendicular to the camera's view vector that indicates the "up" direction. More... | |
float | getVfov () |
Returns the vertical component of fov only. More... | |
const LVecBase3 | getViewHpr () |
Returns the direction in which the lens is facing. More... | |
const LMatrix4 | getViewMat () |
Returns the direction in which the lens is facing. More... | |
const LVector3 | getViewVector () |
Returns the axis along which the lens is facing. More... | |
bool | isLinear () |
Returns true if the lens represents a linear projection (e.g. More... | |
bool | isOrthographic () |
Returns true if the lens represents a orthographic projection (i.e. More... | |
bool | isPerspective () |
Returns true if the lens represents a perspective projection (i.e. More... | |
BoundingVolume | makeBounds () |
Allocates and returns a new BoundingVolume that encloses the frustum used for this kind of lens, if possible. More... | |
Lens | makeCopy () |
Geom | makeGeometry () |
Allocates and returns a new Geom that can be rendered to show a visible representation of the frustum used for this kind of lens, if it makes sense to do so. More... | |
output (Ostream out) | |
bool | project (const LPoint3 point3d, LPoint2 point2d) |
Given a 3-d point in space, determine the 2-d point this maps to, in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner. More... | |
bool | project (const LPoint3 point3d, LPoint3 point2d) |
Given a 3-d point in space, determine the 2-d point this maps to, in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner. More... | |
recomputeAll () | |
Forces all internal parameters of the Lens to be recomputed. More... | |
setAspectRatio (float aspect_ratio) | |
Sets the aspect ratio of the lens. More... | |
setChangeEvent (str event) | |
Sets the name of the event that will be generated whenever any properties of the Lens have changed. More... | |
setConvergenceDistance (float convergence_distance) | |
Sets the distance between between the camera plane and the point in the distance that the left and right eyes are both looking at. More... | |
setCoordinateSystem (CoordinateSystem cs) | |
Specifies the coordinate system that all 3-d computations are performed within for this Lens. More... | |
setCustomFilmMat (const LMatrix4 custom_film_mat) | |
Specifies a custom matrix to transform the points on the film after they have been converted into nominal film space (-1 . More... | |
setFar (float far_distance) | |
Defines the position of the far plane (or cylinder, sphere, whatever). More... | |
setFilmOffset (const LVecBase2 film_offset) | |
Sets the horizontal and vertical offset amounts of this Lens. More... | |
setFilmOffset (float x, float y) | |
Sets the horizontal and vertical offset amounts of this Lens. More... | |
setFilmSize (const LVecBase2 film_size) | |
Sets the size and shape of the "film" within the lens. More... | |
setFilmSize (float width) | |
Sets the horizontal size of the film without changing its shape. More... | |
setFilmSize (float width, float height) | |
Sets the size and shape of the "film" within the lens. More... | |
setFocalLength (float focal_length) | |
Sets the focal length of the lens. More... | |
setFov (const LVecBase2 fov) | |
Sets the field of view of the lens in both dimensions. More... | |
setFov (float fov) | |
Sets the horizontal field of view of the lens without changing the aspect ratio. More... | |
setFov (float hfov, float vfov) | |
Sets the field of view of the lens in both dimensions. More... | |
setFrustumFromCorners (const LVecBase3 ul, const LVecBase3 ur, const LVecBase3 ll, const LVecBase3 lr, int flags) | |
Sets up the lens to use the frustum defined by the four indicated points. More... | |
setInterocularDistance (float interocular_distance) | |
Sets the distance between the left and right eyes of a stereo camera. More... | |
setKeystone (const LVecBase2 keystone) | |
Indicates the ratio of keystone correction to perform on the lens, in each of three axes. More... | |
setMinFov (float min_fov) | |
Sets the field of view of the smallest dimension of the window. More... | |
setNear (float near_distance) | |
Defines the position of the near plane (or cylinder, sphere, whatever). More... | |
setNearFar (float near_distance, float far_distance) | |
Simultaneously changes the near and far planes. More... | |
setViewHpr (const LVecBase3 view_hpr) | |
Sets the direction in which the lens is facing. More... | |
setViewHpr (float h, float p, float r) | |
Sets the direction in which the lens is facing. More... | |
setViewMat (const LMatrix4 view_mat) | |
Sets an arbitrary transformation on the lens. More... | |
setViewVector (const LVector3 view_vector, const LVector3 up_vector) | |
Specifies the direction in which the lens is facing by giving an axis to look along, and a perpendicular (or at least non-parallel) up axis. More... | |
setViewVector (float x, float y, float z, float i, float j, float k) | |
Specifies the direction in which the lens is facing by giving an axis to look along, and a perpendicular (or at least non-parallel) up axis. More... | |
write (Ostream out, int indent_level) | |
![]() | |
object | __reduce__ () |
object | __reduce_persist__ (object pickler) |
VectorUchar | encodeToBamStream () |
Converts the TypedWritable object into a single stream of data using a BamWriter, and returns that data as a bytes object. More... | |
bool | encodeToBamStream (VectorUchar data, BamWriter writer) |
Converts the TypedWritable object into a single stream of data using a BamWriter, and stores that data in the indicated string. More... | |
fillin (DatagramIterator scan, BamReader manager) | |
This internal function is intended to be called by each class's make_from_bam() method to read in all of the relevant data from the BamFile for the new object. More... | |
UpdateSeq | getBamModified () |
Returns the current bam_modified counter. More... | |
markBamModified () | |
Increments the bam_modified counter, so that this object will be invalidated and retransmitted on any open bam streams. More... | |
![]() | |
TypeHandle | getType () |
int | getTypeIndex () |
Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More... | |
bool | isExactType (TypeHandle handle) |
Returns true if the current object is the indicated type exactly. More... | |
bool | isOfType (TypeHandle handle) |
Returns true if the current object is or derives from the indicated type. More... | |
![]() | |
int | getRefCount () |
Returns the current reference count. More... | |
ref () | |
Explicitly increments the reference count. More... | |
bool | testRefCountIntegrity () |
Does some easy checks to make sure that the reference count isn't completely bogus. More... | |
bool | testRefCountNonzero () |
Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More... | |
bool | unref () |
Explicitly decrements the reference count. More... | |
Static Public Member Functions | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
static float | getDefaultFar () |
Returns the default far plane distance that will be assigned to each newly- created lens. More... | |
static float | getDefaultNear () |
Returns the default near plane distance that will be assigned to each newly-created lens. More... | |
![]() | |
static TypedWritableReferenceCount | decodeFromBamStream (VectorUchar data, BamReader reader) |
Reads the bytes created by a previous call to encode_to_bam_stream(), and extracts and returns the single object on those bytes. More... | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
![]() | |
static TypeHandle | getClassType () |
Additional Inherited Members | |
![]() | |
enum | FromCorners { FC_roll = 1 , FC_camera_plane = 2 , FC_off_axis = 4 , FC_aspect_ratio = 8 , FC_shear = 16 , FC_keystone = 32 } |
enum | StereoChannel { SC_mono = 0 , SC_left = 1 , SC_right = 2 , SC_stereo = 3 } |
![]() | |
float | aspect_ratio |
Returns the aspect ratio of the Lens. More... | |
const String | change_event |
Returns the name of the event that will be generated whenever any properties of this particular Lens have changed. More... | |
float | convergence_distance |
See set_convergence_distance(). More... | |
CoordinateSystem | coordinate_system |
Returns the coordinate system that all 3-d computations are performed within for this Lens. More... | |
float | far |
Returns the position of the far plane (or cylinder, sphere, whatever). More... | |
const LVector2 | film_offset |
Returns the horizontal and vertical offset amounts of this Lens. More... | |
const LVecBase2 | film_size |
Returns the horizontal and vertical film size of the virtual film. More... | |
float | focal_length |
Returns the focal length of the lens. More... | |
const LVecBase2 | fov |
Returns the horizontal and vertical film size of the virtual film. More... | |
float | interocular_distance |
See set_interocular_distance(). More... | |
const LVecBase2 | keystone |
Returns the keystone correction specified for the lens. More... | |
float | min_fov |
Returns the field of view of the narrowest dimension of the window. More... | |
float | near |
Returns the position of the near plane (or cylinder, sphere, whatever). More... | |
LPoint3 | nodal_point |
Returns the center point of the lens: the point from which the lens is viewing. More... | |
const LVecBase3 | view_hpr |
Returns the direction in which the lens is facing. More... | |
const LMatrix4 | view_mat |
Returns the direction in which the lens is facing. More... | |
![]() | |
TypeHandle | type |
Returns the TypeHandle representing this object's type. More... | |
![]() | |
int | ref_count |
The current reference count. More... | |
A PSphereLens is a special nonlinear lens that doesn't correspond to any real physical lenses.
It's primarily useful for generating 360-degree wraparound images while avoiding the distortion associated with fisheye images.
A PSphereLens is similar to a cylindrical lens, except it is also curved in the vertical direction. This allows it to extend to both poles in the vertical direction. The mapping is similar to what many modeling packages call a sphere mapping: the x coordinate is proportional to azimuth, while the y coordinate is proportional to altitude.
__init__ | ( | ) |
|
static |