#include "HYDROGUI_Operation.h"
#include "HYDROGUI_DataObject.h"
#include "HYDROGUI_ZLayers.h"
+#include "HYDROGUI_Polyline.h"
#include <HYDROData_Bathymetry.h>
#include <HYDROData_Image.h>
HYDROGUI_Shape* anObjShape = module()->getObjectShape( aViewerId, theObject );
// Set Z layer
- if ( anObjShape ) {
- aCtx->SetZLayer( anObjShape->getAISObject(), theZLayerId );
+ if ( anObjShape )
+ {
+ QList<Handle(AIS_InteractiveObject)> shapes = anObjShape->getAISObjects();
+ foreach( Handle(AIS_InteractiveObject) shape, shapes )
+ aCtx->SetZLayer( shape, theZLayerId );
}
}
if( isScalarMode != isLandCoverColoringOn )
{
aLandCoverMapShape->setScalarMapModeEnabled( isLandCoverColoringOn );
- theViewer->getAISContext()->Redisplay( aLandCoverMapShape->getAISObject() );
+ theViewer->getAISContext()->Redisplay( aLandCoverMapShape->getAISObjects()[0], Standard_False );
}
}
return aColorScale;
}
+
+void HYDROGUI_OCCDisplayer::UpdatePolylines( int theViewerId, int theType, int theSize )
+{
+ OCCViewer_Viewer* aViewer = module()->getOCCViewer( theViewerId );
+ if( !aViewer )
+ return;
+
+ // Get interactive context
+ Handle(AIS_InteractiveContext) aCtx = aViewer->getAISContext();
+ if( aCtx.IsNull() )
+ return;
+
+ AIS_ListOfInteractive objs;
+ aCtx->DisplayedObjects( objs );
+ AIS_ListOfInteractive::const_iterator it = objs.begin(), last = objs.end();
+ for( ; it!=last; it++ )
+ {
+ Handle(HYDROGUI_Arrow) arr = Handle(HYDROGUI_Arrow)::DownCast( *it );
+ if( !arr.IsNull() )
+ {
+ if( theType>=0 )
+ arr->SetType( (HYDROGUI_Arrow::Type)theType );
+ if( theSize>=0 )
+ arr->SetSize( theSize );
+ aCtx->Redisplay( arr, Standard_False );
+ }
+ }
+ aCtx->UpdateCurrentViewer();
+}