Panda3D
 All Classes Functions Variables Enumerations
luse.h
1 // Filename: luse.h
2 // Created by: drose (13Jan99)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #ifndef LUSE_H
16 #define LUSE_H
17 
18 ////////////////////////////////////////////////////////////////////
19 //
20 // This file defines a number of vector-based classes that are
21 // designed for specific uses. These all inherit from
22 // LVecBase[234][fd], which is the base of all linear algebra vectors.
23 //
24 // LPoint[234][fd]
25 //
26 // This should be used to represent a specific point in space. It
27 // inherits most properties from LVecBase.
28 //
29 // LVector[234][fd]
30 //
31 // This should be used to represent a vector, or a distance between
32 // two points in space.
33 //
34 // The distinction between LPoint and LVector is worth emphasizing.
35 // They differ in some subtle typing behavior (vector - vector =
36 // vector, point + vector = point, point - point = vector) and also in
37 // the way they are transformed when multiplied by a matrix (a point
38 // gets the translation component of the matrix, while the vector does
39 // not). Also, vector has length() and normalize() functions defined
40 // for it, while point does not.
41 //
42 // LPoint and LVector should be used whenever the concept of "point"
43 // or "vector" applies. If neither applies--for instance, if you are
44 // storing a plane equation or some such nonsense--use the base class,
45 // LVecBase.
46 //
47 // This file also typedefs the following:
48 //
49 // Vertex[fd]
50 // Normal[fd]
51 // TexCoord[fd]
52 // Color[fd]
53 // RGBColor[fd]
54 //
55 // These classes are typedefs of LPoint or LVector, as appropriate,
56 // and are intended to store a specific kind of rendering attribute.
57 // (Color is a four-component color; RGBColor is three-component.)
58 //
59 ////////////////////////////////////////////////////////////////////
60 
61 // All of the guts is actually defined in this other header file,
62 // which is not intended to be included directly by the user.
63 #include "aa_luse.h"
64 
65 #endif
66