#include <TColgp_HArray1OfPnt.hxx>
#include <Quantity_HArray1OfColor.hxx>
-class Handle_HYDROData_Bathymetry;
-class Handle_Aspect_ColorScale;
+class HYDROData_Bathymetry;
+class AIS_ColorScale;
class HYDROGUI_OCCDisplayer;
+class OCCViewer_ViewWindow;
class HYDROGUI_ShapeBathymetry : public HYDROGUI_Shape
{
public:
HYDROGUI_ShapeBathymetry( HYDROGUI_OCCDisplayer* theDisplayer,
const Handle(AIS_InteractiveContext)& theContext,
- const Handle_HYDROData_Bathymetry& theBathymetry,
+ const Handle(HYDROData_Bathymetry)& theBathymetry,
const int theZLayer = -1 );
virtual ~HYDROGUI_ShapeBathymetry();
void GetRange( double& theMin, double& theMax ) const;
- void UpdateWithColorScale( const Handle_Aspect_ColorScale& );
+ void UpdateWithColorScale( const Handle(AIS_ColorScale)& );
+
+ // Re-scale by visible points
+ void RescaleByVisible( OCCViewer_ViewWindow* );
+ // Re-scale by selected points
+ void RescaleBySelection();
+ // Custom (user) re-scale
+ void Rescale( double theMin, double theMax );
+ // Default re-scale (by all points)
+ void RescaleDefault();
+
+ void TextLabels( bool isOn );
virtual void display( const bool theIsUpdateViewer = true );
virtual void erase( const bool theIsUpdateViewer = true );
virtual void setVisible( const bool theState,
const bool theIsUpdateViewer = true );
+
+ void Build();
+
protected:
- virtual Handle_AIS_InteractiveObject createShape() const;
+ virtual Handle(AIS_InteractiveObject) createShape() const;
virtual void displayShape( const bool theIsUpdateViewer );
void setToUpdateColorScale( bool isChanged );
+ void Rescale( const QList<int>& theIndices, bool isForcedAll );
+
+ QList<int> selected() const;
private:
HYDROGUI_OCCDisplayer* myDisplayer;
- Handle_TColgp_HArray1OfPnt myCoords;
- Handle_Quantity_HArray1OfColor myColors;
+ Handle(TColgp_HArray1OfPnt) myCoords;
+ Handle(Quantity_HArray1OfColor) myColors;
+
+ double myMin;
+ double myMax;
+ bool myRangeInitialized;
};
#endif