1 // Created on: 2013-01-29
2 // Created by: Kirill GAVRILOV
3 // Copyright (c) 2013-2014 OPEN CASCADE SAS
5 // This file is part of Open CASCADE Technology software library.
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
16 #ifndef _OpenGl_Vec_H__
17 #define _OpenGl_Vec_H__
19 #include <Graphic3d_Vec.hxx>
21 typedef Graphic3d_Vec2i OpenGl_Vec2i;
22 typedef Graphic3d_Vec3i OpenGl_Vec3i;
23 typedef Graphic3d_Vec4i OpenGl_Vec4i;
25 typedef Graphic3d_Vec2b OpenGl_Vec2b;
26 typedef Graphic3d_Vec3b OpenGl_Vec3b;
27 typedef Graphic3d_Vec4b OpenGl_Vec4b;
29 typedef Graphic3d_Vec2u OpenGl_Vec2u;
30 typedef Graphic3d_Vec3u OpenGl_Vec3u;
31 typedef Graphic3d_Vec4u OpenGl_Vec4u;
33 typedef Graphic3d_Vec2ub OpenGl_Vec2ub;
34 typedef Graphic3d_Vec3ub OpenGl_Vec3ub;
35 typedef Graphic3d_Vec4ub OpenGl_Vec4ub;
37 typedef Graphic3d_Vec2 OpenGl_Vec2;
38 typedef Graphic3d_Vec3 OpenGl_Vec3;
39 typedef Graphic3d_Vec4 OpenGl_Vec4;
41 typedef Graphic3d_Vec2d OpenGl_Vec2d;
42 typedef Graphic3d_Vec3d OpenGl_Vec3d;
43 typedef Graphic3d_Vec4d OpenGl_Vec4d;
45 typedef Graphic3d_Mat4 OpenGl_Mat4;
46 typedef Graphic3d_Mat4d OpenGl_Mat4d;
50 //! Tool class for selecting appropriate vector type.
51 //! \tparam T Numeric data type
52 template<class T> struct VectorType
57 template<> struct VectorType<Standard_Real>
59 typedef OpenGl_Vec2d Vec2;
60 typedef OpenGl_Vec3d Vec3;
61 typedef OpenGl_Vec4d Vec4;
64 template<> struct VectorType<Standard_ShortReal>
66 typedef OpenGl_Vec2 Vec2;
67 typedef OpenGl_Vec3 Vec3;
68 typedef OpenGl_Vec4 Vec4;
71 //! Tool class for selecting appropriate matrix type.
72 //! \tparam T Numeric data type
73 template<class T> struct MatrixType
78 template<> struct MatrixType<Standard_Real>
80 typedef OpenGl_Mat4d Mat4;
83 template<> struct MatrixType<Standard_ShortReal>
85 typedef OpenGl_Mat4 Mat4;
89 #endif // _OpenGl_Vec_H__