Salome HOME
refs #1457
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ZLayers2.cxx
index 1d59e75b274ac62d033273e8b9789b817e0ac4e8..c3f547667a4c0d3fe40068d51426e40c427e08fa 100644 (file)
 #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;
@@ -33,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 );
     }