_layerimagebase->SetX( vtkmprbasedata->GetX() );
_layerimagebase->SetY( vtkmprbasedata->GetY() );
_layerimagebase->SetZ( vtkmprbasedata->GetZ() );
- _layerimagebase->onThresholdChange();
+ _layerimagebase->onThresholdChange();
} // if basedata
} // if wxvtkbaseview
LayerImageBase::LayerImageBase()
{
_actorPresent = false;
- _X = 0;
- _Y = 0;
- _Z = 0;
+ _X = -1;
+ _Y = -1;
+ _Z = -1;
_thresholdTable = NULL;
_thresholdMapper = NULL;
_scalarbarActor = NULL;
spcBase[5]=0;
_image = image;
+ _image->Update();
_image->GetWholeExtent(ext);
dimensionOriginalLayer[0] = ext[1]-ext[0]+1;
dimensionOriginalLayer[1] = ext[3]-ext[2]+1;
SetDimensionBase(dimBase);
imagebase->GetSpacing(spcBase);
SetSpcBase(spcBase);
- SetX( dimBase[0]*spcBase[0]/2 );
- SetY( dimBase[1]*spcBase[1]/2 );
- SetZ( dimBase[2]*spcBase[2]/2 );
+
+ if ((_X<0) || (_X>dimBase[0])) { SetX( dimBase[0]/2 ); }
+ if ((_Y<0) || (_Y>dimBase[1])) { SetY( dimBase[1]/2 ); }
+ if ((_Z<0) || (_Z>dimBase[2])) { SetZ( dimBase[2]/2 ); }
+
+
} // if imagebase
} // if wxvtkbaseview
- _image->Update();
_image->GetScalarRange( _range );
_thresholdTable = vtkLookupTable::New();
}
+//------------------------------------------------------------------------------
+void LayerImageBase::SetColorBarPosition(std::vector<int> &colorbarposition)
+{
+ _colorBarPosition=colorbarposition;
+}
+
//------------------------------------------------------------------------------
void LayerImageBase::SetRangeForColorBar(std::vector<double> &range)
{
z = maxSize;
}
-/*
-
- if ( x > (ext[1]-ext[0]) )
- {
- z=ext[1]-ext[0];
- }
-
- if ( y > (ext[3]-ext[2]) )
- {
- z=ext[3]-ext[2];
- }
-
- if ( z > (ext[5]-ext[4]) )
- {
- z=ext[5]-ext[4];
- }
-*/
-
}
//----------------------------------------------------------------------------
double y=GetY();
double z=GetZ();
+
x = x*_spcBase[0];
y = y*_spcBase[1];
z = z*_spcBase[2];
+
CleanXYZ(x,y,z);
vtkCamera *camera = _baseView->GetRenderer()->GetActiveCamera();
directionViewer = wxvtk2dbasevie->GetDirection();
} // ParallelProjection
+
if (!GetActorPresent())
{
if (_thresholdTable==NULL)
{
_thresholdActor = vtkImageActor::New( );
_scalarbarActor = vtkScalarBarActor::New();
- _thresholdActor->SetOpacity( 0.6 );
+ if (_colorBarPosition.size()==2)
+ {
+ _scalarbarActor->SetDisplayPosition(_colorBarPosition[0],_colorBarPosition[1]);
+ } else {
+ _scalarbarActor->SetDisplayPosition(0,0);
+ }
+
+ _thresholdActor->SetOpacity( 0 );
_thresholdActor->InterpolateOn( );
+
if (directionViewer==0)
{
_thresholdActor->SetPosition( 900-1,0,0 );
{
if (_actorPresent)
{
- _thresholdActor->SetOpacity(opacity*0.1);
+ _thresholdActor->SetOpacity(opacity/100.0);
}
}