Static Public Member Functions | Private Member Functions
vpgl_ray Class Reference

#include <vpgl_ray.h>

List of all members.

Static Public Member Functions

static bool ray (const vpgl_camera< double > *cam, vnl_double_3 const &point_3d, vnl_double_3 &ray)
 Generic camera interfaces (pointer for abstract class).
static bool ray (const vpgl_camera< double > *cam, vgl_point_3d< double > const &point_3d, vgl_vector_3d< double > &ray)
 compute the ray at a given 3-d point.
static bool ray (const vpgl_camera< double > *cam, vgl_point_3d< double > const &point_3d, double origin_z, vgl_ray_3d< double > &ray)
 vgl interface, origin_z defines an x-y plane wherein lies the ray origin.
static bool ray (vpgl_rational_camera< double > const &rcam, vnl_double_3 const &point_3d, vnl_double_3 &ray)
 compute the ray at a given 3-d point.
static bool ray (vpgl_rational_camera< double > const &rcam, vgl_point_3d< double > const &point_3d, vgl_vector_3d< double > &ray)
 compute the ray at a given 3-d point.
static bool ray (vpgl_rational_camera< double > const &rcam, vgl_point_3d< double > const &point_3d, vgl_ray_3d< double > &ray)
 compute the ray at a given 3-d point.
static bool ray (vpgl_local_rational_camera< double > const &lrcam, const double u, const double v, vgl_point_3d< double > &origin, vgl_vector_3d< double > &dir)
 compute a ray in local Cartesian coordinates at a given (u, v).
static bool ray (vpgl_local_rational_camera< double > const &lrcam, const double u, const double v, vgl_ray_3d< double > &ray)
 compute a ray in local Cartesian coordinates at a given (u, v).
static bool plane_ray (vpgl_local_rational_camera< double > const &lrcam, const vgl_point_2d< double > image_point1, const vgl_point_2d< double > image_point2, vgl_plane_3d< double > &plane)
 compute a ray in local Cartesian coordinates for a local rational cam.
static bool ray (vpgl_proj_camera< double > const &cam, vgl_point_3d< double > const &world_pt, vgl_ray_3d< double > &ray)
static bool principal_ray (vpgl_proj_camera< double > const &cam, vgl_ray_3d< double > &pray)
static bool ray (vpgl_perspective_camera< double > const &cam, vgl_point_3d< double > const &world_pt, vgl_ray_3d< double > &ray)
static bool principal_ray (vpgl_perspective_camera< double > const &cam, vgl_ray_3d< double > &pray)
static bool ray (vpgl_generic_camera< double > const &cam, vgl_point_3d< double > const &world_pt, vgl_ray_3d< double > &ray)
static double angle_between_rays (vgl_rotation_3d< double > const &r0, vgl_rotation_3d< double > const &r1)
 angle(radians) between principal ray of one rotation and the principal ray of a second rotation.
static double rot_about_ray (vgl_rotation_3d< double > const &r0, vgl_rotation_3d< double > const &r1)
 the rotation about the principal ray required to go from r0 to r1.
static vgl_rotation_3d< double > rot_to_point_ray (vgl_vector_3d< double > const &ray_dir)
 the rotation required to point the principal ray in a given direction, starting with the identity camera (principal ray in z direction).
