temp commit
[SARndbox.git] / Types.h
blob84034f3f51db333c9b6b0270fadb47374bd97e33
1 /***********************************************************************
2 Types - Declarations of data types exchanged between the AR Sandbox
3 modules.
4 Copyright (c) 2014 Oliver Kreylos
6 This file is part of the Augmented Reality Sandbox (SARndbox).
8 The Augmented Reality Sandbox is free software; you can redistribute it
9 and/or modify it under the terms of the GNU General Public License as
10 published by the Free Software Foundation; either version 2 of the
11 License, or (at your option) any later version.
13 The Augmented Reality Sandbox is distributed in the hope that it will be
14 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 General Public License for more details.
18 You should have received a copy of the GNU General Public License along
19 with the Augmented Reality Sandbox; if not, write to the Free Software
20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 ***********************************************************************/
23 #ifndef TYPES_INCLUDED
24 #define TYPES_INCLUDED
26 #include <Geometry/Point.h>
27 #include <Geometry/Vector.h>
28 #include <Geometry/Plane.h>
29 #include <Geometry/OrthogonalTransformation.h>
30 #include <Geometry/ProjectiveTransformation.h>
32 typedef double Scalar; // Scalar type for geometry objects
33 typedef Geometry::Point<Scalar, 3> Point; // Type for 3D affine points
34 typedef Geometry::Vector<Scalar, 3> Vector; // Type for 3D affine vectors
35 typedef Geometry::Plane<Scalar, 3> Plane; // Type for 3D affine planes
36 typedef Geometry::OrthogonalTransformation<Scalar, 3>
37 OGTransform; // Type for 3D scaled rigid body transformations
38 typedef Geometry::ProjectiveTransformation<Scalar, 3>
39 PTransform; // Type for 3D projective transformations (4x4 matrices)
41 #endif