Eclipse SUMO - Simulation of Urban MObility
GUIOSGHeader.h
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3// Copyright (C) 2001-2022 German Aerospace Center (DLR) and others.
4// This program and the accompanying materials are made available under the
5// terms of the Eclipse Public License 2.0 which is available at
6// https://www.eclipse.org/legal/epl-2.0/
7// This Source Code may also be made available under the following Secondary
8// Licenses when the conditions for such availability set forth in the Eclipse
9// Public License 2.0 are satisfied: GNU General Public License, version 2
10// or later which is available at
11// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13/****************************************************************************/
18// Headers for OSG -- Oldest supported version is OSG 3.2.1
19/****************************************************************************/
20#pragma once
21#include <config.h>
22
23#ifdef HAVE_OSG
24
25// Define NOMIMAX, due osg may include windows.h somewhere so we need to guard against macro pollution
26#ifdef WIN32
27#define NOMINMAX
28#endif
29
30// avoid certain warnings in MSVC
31#ifdef _MSC_VER
32// avoid warnings in clang
33#ifdef __clang__
34#pragma clang system_header
35#endif
36#pragma warning(push, 0)
37#pragma warning(disable: 4127) // do not warn about constant conditional expression
38#pragma warning(disable: 4275) // do not warn about the DLL interface for OSG
39#pragma warning(disable: 4005) // do not warn about macro redefinition
40#endif
41
42// OSG Headers
43#include <osg/ComputeBoundsVisitor>
44#include <osg/Geode>
45#include <osg/Geometry>
46#include <osg/Group>
47#include <osg/Light>
48#include <osg/LightSource>
49#include <osg/Material>
50#include <osg/Node>
51#include <osg/PositionAttitudeTransform>
52#include <osg/Sequence>
53#include <osg/ShadeModel>
54#include <osg/ShapeDrawable>
55#include <osg/Texture2D>
56#include <osg/Vec4>
57#include <osg/Version>
58#include <osg/ref_ptr>
59#include <osgDB/ReadFile>
60#include <osgDB/WriteFile>
61#include <osgGA/NodeTrackerManipulator>
62#include <osgGA/TerrainManipulator>
63#include <osgGA/TrackballManipulator>
64#include <osgUtil/Tessellator>
65#include <osgUtil/SmoothingVisitor>
66#include <osgViewer/Viewer>
67#include <osgViewer/ViewerEventHandlers>
68
69// pop MSVC warnings
70#ifdef _MSC_VER
71#pragma warning(pop)
72#endif
73
74// Undefine NOMIMAX
75#ifdef WIN32
76#undef NOMINMAX
77#endif
78
79#endif