Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

panda/src/mathutil/look_at_src.I

Go to the documentation of this file.
00001 // Filename: look_at_src.I
00002 // Created by:  drose (25Sep99)
00003 //
00004 ////////////////////////////////////////////////////////////////////
00005 //
00006 // PANDA 3D SOFTWARE
00007 // Copyright (c) 2001, Disney Enterprises, Inc.  All rights reserved
00008 //
00009 // All use of this software is subject to the terms of the Panda 3d
00010 // Software license.  You should have received a copy of this license
00011 // along with this source code; you will also find a current copy of
00012 // the license at http://www.panda3d.org/license.txt .
00013 //
00014 // To contact the maintainers of this program write to
00015 // panda3d@yahoogroups.com .
00016 //
00017 ////////////////////////////////////////////////////////////////////
00018 
00019 INLINE_MATHUTIL void
00020 heads_up(FLOATNAME(LMatrix3) &mat, const FLOATNAME(LVector3) &fwd,
00021          CoordinateSystem cs) {
00022   heads_up(mat, fwd, FLOATNAME(LVector3)::up(cs), cs);
00023 }
00024 
00025 INLINE_MATHUTIL void
00026 look_at(FLOATNAME(LMatrix3) &mat, const FLOATNAME(LVector3) &fwd,
00027         CoordinateSystem cs) {
00028   look_at(mat, fwd, FLOATNAME(LVector3)::up(cs), cs);
00029 }
00030 
00031 INLINE_MATHUTIL void
00032 heads_up(FLOATNAME(LMatrix4) &mat, const FLOATNAME(LVector3) &fwd,
00033          const FLOATNAME(LVector3) &up, CoordinateSystem cs) {
00034   FLOATNAME(LMatrix3) mat3;
00035   heads_up(mat3, fwd, up, cs);
00036   mat = FLOATNAME(LMatrix4)(mat3);
00037 }
00038 
00039 INLINE_MATHUTIL void
00040 look_at(FLOATNAME(LMatrix4) &mat, const FLOATNAME(LVector3) &fwd,
00041         const FLOATNAME(LVector3) &up, CoordinateSystem cs) {
00042   FLOATNAME(LMatrix3) mat3;
00043   look_at(mat3, fwd, up, cs);
00044   mat = FLOATNAME(LMatrix4)(mat3);
00045 }
00046 
00047 INLINE_MATHUTIL void
00048 heads_up(FLOATNAME(LMatrix4) &mat, const FLOATNAME(LVector3) &fwd,
00049          CoordinateSystem cs) {
00050   heads_up(mat, fwd, FLOATNAME(LVector3)::up(cs), cs);
00051 }
00052 
00053 INLINE_MATHUTIL void
00054 look_at(FLOATNAME(LMatrix4) &mat, const FLOATNAME(LVector3) &fwd,
00055         CoordinateSystem cs) {
00056   look_at(mat, fwd, FLOATNAME(LVector3)::up(cs), cs);
00057 }
00058 
00059 INLINE_MATHUTIL void
00060 heads_up(FLOATNAME(LQuaternion) &quat, const FLOATNAME(LVector3) &fwd,
00061          const FLOATNAME(LVector3) &up, CoordinateSystem cs) {
00062   FLOATNAME(LMatrix3) mat3;
00063   heads_up(mat3, fwd, up, cs);
00064   quat.set_from_matrix(mat3);
00065 }
00066 
00067 INLINE_MATHUTIL void
00068 look_at(FLOATNAME(LQuaternion) &quat, const FLOATNAME(LVector3) &fwd,
00069         const FLOATNAME(LVector3) &up, CoordinateSystem cs) {
00070   FLOATNAME(LMatrix3) mat3;
00071   look_at(mat3, fwd, up, cs);
00072   quat.set_from_matrix(mat3);
00073 }
00074 
00075 INLINE_MATHUTIL void
00076 heads_up(FLOATNAME(LQuaternion) &quat, const FLOATNAME(LVector3) &fwd,
00077          CoordinateSystem cs) {
00078   heads_up(quat, fwd, FLOATNAME(LVector3)::up(cs), cs);
00079 }
00080 
00081 INLINE_MATHUTIL void
00082 look_at(FLOATNAME(LQuaternion) &quat, const FLOATNAME(LVector3) &fwd,
00083         CoordinateSystem cs) {
00084   look_at(quat, fwd, FLOATNAME(LVector3)::up(cs), cs);
00085 }
00086 

Generated on Fri May 2 00:40:29 2003 for Panda by doxygen1.3