Salome HOME
projects
/
modules
/
hydro.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refs #550: fix crash when myObject is NULL
[modules/hydro.git]
/
src
/
HYDROGUI
/
HYDROGUI_Shape.cxx
diff --git
a/src/HYDROGUI/HYDROGUI_Shape.cxx
b/src/HYDROGUI/HYDROGUI_Shape.cxx
index c8cefc3d9273c40df663a57c84a4f3fce86d3a8d..60962d74b4c78ad4418c94c0adfa31cfce3f8b1c 100644
(file)
--- 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
// 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 )
void HYDROGUI_Shape::setBorderColor( const QColor& theColor,
const bool theToDisplay,
const bool theIsUpdateViewer )
-{
+{
myBorderColor = theColor;
updateShape( theToDisplay, theIsUpdateViewer );
}
myBorderColor = theColor;
updateShape( theToDisplay, theIsUpdateViewer );
}
@@
-480,15
+476,16
@@
void HYDROGUI_Shape::setZLayer( const int theZLayer )
Handle_AIS_InteractiveObject HYDROGUI_Shape::createShape() const
{
Handle_AIS_InteractiveObject HYDROGUI_Shape::createShape() const
{
- if( myTopoShape.IsNull() )
+ if( myTopoShape.IsNull() )
{
return Handle_AIS_InteractiveObject();
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()
}
void HYDROGUI_Shape::buildShape()
@@
-511,7
+508,7
@@
void HYDROGUI_Shape::buildShape()
myShape->SetDisplayMode( (AIS_DisplayMode)myDisplayMode );
// Init default params for shape
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();
if ( !anAttributes.IsNull() )
{
Handle(Prs3d_IsoAspect) anIsoAspect = anAttributes->UIsoAspect();
@@
-552,7
+549,7
@@
void HYDROGUI_Shape::updateShape( const bool theToDisplay,
if ( myShape.IsNull() )
return;
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 )
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 );
if ( myZLayer >= 0 )
myContext->SetZLayer( myShape, myZLayer );
- myContext->UpdateCurrentViewer();
+ if ( theIsUpdateViewer ) {
+ myContext->UpdateCurrentViewer();
+ }
}
QColor HYDROGUI_Shape::getActiveColor() const
}
QColor HYDROGUI_Shape::getActiveColor() const
@@
-609,7
+608,7
@@
void HYDROGUI_Shape::colorShapeBorder( const QColor& theColor )
if ( myShape.IsNull() )
return;
if ( myShape.IsNull() )
return;
- const Handle(
AIS
_Drawer)& anAttributes = myShape->Attributes();
+ const Handle(
Prs3d
_Drawer)& anAttributes = myShape->Attributes();
if ( anAttributes.IsNull() )
return;
if ( anAttributes.IsNull() )
return;