3DLDF defines a number of data types for various reasons, e.g., for the
sake of convenience, for use in conditional compilation, or as return
values of functions. Some of these data types can be defined using
typedef
, while others are defined as structs
.
The typedefs and utility structures described in this chapter are found in pspglb.web. Others, that contain objects of types defined in 3DLDF, are described in subsequent chapters.
Synonymous either with
float
ordouble
, depending on the values of the preprocessor variablesLDF_REAL_FLOAT
andLDF_REAL_DOUBLE
. The meaning ofreal
is determined by means of conditional compilation. Ifreal
isfloat
, 3DLDF will require less memory than ifreal
isdouble
, but its calculations will be less precise.real
is “typedeffed” tofloat
by default.
All three data elements of
real_triple
arereals
. It also has two constructors, described below. There are no other member functions.
The constructor taking no arguments sets
first
,second
, andthird
to 0. The constructor taking threereal
arguments setsfirst
to a,second
to b, andthird
to c.
A
Matrix
is a 4 X 4 array ofreal
, e.g.,Matrix M;
==real M[4][4]
. It is used inclass Transform
for storing transformation matrices. See Transforms, and See Transform Reference, for more information.