GTEngineDEF.h
Go to the documentation of this file.
1 // David Eberly, Geometric Tools, Redmond WA 98052
2 // Copyright (c) 1998-2017
3 // Distributed under the Boost Software License, Version 1.0.
4 // http://www.boost.org/LICENSE_1_0.txt
5 // http://www.geometrictools.com/License/Boost/LICENSE_1_0.txt
6 // File Version: 3.0.0 (2016/06/19)
7 
8 #pragma once
9 
10 //----------------------------------------------------------------------------
11 // The platform specification.
12 //
13 // __MSWINDOWS__ : Microsoft Windows (WIN32 or WIN64)
14 // __APPLE__ : Macintosh OS X
15 // __LINUX__ : Linux or Cygwin
16 //----------------------------------------------------------------------------
17 
18 #if !defined(__LINUX__) && (defined(WIN32) || defined(_WIN64))
19 #define __MSWINDOWS__
20 
21 #if !defined(_MSC_VER)
22 #error Microsoft Visual Studio 2013 or later is required.
23 #endif
24 
25 // MSVC 6 is version 12.0
26 // MSVC 7.0 is version 13.0 (MSVS 2002)
27 // MSVC 7.1 is version 13.1 (MSVS 2003)
28 // MSVC 8.0 is version 14.0 (MSVS 2005)
29 // MSVC 9.0 is version 15.0 (MSVS 2008)
30 // MSVC 10.0 is version 16.0 (MSVS 2010)
31 // MSVC 11.0 is version 17.0 (MSVS 2012)
32 // MSVC 12.0 is version 18.0 (MSVS 2013)
33 // MSVC 14.0 is version 19.0 (MSVS 2015)
34 // Currently, projects are provided only for MSVC 12.0 and 14.0.
35 #if _MSC_VER < 1800
36 #error Microsoft Visual Studio 2013 or later is required.
37 #endif
38 
39 // Debug build values (choose_your_value is 0, 1, or 2)
40 // 0: Disables checked iterators and disables iterator debugging.
41 // 1: Enables checked iterators and disables iterator debugging.
42 // 2: (default) Enables iterator debugging; checked iterators are not relevant.
43 //
44 // Release build values (choose_your_value is 0 or 1)
45 // 0: (default) Disables checked iterators.
46 // 1: Enables checked iterators; iterator debugging is not relevant.
47 //
48 // #define _ITERATOR_DEBUG_LEVEL choose_your_value
49 
50 #endif // WIN32 or _WIN64
51 
52 // TODO: Windows DLL configurations have not yet been added to the project,
53 // but these defines are required to support them (when we do add them).
54 //
55 // Add GTE_EXPORT to project preprocessor options for dynamic library
56 // configurations to export their symbols.
57 #if defined(GTE_EXPORT)
58  // For the dynamic library configurations.
59  #define GTE_IMPEXP __declspec(dllexport)
60 #else
61  // For a client of the dynamic library or for the static library
62  // configurations.
63  #define GTE_IMPEXP
64 #endif
65 
66 // Expose exactly one of these.
67 #define GTE_USE_ROW_MAJOR
68 //#define GTE_USE_COL_MAJOR
69 
70 // Expose exactly one of these.
71 #define GTE_USE_MAT_VEC
72 //#define GTE_USE_VEC_MAT
73 
74 #if (defined(GTE_USE_ROW_MAJOR) && defined(GTE_USE_COL_MAJOR)) || (!defined(GTE_USE_ROW_MAJOR) && !defined(GTE_USE_COL_MAJOR))
75 #error Exactly one storage order must be specified.
76 #endif
77 
78 #if (defined(GTE_USE_MAT_VEC) && defined(GTE_USE_VEC_MAT)) || (!defined(GTE_USE_MAT_VEC) && !defined(GTE_USE_VEC_MAT))
79 #error Exactly one multiplication convention must be specified.
80 #endif


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:01