static vgl_rotation_3d< double > rot_to_point_ray (double azimuth, double elevation)
 define the principal ray in spherical coordinates (in degrees, azimuth [0 360], elevation [0, 180], x axis = (0, 90), y axis = (90, 90, z axis = (0, 0)).

Private Member Functions

 vpgl_ray ()
 constructor/destructor private - static methods only.
 ~vpgl_ray ()

Detailed Description

Definition at line 20 of file vpgl_ray.h.


Constructor & Destructor Documentation

vpgl_ray::vpgl_ray ( ) [private]

constructor/destructor private - static methods only.

vpgl_ray::~vpgl_ray ( ) [private]

Member Function Documentation

double vpgl_ray::angle_between_rays ( vgl_rotation_3d< double > const &  r0,
vgl_rotation_3d< double > const &  r1 
) [static]

angle(radians) between principal ray of one rotation and the principal ray of a second rotation.

Rotations r0 and r1 are expressed as vgl_rotation<T>

Definition at line 253 of file vpgl_ray.cxx.

bool vpgl_ray::plane_ray ( vpgl_local_rational_camera< double > const &  lrcam,
const vgl_point_2d< double >  image_point1,
const vgl_point_2d< double >  image_point2,
vgl_plane_3d< double > &  plane 
) [static]

compute a ray in local Cartesian coordinates for a local rational cam.

Definition at line 170 of file vpgl_ray.cxx.

bool vpgl_ray::principal_ray ( vpgl_proj_camera< double > const &  cam,
vgl_ray_3d< double > &  pray 
) [static]

Definition at line 221 of file vpgl_ray.cxx.

static bool vpgl_ray::principal_ray ( vpgl_perspective_camera< double > const &  cam,
vgl_ray_3d< double > &  pray 
) [inline, static]

Definition at line 98 of file vpgl_ray.h.

bool vpgl_ray::ray ( const vpgl_camera< double > *  cam,
vnl_double_3 const &  point_3d,
vnl_double_3 &  ray 
) [static]

Generic camera interfaces (pointer for abstract class).

Solves using back-project so will work for any camera The ray direction assumes the camera is in the positive half-space of the x-y plane. This assumption is necessary since some cameras don't have a natural center of projection (e.g. rational cameras). compute the ray at a given 3-d point.

Definition at line 18 of file vpgl_ray.cxx.

bool vpgl_ray::ray ( const vpgl_camera< double > *  cam,
vgl_point_3d< double > const &  point_3d,
vgl_vector_3d< double > &  ray 
) [static]

compute the ray at a given 3-d point.

Definition at line 53 of file vpgl_ray.cxx.

bool vpgl_ray::ray ( const vpgl_camera< double > *  cam,
vgl_point_3d< double > const &  point_3d,
double  origin_z,
vgl_ray_3d< double > &  ray 
) [static]

vgl interface, origin_z defines an x-y plane wherein lies the ray origin.

Definition at line 66 of file vpgl_ray.cxx.

bool vpgl_ray::ray ( vpgl_rational_camera< double > const &  rcam,
vnl_double_3 const &  point_3d,
vnl_double_3 &  ray 
) [static]

compute the ray at a given 3-d point.

Definition at line 85 of file vpgl_ray.cxx.

bool vpgl_ray::ray ( vpgl_rational_camera< double > const &  rcam,
vgl_point_3d< double > const &  point_3d,
vgl_vector_3d< double > &  ray 
) [static]

compute the ray at a given 3-d point.

Definition at line 94 of file vpgl_ray.cxx.

bool vpgl_ray::ray ( vpgl_rational_camera< double > const &  rcam,
vgl_point_3d< double > const &  point_3d,
vgl_ray_3d< double > &  ray 
) [static]

compute the ray at a given 3-d point.

Definition at line 104 of file vpgl_ray.cxx.

bool vpgl_ray::ray ( vpgl_local_rational_camera< double > const &  lrcam,
const double  u,
const double  v,
vgl_point_3d< double > &  origin,
vgl_vector_3d< double > &  dir 
) [static]

compute a ray in local Cartesian coordinates at a given (u, v).

Definition at line 120 of file vpgl_ray.cxx.

bool vpgl_ray::ray ( vpgl_local_rational_camera< double > const &  lrcam,
const double  u,
const double  v,
vgl_ray_3d< double > &  ray 
) [static]

compute a ray in local Cartesian coordinates at a given (u, v).

Definition at line 158 of file vpgl_ray.cxx.

bool vpgl_ray::ray ( vpgl_proj_camera< double > const &  cam,
vgl_point_3d< double > const &  world_pt,
vgl_ray_3d< double > &  ray 
) [static]

Definition at line 210 of file vpgl_ray.cxx.

bool vpgl_ray::ray ( vpgl_perspective_camera< double > const &  cam,
vgl_point_3d< double > const &  world_pt,
vgl_ray_3d< double > &  ray 
) [static]

Definition at line 235 of file vpgl_ray.cxx.

bool vpgl_ray::ray ( vpgl_generic_camera< double > const &  cam,
vgl_point_3d< double > const &  world_pt,
vgl_ray_3d< double > &  ray 
) [static]

Definition at line 245 of file vpgl_ray.cxx.

double vpgl_ray::rot_about_ray ( vgl_rotation_3d< double > const &  r0,
vgl_rotation_3d< double > const &  r1 
) [static]

the rotation about the principal ray required to go from r0 to r1.

Definition at line 264 of file vpgl_ray.cxx.

vgl_rotation_3d< double > vpgl_ray::rot_to_point_ray ( vgl_vector_3d< double > const &  ray_dir) [static]

the rotation required to point the principal ray in a given direction, starting with the identity camera (principal ray in z direction).

Definition at line 283 of file vpgl_ray.cxx.

vgl_rotation_3d< double > vpgl_ray::rot_to_point_ray ( double  azimuth,
double  elevation 
) [static]

define the principal ray in spherical coordinates (in degrees, azimuth [0 360], elevation [0, 180], x axis = (0, 90), y axis = (90, 90, z axis = (0, 0)).

Definition at line 292 of file vpgl_ray.cxx.


The documentation for this class was generated from the following files: