INT PAL 0052383: TC7.4.0: color is not changed in VTK scene

This commit is contained in:
mpa 2014-04-17 12:59:38 +04:00
parent a0b00a029a
commit 4748f26964
3 changed files with 27 additions and 16 deletions

View File

@ -85,7 +85,20 @@
else \
str = QString(); }
#define VTK_DISPLAY_MODE_TO_STRING( str, dm ) { \
#define USE_VISUAL_PROP_MAP
#ifdef USE_VISUAL_PROP_MAP
#define VTK_DISPLAY_MODE_TO_STRING( str, dm ) { \
if ( dm == 0 ) \
str = QString( "Wireframe" ); \
else if ( dm == 1 ) \
str = QString( "Shading" ); \
else if ( dm == 2 ) \
str = QString( "ShadingWithEdges" ); \
else \
str = QString(); }
#else
#define VTK_DISPLAY_MODE_TO_STRING( str, dm ) { \
if ( dm == 0 ) \
str = QString( "Wireframe" ); \
else if ( dm == 1 ) \
@ -94,8 +107,7 @@
str = QString( "ShadingWithEdges" ); \
else \
str = QString(); }
#define USE_VISUAL_PROP_MAP
#endif
GEOMGUI_Selection::GEOMGUI_Selection()
: LightApp_Selection()

View File

@ -1059,7 +1059,7 @@ void GEOM_Displayer::updateActorProperties( GEOM_Actor* actor, bool create )
}
// - standalone edge color
c = propMap.value( GEOM::propertyName( GEOM::WireframeColor ) ).value<QColor>();
c = propMap.value( GEOM::propertyName( GEOM::LineColor ) ).value<QColor>();
actor->SetIsolatedEdgeColor( c.redF(), c.greenF(), c.blueF() );
c = propMap.value( GEOM::propertyName( GEOM::WireframeColor ) ).value<QColor>();

View File

@ -309,9 +309,9 @@ setDisplayMode(int theMode)
if ( theMode == (int)eShadingWithEdges ) {
// Coloring edges
myIsolatedEdgeActor->GetProperty()->SetColor(myEdgesInShadingColor[0],
myEdgesInShadingColor[1],
myEdgesInShadingColor[2]);
myIsolatedEdgeActor->GetProperty()->SetColor(myIsolatedEdgeColor[0],
myIsolatedEdgeColor[1],
myIsolatedEdgeColor[2]);
myOneFaceEdgeActor->GetProperty()->SetColor(myEdgesInShadingColor[0],
myEdgesInShadingColor[1],
myEdgesInShadingColor[2]);
@ -757,7 +757,6 @@ void GEOM_Actor::SetPointColor(double r, double g, double b)
void GEOM_Actor::SetIsolatedEdgeColor(double r, double g, double b)
{
myIsolatedEdgeColor[0] = r; myIsolatedEdgeColor[1] = g; myIsolatedEdgeColor[2] = b;
if ( myDisplayMode != (int)eShadingWithEdges )
myIsolatedEdgeActor->GetProperty()->SetColor(r, g, b);
}