#include "HYDROGUI_ColorDlg.h"
#include "HYDROGUI_DataModel.h"
#include "HYDROGUI_Module.h"
-#include "HYDROGUI_Tool.h"
+#include "HYDROGUI_Tool2.h"
#include "HYDROGUI_UpdateFlags.h"
#include <HYDROData_Object.h>
if ( theObject.IsNull() )
return false;
- bool isCanBeColored = false;
- if ( theObject->IsKind( STANDARD_TYPE(HYDROData_LandCoverMap) ) ) {
- size_t anActiveViewId = HYDROGUI_Tool::GetActiveOCCViewId( theModule );
- isCanBeColored = !theModule->isLandCoversScalarMapModeOn( anActiveViewId );
- }
+ bool isCanBeColored =
+ theObject->IsKind( STANDARD_TYPE(HYDROData_Object) ) ||
+ theObject->IsKind( STANDARD_TYPE(HYDROData_IPolyline) );
- return isCanBeColored ||
- theObject->IsKind( STANDARD_TYPE(HYDROData_Object) ) ||
- theObject->IsKind( STANDARD_TYPE(HYDROData_IPolyline) );
+ return isCanBeColored;
}
void HYDROGUI_SetColorOp::startOperation()
Handle(HYDROData_IPolyline) aPolyObject =
Handle(HYDROData_IPolyline)::DownCast( myEditedObject );
- aFirstColor = aPolyObject->GetWireColor();
+ //aFirstColor = aPolyObject->GetWireColor();
+
+ if (aPolyObject->NbSections() > 0)
+ aPolyObject->GetSectionColor(0, aFirstColor);
+ else
+ aFirstColor = aPolyObject->GetWireColor();
anIsOneColor = true;
}
Handle(HYDROData_IPolyline) aPolyObject =
Handle(HYDROData_IPolyline)::DownCast( myEditedObject );
- aPolyObject->SetWireColor( aFirstColor );
+ //aPolyObject->SetWireColor( aFirstColor );
+ int nbSec = aPolyObject->NbSections();
+ if (nbSec > 0)
+ {
+ for (int i = 0; i < nbSec; i++)
+ aPolyObject->SetSectionColor(i, aFirstColor);
+ }
+ else
+ aPolyObject->SetWireColor( aFirstColor );
}
else if ( myEditedObject->IsKind( STANDARD_TYPE(HYDROData_LandCoverMap) ) )
{