Salome HOME
Merge branch 'BR_1328' into BR_DEMO
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ZLayers2.cxx
index 323aa4a3503e2c0cbd400b1d0a2298e938345c4c..c3f547667a4c0d3fe40068d51426e40c427e08fa 100644 (file)
@@ -1,12 +1,8 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015  EDF-R&D
 // 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 <AIS_InteractiveObject.hxx>
 #include <AIS_ListOfInteractive.hxx>
 #include <AIS_ListIteratorOfListOfInteractive.hxx>
+#include <AIS_Trihedron.hxx>
 #include <PrsMgr_PresentationManager3d.hxx>
+#include <Basics_OCCTVersion.hxx>
 
-void UpdateZLayersOfHilightPresentationsOfDisplayedObjects( const Handle_AIS_InteractiveContext& theContext,
+void UpdateZLayersOfHilightPresentationsOfDisplayedObjects( const Handle(AIS_InteractiveContext)& theContext,
                                                             int theLayer )
 {
   AIS_ListOfInteractive aDisplayedObjects;
@@ -37,10 +35,15 @@ void UpdateZLayersOfHilightPresentationsOfDisplayedObjects( const Handle_AIS_Int
   for ( ; aListIter.More(); aListIter.Next() )
   {
     Handle(AIS_InteractiveObject) aPrsObj = aListIter.Value();
-    if( !aPrsObj.IsNull() )
+    if( !aPrsObj.IsNull() && !aPrsObj->IsKind( STANDARD_TYPE(AIS_Trihedron) ) )
     {
       int aMode = aPrsObj->HasHilightMode() ? aPrsObj->HilightMode() : 0;
-      theContext->MainPrsMgr()->Color( aPrsObj, Quantity_NOC_YELLOW, aMode );
+#if OCC_VERSION_LARGE < 0x07010000
+      Quantity_NameOfColor aStyle = Quantity_NOC_YELLOW;
+#else
+      Handle(Graphic3d_HighlightStyle) aStyle = new Graphic3d_HighlightStyle( Aspect_TOHM_COLOR, Quantity_NOC_YELLOW );
+#endif
+      theContext->MainPrsMgr()->Color( aPrsObj, aStyle, aMode );
       SetPrsZLayer( aPrsObj, aMode, theLayer );
       theContext->MainPrsMgr()->Unhighlight( aPrsObj, aMode );
     }