Panda3D
Loading...
Searching...
No Matches
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
54class MObject;
55class MDagPath;
56class MFloatArray;
57class MFnDagNode;
58class MFnMesh;
59class MFnNurbsCurve;
60class MFnNurbsSurface;
61class MPlug;
62class MPointArray;
63#endif