Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GUIOSGHeader.h
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3// Copyright (C) 2001-2024 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: 4275) // do not warn about the DLL interface for OSG
38#pragma warning(disable: 4005) // do not warn about macro redefinition
39#endif
40
41// OSG Headers
42#include <osg/ComputeBoundsVisitor>
43#include <osg/Geode>
44#include <osg/Geometry>
45#include <osg/Group>
46#include <osg/Light>
47#include <osg/LightSource>
48#include <osg/Material>
49#include <osg/MatrixTransform>
50#include <osg/Node>
51#include <osg/PositionAttitudeTransform>
52#include <osg/Sequence>
53#include <osg/ShadeModel>
54#include <osg/State>
55#include <osg/ShapeDrawable>
56#include <osg/Texture2D>
57#include <osg/Vec4>
58#include <osg/Version>
59#include <osg/ref_ptr>
60#include <osgDB/ReadFile>
61#include <osgDB/WriteFile>
62#include <osgGA/FirstPersonManipulator>
63#include <osgGA/KeySwitchMatrixManipulator>
64//#include <osgGA/NodeTrackerManipulator>
65#include <osgGA/StandardManipulator>
66#include <osgGA/TerrainManipulator>
67//#include <osgGA/TrackballManipulator>
68#include <osgText/FadeText>
69#include <osgUtil/Optimizer>
70#include <osgUtil/Tessellator>
71#include <osgUtil/SmoothingVisitor>
72#include <osgViewer/Viewer>
73#include <osgViewer/CompositeViewer>
74#include <osgViewer/ViewerEventHandlers>
75
76// pop MSVC warnings
77#ifdef _MSC_VER
78#pragma warning(pop)
79#endif
80
81// Undefine NOMIMAX
82#ifdef WIN32
83#undef NOMINMAX
84#endif
85
86#endif