Salome HOME
refs #1340 part.2
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ImagePrs.cxx
index d10a6f91ff7e557d092f9e1a34bb0513aa6e02a9..9ebb95a148043548222315aff38e2f8e048ade61 100644 (file)
@@ -1,3 +1,21 @@
+// 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, 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
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
 #include "HYDROGUI_ImagePrs.h"
 
 #include <Prs3d_Root.hxx>
 
 #include <TColgp_Array1OfPnt.hxx>
 
-IMPLEMENT_STANDARD_TYPE(HYDROGUI_ImagePrs)
-    IMPLEMENT_STANDARD_SUPERTYPE_ARRAY()
-    STANDARD_TYPE(AIS_InteractiveObject),
-    STANDARD_TYPE(SelectMgr_SelectableObject),
-    STANDARD_TYPE(PrsMgr_PresentableObject),
-    STANDARD_TYPE(MMgt_TShared),
-    STANDARD_TYPE(Standard_Transient),
-    IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END()
-    IMPLEMENT_STANDARD_TYPE_END(HYDROGUI_ImagePrs)
-
-    IMPLEMENT_DOWNCAST(HYDROGUI_ImagePrs,Standard_Transient)
-    IMPLEMENT_STANDARD_RTTI(HYDROGUI_ImagePrs)
-
-    HYDROGUI_ImagePrs::HYDROGUI_ImagePrs()
-    : AIS_InteractiveObject()
+IMPLEMENT_STANDARD_RTTIEXT(HYDROGUI_ImagePrs, AIS_InteractiveObject)
+
+HYDROGUI_ImagePrs::HYDROGUI_ImagePrs()
+  : AIS_InteractiveObject()
 {
 }
 
@@ -83,7 +90,7 @@ void HYDROGUI_ImagePrs::ComputeSelection( const Handle(SelectMgr_Selection)& the
         for ( int i = 0; i < myContour.size(); i++ )
             aPoints.SetValue( aPoints.Lower() + i, convert( myContour[i] ) );
 
-        Handle(Select3D_SensitiveFace) aSensitiveFace = new Select3D_SensitiveFace( anOwner, aPoints );
+        Handle(Select3D_SensitiveFace) aSensitiveFace = new Select3D_SensitiveFace( anOwner, aPoints, Select3D_TOS_INTERIOR );
         theSelection->Add( aSensitiveFace );
     }
 }
@@ -95,13 +102,11 @@ void HYDROGUI_ImagePrs::Compute( const Handle(PrsMgr_PresentationManager3d)&,
     aPrs->Clear();
     Handle(Graphic3d_Group) aGroup = Prs3d_Root::CurrentGroup( aPrs );
 
+    if( myImage.IsNull() )
+      return;
+
     if ( aMode == 0 )
     {
-//        Handle(Graphic3d_AspectLine3d) aLineAspect =
-//            new Graphic3d_AspectLine3d( Quantity_NOC_WHITE, Aspect_TOL_SOLID, 1.0 );
-
-//        aGroup->SetGroupPrimitivesAspect( aLineAspect );
-
         Handle(Graphic3d_ArrayOfPolylines) aSegments = new Graphic3d_ArrayOfPolylines( 5 );
         aSegments->AddVertex( convert( myContour[0] ) );
         aSegments->AddVertex( convert( myContour[1] ) );