#include "HYDROGUI_VTKPrsDisplayer.h"
#include "HYDROGUI_AbstractDisplayer.h"
#include "HYDROGUI_PolylineOp.h"
+#include "HYDROGUI_SetColorOp.h"
#include <HYDROData_Image.h>
#include <HYDROData_Profile.h>
bool anIsStream = false;
bool anIsChannel = false;
bool anIsDigue = false;
- bool anIsGeomObject = false;
+ bool anIsDummyObject3D = false;
+ bool anIsObjectCanBeColored = false;
// check the selected GEOM objects
if ( anIsObjectBrowser && !HYDROGUI_Tool::GetSelectedGeomObjects( this ).isEmpty() ) {
anIsChannel = true;
else if( anObjectKind == KIND_DIGUE )
anIsDigue = true;
+ else if( anObjectKind == KIND_DUMMY_3D )
+ anIsDummyObject3D = true;
}
- anIsGeomObject = HYDROData_Tool::IsGeometryObject( anObject );
+ if ( !anIsObjectCanBeColored )
+ anIsObjectCanBeColored = HYDROGUI_SetColorOp::CanObjectBeColored( anObject );
}
// Check if all selected objects are profiles
}
// Add set color action for geometrical objects
- if ( anIsGeomObject )
+ if ( anIsObjectCanBeColored )
{
theMenu->addAction( action( SetColorId ) );
theMenu->addSeparator();
theMenu->addSeparator();
}
- theMenu->addAction( action( DeleteId ) );
+ if( !anIsDummyObject3D )
+ theMenu->addAction( action( DeleteId ) );
theMenu->addSeparator();
if( anIsImage || anIsPolyline || anIsPolyline3D ||
anIsImmersibleZone || anIsZone || anIsRegion ||
anIsBathymetry || anIsObstacle || anIsStream ||
- anIsChannel || anIsDigue || anIsValidProfile )
+ anIsChannel || anIsDigue || anIsDummyObject3D ||
+ anIsValidProfile )
{
if( anIsHiddenInSelection )
theMenu->addAction( action( ShowId ) );
if( theObject.IsNull() )
return;
- // Compute the new global Z range from the added presentation and the old global Z range.
- double* aGlobalRange = getVTKDisplayer()->GetZRange( theViewId );
- double* aRange = theShape->getInternalZRange();
- bool anIsUpdate = false;
- if ( aRange[0] < aGlobalRange[0] )
- {
- aGlobalRange[0] = aRange[0];
- anIsUpdate = true;
- }
- if ( aRange[1] > aGlobalRange[1] )
+ if( theShape && theShape->needScalarBar() )
{
- aGlobalRange[1] = aRange[1];
- anIsUpdate = true;
- }
+ // Compute the new global Z range from the added presentation and the old global Z range.
+ double* aGlobalRange = getVTKDisplayer()->GetZRange( theViewId );
+ double* aRange = theShape->getInternalZRange();
+ bool anIsUpdate = false;
+ if ( aRange[0] < aGlobalRange[0] )
+ {
+ aGlobalRange[0] = aRange[0];
+ anIsUpdate = true;
+ }
+ if ( aRange[1] > aGlobalRange[1] )
+ {
+ aGlobalRange[1] = aRange[1];
+ anIsUpdate = true;
+ }
- //if ( anIsUpdate )
- //{
- updateVTKZRange( theViewId, aGlobalRange );
- //}
+ //if ( anIsUpdate )
+ //{
+ updateVTKZRange( theViewId, aGlobalRange );
+ //}
+ }
ListOfVTKPrs& aViewShapes = myVTKPrsMap[ theViewId ];
aViewShapes.append( theShape );
for ( int i = 0, n = aViewShapes.length(); i < n; ++i )
{
aShape = aViewShapes.at( i );
- if ( aShape )
+ if ( aShape && aShape->needScalarBar() )
{
aShape->setZRange( theRange );
}
SVTK_Viewer* aVTKViewer = getVTKViewer( anId );
if ( aVTKViewer )
{
- getVTKDisplayer()->DeleteScalarBar( anId );
+ getVTKDisplayer()->EraseScalarBar( anId, true );
removeViewShapes( (size_t)aVTKViewer );
}
}