Panda3D

luse.h

00001 // Filename: luse.h
00002 // Created by:  drose (13Jan99)
00003 //
00004 ////////////////////////////////////////////////////////////////////
00005 //
00006 // PANDA 3D SOFTWARE
00007 // Copyright (c) Carnegie Mellon University.  All rights reserved.
00008 //
00009 // All use of this software is subject to the terms of the revised BSD
00010 // license.  You should have received a copy of this license along
00011 // with this source code in a file named "LICENSE."
00012 //
00013 ////////////////////////////////////////////////////////////////////
00014 
00015 #ifndef LUSE_H
00016 #define LUSE_H
00017 
00018 ////////////////////////////////////////////////////////////////////
00019 //
00020 // This file defines a number of vector-based classes that are
00021 // designed for specific uses.  These all inherit from
00022 // LVecBase[234][fd], which is the base of all linear algebra vectors.
00023 //
00024 // LPoint[234][fd]
00025 //
00026 //   This should be used to represent a specific point in space.  It
00027 //   inherits most properties from LVecBase.
00028 //
00029 // LVector[234][fd]
00030 //
00031 //   This should be used to represent a vector, or a distance between
00032 //   two points in space.
00033 //
00034 // The distinction between LPoint and LVector is worth emphasizing.
00035 // They differ in some subtle typing behavior (vector - vector =
00036 // vector, point + vector = point, point - point = vector) and also in
00037 // the way they are transformed when multiplied by a matrix (a point
00038 // gets the translation component of the matrix, while the vector does
00039 // not).  Also, vector has length() and normalize() functions defined
00040 // for it, while point does not.
00041 //
00042 // LPoint and LVector should be used whenever the concept of "point"
00043 // or "vector" applies.  If neither applies--for instance, if you are
00044 // storing a plane equation or some such nonsense--use the base class,
00045 // LVecBase.
00046 //
00047 // This file also typedefs the following:
00048 //
00049 // Vertex[fd]
00050 // Normal[fd]
00051 // TexCoord[fd]
00052 // Color[fd]
00053 // RGBColor[fd]
00054 //
00055 // These classes are typedefs of LPoint or LVector, as appropriate,
00056 // and are intended to store a specific kind of rendering attribute.
00057 // (Color is a four-component color; RGBColor is three-component.)
00058 //
00059 ////////////////////////////////////////////////////////////////////
00060 
00061 // All of the guts is actually defined in this other header file,
00062 // which is not intended to be included directly by the user.
00063 #include "aa_luse.h"
00064 
00065 #endif
00066 
 All Classes Functions Variables Enumerations