X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_Shape.cxx;h=60962d74b4c78ad4418c94c0adfa31cfce3f8b1c;hb=a53349567d67f4df0ef737798a25c24d9dc8f08e;hp=c8cefc3d9273c40df663a57c84a4f3fce86d3a8d;hpb=f662e2fdc45595b8dd6d7855f3bbd6e9a4176c77;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_Shape.cxx b/src/HYDROGUI/HYDROGUI_Shape.cxx index c8cefc3d..60962d74 100644 --- a/src/HYDROGUI/HYDROGUI_Shape.cxx +++ b/src/HYDROGUI/HYDROGUI_Shape.cxx @@ -1,8 +1,4 @@ -// Copyright (C) 2007-2015 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 @@ -448,7 +444,7 @@ QColor HYDROGUI_Shape::getFillingColor() const void HYDROGUI_Shape::setBorderColor( const QColor& theColor, const bool theToDisplay, const bool theIsUpdateViewer ) -{ +{ myBorderColor = theColor; updateShape( theToDisplay, theIsUpdateViewer ); } @@ -480,15 +476,16 @@ void HYDROGUI_Shape::setZLayer( const int theZLayer ) Handle_AIS_InteractiveObject HYDROGUI_Shape::createShape() const { - if( myTopoShape.IsNull() ) + if( myTopoShape.IsNull() ) { return Handle_AIS_InteractiveObject(); - else - if ( myObject->IsKind( STANDARD_TYPE(HYDROData_PolylineXY) ) || - myObject->IsKind( STANDARD_TYPE(HYDROData_Polyline3D)) || - myObject->IsKind( STANDARD_TYPE(HYDROData_Profile) )) - return new HYDROGUI_Polyline(myTopoShape); - else - return new AIS_Shape( myTopoShape ); + } + + TopAbs_ShapeEnum aShapeType = myTopoShape.ShapeType(); + if ( aShapeType==TopAbs_EDGE || aShapeType==TopAbs_WIRE ) { + return new HYDROGUI_Polyline( myTopoShape ); + } else { + return new AIS_Shape( myTopoShape ); + } } void HYDROGUI_Shape::buildShape() @@ -511,7 +508,7 @@ void HYDROGUI_Shape::buildShape() myShape->SetDisplayMode( (AIS_DisplayMode)myDisplayMode ); // Init default params for shape - const Handle(AIS_Drawer)& anAttributes = myShape->Attributes(); + const Handle(Prs3d_Drawer)& anAttributes = myShape->Attributes(); if ( !anAttributes.IsNull() ) { Handle(Prs3d_IsoAspect) anIsoAspect = anAttributes->UIsoAspect(); @@ -552,7 +549,7 @@ void HYDROGUI_Shape::updateShape( const bool theToDisplay, if ( myShape.IsNull() ) return; - const Handle(AIS_Drawer)& anAttributes = myShape->Attributes(); + const Handle(Prs3d_Drawer)& anAttributes = myShape->Attributes(); if ( !anAttributes.IsNull() ) { if ( myDisplayMode == AIS_Shaded ) @@ -591,7 +588,9 @@ void HYDROGUI_Shape::displayShape( const bool theIsUpdateViewer ) if ( myZLayer >= 0 ) myContext->SetZLayer( myShape, myZLayer ); - myContext->UpdateCurrentViewer(); + if ( theIsUpdateViewer ) { + myContext->UpdateCurrentViewer(); + } } QColor HYDROGUI_Shape::getActiveColor() const @@ -609,7 +608,7 @@ void HYDROGUI_Shape::colorShapeBorder( const QColor& theColor ) if ( myShape.IsNull() ) return; - const Handle(AIS_Drawer)& anAttributes = myShape->Attributes(); + const Handle(Prs3d_Drawer)& anAttributes = myShape->Attributes(); if ( anAttributes.IsNull() ) return;