//----------------------------------------------------------------------------
void LayerImageBase::SetImage(vtkImageData* image)
{
+ double spc[3];
+ int ext[6];
_image = image;
+ _image->GetSpacing(spc);
+ _image->GetWholeExtent(ext);
+ int sx=ext[1]-ext[0]+1;
+ int sy=ext[3]-ext[2]+1;
+ int sz=ext[5]-ext[4]+1;
+ int ssx=(sx/2)*spc[0];
+ int ssy=(sy/2)*spc[1];
+ int ssz=(sz/2)*spc[2];
+ SetX( ssx );
+ SetY( ssy );
+ SetZ( ssz );
+ _image->Update();
+ _image->GetScalarRange( _range );
}
+void LayerImageBase::SetRangeForColorBar(std::vector<double> &range)
+{
+ _rangeForColorBar=range;
+}
+
+void LayerImageBase::GetRangeForColorBar(double &minRange, double &maxRange)
+{
+ if (_rangeForColorBar.size()==2)
+ {
+ minRange = _rangeForColorBar[0];
+ maxRange = _rangeForColorBar[1];
+ } else {
+ minRange = _range[0];
+ maxRange = _range[1];
+ }
+}
+
+
+
//----------------------------------------------------------------------------
void LayerImageBase::SetwxVtkBaseView(wxVtkBaseView *baseview)
{
if (_baseView==NULL)
{
_baseView = baseview;
-// Old EED 2014 11 13
-// vtkInteractorStyleBaseView *isbv = (vtkInteractorStyleBaseView*)(_baseView->GetInteractorStyleBaseView());
-// isbv->AddInteractorStyleMaracas( new ColorLayerImageBasevtkInteractor(this) );
-
ColorLayerObserver *colorlayerobserver = ColorLayerObserver::New();
_baseView->GetVtkBaseData()->AddObserver( 1, colorlayerobserver );
colorlayerobserver->SetLayerImageBase(this);