/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2001-2025 German Aerospace Center (DLR) and others.3// This program and the accompanying materials are made available under the4// terms of the Eclipse Public License 2.0 which is available at5// https://www.eclipse.org/legal/epl-2.0/6// This Source Code may also be made available under the following Secondary7// Licenses when the conditions for such availability set forth in the Eclipse8// Public License 2.0 are satisfied: GNU General Public License, version 29// or later which is available at10// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later12/****************************************************************************/13/// @file GUIOSGHeader.h14/// @author Pablo Alvarez lopez15/// @date March 202116///17// Headers for OSG -- Oldest supported version is OSG 3.2.118/****************************************************************************/19#pragma once20#include <config.h>2122#ifdef HAVE_OSG2324// Define NOMIMAX, due osg may include windows.h somewhere so we need to guard against macro pollution25#ifdef WIN3226#define NOMINMAX27#endif2829// avoid certain warnings in MSVC30#ifdef _MSC_VER31// avoid warnings in clang32#ifdef __clang__33#pragma clang system_header34#endif35#pragma warning(push, 0)36#pragma warning(disable: 4275) // do not warn about the DLL interface for OSG37#pragma warning(disable: 4005) // do not warn about macro redefinition38#endif3940// OSG Headers41#include <osg/ComputeBoundsVisitor>42#include <osg/Geode>43#include <osg/Geometry>44#include <osg/Group>45#include <osg/Light>46#include <osg/LightSource>47#include <osg/Material>48#include <osg/MatrixTransform>49#include <osg/Node>50#include <osg/PositionAttitudeTransform>51#include <osg/Sequence>52#include <osg/ShadeModel>53#include <osg/State>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/FirstPersonManipulator>62#include <osgGA/KeySwitchMatrixManipulator>63//#include <osgGA/NodeTrackerManipulator>64#include <osgGA/StandardManipulator>65#include <osgGA/TerrainManipulator>66//#include <osgGA/TrackballManipulator>67#include <osgText/FadeText>68#include <osgUtil/Optimizer>69#include <osgUtil/Tessellator>70#include <osgUtil/SmoothingVisitor>71#include <osgViewer/Viewer>72#include <osgViewer/CompositeViewer>73#include <osgViewer/ViewerEventHandlers>7475// pop MSVC warnings76#ifdef _MSC_VER77#pragma warning(pop)78#endif7980// Undefine NOMIMAX81#ifdef WIN3282#undef NOMINMAX83#endif8485#endif868788