#include "HYDROGUI_Tool.h"
#include <HYDROGUI_ShapeImage.h>
#include <HYDROGUI_ShapeBathymetry.h>
+#include <HYDROGUI_ShapeLandCover.h>
#include "HYDROGUI_Operation.h"
#include "HYDROGUI_DataObject.h"
#include "HYDROGUI_ZLayers.h"
module()->removeObjectShape( (size_t)aViewer, anObj );
}
aViewer->update();
- UpdateColorScale( aViewer );
+ if ( !module()->isLandCoversScalarMapModeOn( (size_t)aViewer ) ) {
+ UpdateColorScale( aViewer );
+ }
}
HYDROGUI_Shape* HYDROGUI_OCCDisplayer::createShape( const int theViewerId,
aResShape = new HYDROGUI_ShapeImage( theContext, Handle_HYDROData_Image::DownCast( theObject ) );
else if( theObject->IsKind( STANDARD_TYPE( HYDROData_Bathymetry ) ) )
aResShape = new HYDROGUI_ShapeBathymetry( this, theContext, Handle_HYDROData_Bathymetry::DownCast( theObject ) );
+ else if( theObject->IsKind( STANDARD_TYPE( HYDROData_LandCover ) ) ) {
+ bool isScalarMode = module()->isLandCoversScalarMapModeOn( theViewerId );
+ aResShape = new HYDROGUI_ShapeLandCover( this, theContext, Handle_HYDROData_LandCover::DownCast( theObject ), -1, isScalarMode );
+ }
else
aResShape = new HYDROGUI_Shape( theContext, theObject );
void HYDROGUI_OCCDisplayer::UpdateColorScale( const OCCViewer_Viewer* theViewer )
{
- if( !myToUpdateColorScale )
+ if( !myToUpdateColorScale || !theViewer )
return;
OCCViewer_ViewWindow* aWnd = dynamic_cast<OCCViewer_ViewWindow*>( theViewer->getViewManager()->getActiveView() );
aView->ColorScaleErase();
}
- bool isScaleColoringOn = isDisplayColorScale && !aColorScale.IsNull();
foreach( HYDROGUI_Shape* aShape, aLandCoverShapes ) {
- if ( !aShape || !aShape->isVisible() ) {
+ HYDROGUI_ShapeLandCover* aLandCoverShape =
+ dynamic_cast<HYDROGUI_ShapeLandCover*>( aShape );
+
+ if ( !aLandCoverShape || !aLandCoverShape->isVisible() ) {
continue;
}
-
+
Handle(HYDROData_LandCover) aLandCover =
- Handle(HYDROData_LandCover)::DownCast( aShape->getObject() );
+ Handle(HYDROData_LandCover)::DownCast( aLandCoverShape->getObject() );
if ( aLandCover.IsNull() ) {
continue;
}
-
+
QColor aUndefinedColor( Qt::gray );
QColor aColor = isLandCoverColoringOn ? aUndefinedColor : aLandCover->GetFillingColor();
}
}
- //@MZN aShape->update( false, false );
- aShape->setFillingColor( aColor, true, true );
+ aLandCoverShape->setFillingColor( aColor, true, true );
+ aLandCoverShape->setScalarMapModeEnabled( isLandCoverColoringOn );
+ theViewer->getAISContext()->Redisplay( aLandCoverShape->getAISObject() );
+ //theViewer->getAISContext()->UpdateCurrentViewer(); //@MZN
+ //theViewer->getAISContext()->UpdateCurrent();
+ //theViewer->getAISContext()->UpdateSelected( true );
}
myToUpdateColorScale = false;