historical/toontown-classic.git/panda/include/luse.h
2024-01-16 11:20:27 -06:00

43 lines
1.9 KiB
C

/**
* PANDA 3D SOFTWARE
* Copyright (c) Carnegie Mellon University. All rights reserved.
*
* All use of this software is subject to the terms of the revised BSD
* license. You should have received a copy of this license along
* with this source code in a file named "LICENSE."
*
* @file luse.h
* @author drose
* @date 1999-01-13
*/
#ifndef LUSE_H
#define LUSE_H
/*
* This file defines a number of vector-based classes that are designed for
* specific uses. These all inherit from LVecBase[234][fd], which is the base
* of all linear algebra vectors. LPoint[234][fd] This should be used to
* represent a specific point in space. It inherits most properties from
* LVecBase. LVector[234][fd] This should be used to represent a vector, or a
* distance between two points in space. The distinction between LPoint and
* LVector is worth emphasizing. They differ in some subtle typing behavior
* (vector - vector = vector, point + vector = point, point - point = vector)
* and also in the way they are transformed when multiplied by a matrix (a
* point gets the translation component of the matrix, while the vector does
* not). Also, vector has length() and normalize() functions defined for it,
* while point does not. LPoint and LVector should be used whenever the
* concept of "point" or "vector" applies. If neither applies--for instance,
* if you are storing a plane equation or some such nonsense--use the base
* class, LVecBase. This file also typedefs the following: Vertex[fd]
* Normal[fd] TexCoord[fd] Color[fd] RGBColor[fd] These classes are typedefs
* of LPoint or LVector, as appropriate, and are intended to store a specific
* kind of rendering attribute. (Color is a four-component color; RGBColor is
* three-component.)
*/
// All of the guts is actually defined in this other header file, which is not
// intended to be included directly by the user.
#include "aa_luse.h"
#endif