X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FvtkBaseData.cxx;h=dfc847270e8e5f066b60dfd036eae91d10b3cf4d;hb=f9901e756bb82bd333310b47607875331616bb29;hp=5fe3f8b3b017a7fbf0847ddf95bd767285267964;hpb=e77de07035ebe4d02e3fb389bd1ce7e0c1e083bd;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkBaseData.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkBaseData.cxx index 5fe3f8b..dfc8472 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkBaseData.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkBaseData.cxx @@ -1,12 +1,41 @@ +/*# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Sant�) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ #include "vtkBaseData.h" +//------------------------------------------------------------------- vtkBaseData::vtkBaseData() { - - _z = 0; - _t = 0; - _marImageData = NULL; + _z = 0; + _t = 0; + _marImageData = 0; + _interpolate = true; + _fixAxis2D = false; + _opacityAxis = 1.0; + _observable = vtkObject::New(); + _cameraparallelScale = 100.0; } //------------------------------------------------------------------- @@ -24,8 +53,15 @@ void vtkBaseData::SetMarImageData(marImageData *marimagedata) //------------------------------------------------------------------- vtkImageData* vtkBaseData::GetImageData() { - return _marImageData->GetImageDataT(_t); + if(_marImageData) + { + return _marImageData->GetImageDataT(_t); + }else{ + return 0; + } + } + //------------------------------------------------------------------- marImageData* vtkBaseData::GetMarImageData() { @@ -36,10 +72,32 @@ marImageData* vtkBaseData::GetMarImageData() void vtkBaseData::Configure() // virtual { + vtkImageData* imageData = _marImageData->GetImageData(); + if(imageData !=NULL) + { + double range[2]; + imageData->GetScalarRange(range); + if (range[1]<20000){ + //EED Borrame + //_imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow( (range[1]-range[0])/2 ); + //_imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel( (range[1]+range[0])/4 ); + SetColorWindow( (range[1]-range[0])/2 ); + SetColorLevel( (range[1]+range[0])/4 ); + } else { + //EED Borrame + //_imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow( 1000 ); + //_imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel( 500 ); + SetColorWindow( 1000 ); + SetColorLevel( 500 ); + + } // range + } // img } //------------------------------------------------------------------- -void vtkBaseData::SetZ(double z){ +void vtkBaseData::SetZ(double z) +{ + //int maxZ; // int dim[3]; @@ -47,6 +105,9 @@ void vtkBaseData::SetZ(double z){ // maxZ=dim[2]; int ext[6]; + double *origin; + + vtkImageData* img = _marImageData->GetImageData(); if(img!=NULL){ /*img->GetWholeExtent(ext); @@ -63,28 +124,33 @@ void vtkBaseData::SetZ(double z){ _z=z;*/ img->GetExtent(ext); + origin = img->GetOrigin(); if (z > ext[5]) { - z = ext[5]; + z = ext[5] + origin[2]; } if (z < ext[4]) { - z = ext[4]; + z = ext[4] + origin[2]; } _z=z; + _observable->InvokeEvent(3); } } + //------------------------------------------------------------------- double vtkBaseData::GetZ() { return _z; } + //------------------------------------------------------------------- int vtkBaseData::GetT() { return _t; } + //------------------------------------------------------------------- void vtkBaseData::SetT(double t) { @@ -100,3 +166,85 @@ void vtkBaseData::SetT(double t) _t=(int)t; } +//------------------------------------------------------------------- +void vtkBaseData::SetColorWindow(double colorWindow) +{ + _colorWindow = colorWindow; +} + +//------------------------------------------------------------------- +void vtkBaseData::SetColorLevel(double colorLevel) +{ + _colorLevel=colorLevel; +} + +//------------------------------------------------------------------- +double vtkBaseData::GetColorWindow() +{ + return _colorWindow; +} + +//------------------------------------------------------------------- +double vtkBaseData::GetColorLevel() +{ + return _colorLevel; +} + + +//------------------------------------------------------------------- +void vtkBaseData::AddObserver(int eventNumber, vtkCommand *observer) +{ + _observable->AddObserver( eventNumber , observer ); + //Configure(); +} + +//------------------------------------------------------------------- +bool vtkBaseData::GetInterpolate() +{ + return _interpolate; +} + +//------------------------------------------------------------------- +void vtkBaseData::SetInterpolate(bool value) +{ + _interpolate = value; +} + +//------------------------------------------------------------------- +bool vtkBaseData::GetFixAxis2D() +{ + return _fixAxis2D; +} + +//------------------------------------------------------------------- +void vtkBaseData::SetFixAxis2D(bool value) +{ + _fixAxis2D = value; +} + +//------------------------------------------------------------------- +double vtkBaseData::GetOpacityAxis() +{ + return _opacityAxis; +} + +//------------------------------------------------------------------- +void vtkBaseData::SetOpacityAxis(double value) +{ + _opacityAxis = value; +} + +//------------------------------------------------------------------- +double vtkBaseData::GetCameraParallelScale() +{ + return _cameraparallelScale; +} + +//------------------------------------------------------------------- +void vtkBaseData::SetCameraParallelScale(double value) +{ + _cameraparallelScale=value; +} + + +