-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#include <windows.h>
#endif
+#ifdef __APPLE__
+#include <OpenGL/gl.h>
+#else
#include <GL/gl.h>
+#endif
#include "OCCViewer_Trihedron.h"
#include <PrsMgr_PresentationManager3d.hxx>
-#ifndef WIN32
+#if !defined WIN32 && !defined __APPLE__
# include <GL/glx.h>
#endif
#define PI 3.14159265359
-IMPLEMENT_STANDARD_HANDLE( OCCViewer_Trihedron, AIS_InteractiveObject )
-IMPLEMENT_STANDARD_RTTIEXT( OCCViewer_Trihedron, AIS_InteractiveObject )
+OCCT_IMPLEMENT_STANDARD_RTTIEXT( OCCViewer_Trihedron, AIS_InteractiveObject )
/*!
* Constructor
/*!
* Sets the bounding box (MinMax values).
*/
+#if OCC_VERSION_LARGE > 0x06070100 // for OCC-6.7.2 and higher version
+void OCCViewer_Trihedron::bounds( Graphic3d_BndBox4f& theMinMax ) const
+{
+ Graphic3d_Vec4 aMinPt (-1.f, -1.f, -1.f, 1.f);
+ Graphic3d_Vec4 aMaxPt (1.f, 1.f, 1.f, 1.f);
+
+ theMinMax.Add (aMinPt);
+ theMinMax.Add (aMaxPt);
+}
+#else
void OCCViewer_Trihedron::bounds( Graphic3d_CBounds& aMinMax ) const
{
Standard_Real aXMin = -1, aYMin = -1, aZMin = -1;
Standard_Real aXMax = 1, aYMax = 1, aZMax = 1;
-
+
if( aMinMax.XMin > aXMin ) aMinMax.XMin = aXMin;
if( aMinMax.YMin > aYMin ) aMinMax.YMin = aYMin;
if( aMinMax.ZMin > aZMin ) aMinMax.ZMin = aZMin;
if( aMinMax.YMax < aYMax ) aMinMax.YMax = aYMax;
if( aMinMax.ZMax < aZMax ) aMinMax.ZMax = aZMax;
}
+#endif
/*!
* Redefined method. Calculates the object presentation.
bool ok = false;
GLuint aList = glGenLists( 256 );
-#ifdef WIN32
+#if defined(WIN32)
HGLRC hglrc = wglGetCurrentContext();
if( hglrc )
{
SelectObject( hdc, oldFont );
DeleteObject( font );
}
-#else // X Window
+#elif !defined(__APPLE__) // X Window
Display* dpy = glXGetCurrentDisplay();
if( dpy )
{