Equalizer 1.0
|
00001 00002 /* Copyright (c) 2007-2011, Stefan Eilemann <eile@equalizergraphics.com> 00003 * 2010, Cedric Stalder <cedric.stalder@gmail.com> 00004 * 00005 * This library is free software; you can redistribute it and/or modify it under 00006 * the terms of the GNU Lesser General Public License version 2.1 as published 00007 * by the Free Software Foundation. 00008 * 00009 * This library is distributed in the hope that it will be useful, but WITHOUT 00010 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00011 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 00012 * details. 00013 * 00014 * You should have received a copy of the GNU Lesser General Public License 00015 * along with this library; if not, write to the Free Software Foundation, Inc., 00016 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00017 */ 00018 00019 #ifndef EQFABRIC_TYPES_H 00020 #define EQFABRIC_TYPES_H 00021 00022 #include <eq/fabric/api.h> 00023 #include <co/base/refPtr.h> 00024 #include <co/base/uint128_t.h> 00025 00026 #define VMMLIB_CUSTOM_CONFIG 00027 #ifndef NDEBUG 00028 # define VMMLIB_SAFE_ACCESSORS 00029 #endif 00030 #define VMMLIB_ALIGN( var ) var 00031 #include <vmmlib/vmmlib.hpp> 00032 00033 namespace eq 00034 { 00035 namespace fabric 00036 { 00037 class ColorMask; 00038 class Frustum; 00039 class Pixel; 00040 class PixelViewport; 00041 class Projection; 00042 class Range; 00043 class RenderContext; 00044 class SubPixel; 00045 class Viewport; 00046 class Wall; 00047 class Zoom; 00048 struct DrawableConfig; 00049 00050 typedef vmml::matrix< 3, 3, double > Matrix3d; 00051 typedef vmml::matrix< 4, 4, double > Matrix4d; 00052 typedef vmml::matrix< 3, 3, float > Matrix3f; 00053 typedef vmml::matrix< 4, 4, float > Matrix4f; 00054 typedef vmml::vector< 2, int > Vector2i; 00055 typedef vmml::vector< 3, int > Vector3i; 00056 typedef vmml::vector< 4, int > Vector4i; 00057 typedef vmml::vector< 3, double >Vector3d; 00058 typedef vmml::vector< 4, double >Vector4d; 00059 typedef vmml::vector< 2, float > Vector2f; 00060 typedef vmml::vector< 3, float > Vector3f; 00061 typedef vmml::vector< 4, float > Vector4f; 00062 00063 typedef vmml::vector< 3, unsigned char > Vector3ub; 00064 typedef vmml::frustum< float > Frustumf; 00065 00066 typedef co::base::uint128_t uint128_t; 00067 00068 class Client; 00069 template< class, class > class Channel; 00070 template< class, class > class Observer; 00071 template< class, class, class > class Layout; 00072 template< class, class, class > class Segment; 00073 template< class, class, class > class View; 00074 template< class, class, class > class Window; 00075 template< class, class, class, class > class Canvas; 00076 template< class, class, class, class > class Node; 00077 template< class, class, class, class > class Pipe; 00078 template< class, class, class, class, class > class Server; 00079 template< class, class, class, class, class, class, class > class Config; 00080 template< class, class > class ElementVisitor; 00081 template< class > class LeafVisitor; 00082 template< class, class, class, class, class> class ConfigVisitor; 00083 00084 typedef co::base::RefPtr< Client > ClientPtr; 00085 typedef co::base::RefPtr< const Client > ConstClientPtr; 00086 00087 struct LayoutPath; 00088 struct NodePath; 00089 struct ObserverPath; 00090 struct PipePath; 00091 struct ViewPath; 00092 } 00093 } 00094 #endif // EQFABRIC_TYPES_H