Panda3D
pre_maya_include.h
Go to the documentation of this file.
1 /**
2  * PANDA 3D SOFTWARE
3  * Copyright (c) Carnegie Mellon University. All rights reserved.
4  *
5  * All use of this software is subject to the terms of the revised BSD
6  * license. You should have received a copy of this license along
7  * with this source code in a file named "LICENSE."
8  *
9  * @file pre_maya_include.h
10  * @author drose
11  * @date 2002-04-11
12  */
13 
14 // This header file defines a few things that are necessary to define before
15 // including any Maya headers, just to work around some of Maya's assumptions
16 // about the compiler. It must not try to protect itself from multiple
17 // inclusion with #ifdef .. #endif, since it must be used each time it is
18 // included.
19 
20 // Maya 2008 will declare some VS2005-specific hacks unless we define this.
21 #if defined(_MSC_VER) && _MSC_VER < 1400
22 #define MLIBRARY_DONTUSE_MFC_MANIFEST
23 #endif
24 
25 // Maya will try to typedef bool unless this symbol is defined.
26 #ifndef _BOOL
27 #define _BOOL 1
28 #endif
29 
30 // In Maya 5.0, the headers seem to provide the manifest REQUIRE_IOSTREAM,
31 // which forces it to use the new <iostream> headers instead of the old
32 // <iostream.h> headers. It also says this is for Linux only, but it seems to
33 // work just fine on Windows, obviating the need for sneaky #defines in this
34 // and in post_maya_include.h.
35 #ifdef PHAVE_IOSTREAM
36 #define REQUIRE_IOSTREAM
37 #endif // PHAVE_IOSTREAM
38 
39 #ifdef __MACH__
40 #define OSMac_ 1
41 // This defines MAYA_API_VERSION
42 #include <maya/MTypes.h>
43 #if MAYA_API_VERSION < 201600
44 #include <maya/OpenMayaMac.h>
45 #endif
46 #else
47 // This defines MAYA_API_VERSION
48 #include <maya/MTypes.h>
49 #endif
50 
51 #if MAYA_API_VERSION >= 20180000
52 #include <maya/MApiNamespace.h>
53 #else
54 class MObject;
55 class MDagPath;
56 class MFloatArray;
57 class MFnDagNode;
58 class MFnMesh;
59 class MFnNurbsCurve;
60 class MFnNurbsSurface;
61 class MPlug;
62 class MPointArray;
63 #endif