Program: wxMaracas
Module: $RCSfile: wxMaracas_ViewerWidget.cxx,v $
Language: C++
- Date: $Date: 2009/05/04 07:35:42 $
- Version: $Revision: 1.10 $
+ Date: $Date: 2009/10/16 15:17:57 $
+ Version: $Revision: 1.18 $
Copyright: (c) 2002, 2003
License:
//------------------------------------------------------------------------------------------------------------
- wxMaracas_ViewerWidget::wxMaracas_ViewerWidget(wxWindow *parent, vtkImageData* imagedata, int type)
+ wxMaracas_ViewerWidget::wxMaracas_ViewerWidget(wxWindow *parent, vtkImageData* imagedata, int type, vtkMPRBaseData *vtkmprbasedata)
: wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL)
{
wxPanel *panel = this;
mType = type;
- marImageData *marimagedata = new marImageData( imagedata );
- mvtkmprbasedata = new vtkMPRBaseData();
- mvtkmprbasedata->SetMarImageData(marimagedata);
+
+ if (vtkmprbasedata==NULL)
+ {
+ minternalVtkmprbasedata = true;
+ mvtkmprbasedata = new vtkMPRBaseData();
+ marImageData *marimagedata = new marImageData( imagedata );
+ mvtkmprbasedata->SetMarImageData(marimagedata);
+ } else {
+ minternalVtkmprbasedata = false;
+ mvtkmprbasedata = vtkmprbasedata;
+ }
+
mvtk2Dbaseview = NULL;
mvtkmpr2Dview_X = NULL;
wxMaracas_ViewerWidget::~wxMaracas_ViewerWidget()
{
- if (mvtkmprbasedata) { delete mvtkmprbasedata; }
+
+ if (minternalVtkmprbasedata==true)
+ {
+ if (mvtkmprbasedata) { delete mvtkmprbasedata; }
+ }
+
if (mvtk2Dbaseview) { delete mvtk2Dbaseview; }
if (mvtkmpr2Dview_X) { delete mvtkmpr2Dview_X; }
if (mvtkmpr2Dview_Y) { delete mvtkmpr2Dview_Y; }
if (mwidgetMesure) { delete mwidgetMesure; }
if (mvtkplane2Dview) { delete mvtkplane2Dview; }
if (mwxsphereview) { delete mwxsphereview; }
+ if (mwxvtkmpr3Dview) { delete mwxvtkmpr3Dview; }
if (mwxvtkclipping3Dview) { delete mwxvtkclipping3Dview; }
if (mwxvtk3Dbaseview_Clipping3D){ delete mwxvtk3Dbaseview_Clipping3D; }
- if (mwxvtkmpr3Dview) { delete mwxvtkmpr3Dview; }
-
}
//------------------------------------------------------------------------------------------------------------
// Methods
// return mvtk2Dbaseview->GetVtkBaseData()->GetZ();
}
+ void wxMaracas_ViewerWidget::setColorTransferFunction(vtkColorTransferFunction* colortable){
+ if(mvtkmpr2Dview_X!=NULL){
+ mvtkmpr2Dview_X->setColorTransferFunction(colortable);
+ }
+ if(mvtkmpr2Dview_Y!=NULL){
+ mvtkmpr2Dview_Y->setColorTransferFunction(colortable);
+ }
+ if(mvtkmpr2Dview_Z!=NULL){
+ mvtkmpr2Dview_Z->setColorTransferFunction(colortable);
+ }
+ if(mwxvtkmpr3Dview!=NULL){
+ mwxvtkmpr3Dview->setColorTransferFunction(colortable);
+ }
+ }
+
+ void wxMaracas_ViewerWidget::setWindowLevel(double level){
+ if(mvtkmpr2Dview_X!=NULL){
+ mvtkmpr2Dview_X->setWindowLevel(level);
+ }
+ if(mvtkmpr2Dview_Y!=NULL){
+ mvtkmpr2Dview_Y->setWindowLevel(level);
+ }
+ if(mvtkmpr2Dview_Z!=NULL){
+ mvtkmpr2Dview_Z->setWindowLevel(level);
+ }
+ /*if(mwxvtkmpr3Dview!=NULL){
+ mwxvtkmpr3Dview->setWindowLevel(level);
+ }*/
+ }
+
+ void wxMaracas_ViewerWidget::setColorLevel(double level){
+ if(mvtkmpr2Dview_X!=NULL){
+ mvtkmpr2Dview_X->setColorLevel(level);
+ }
+ if(mvtkmpr2Dview_Y!=NULL){
+ mvtkmpr2Dview_Y->setColorLevel(level);
+ }
+ if(mvtkmpr2Dview_Z!=NULL){
+ mvtkmpr2Dview_Z->setColorLevel(level);
+ }
+ /*if(mwxvtkmpr3Dview!=NULL){
+ mwxvtkmpr3Dview->setColorLevel(level);
+ }*/
+ }
+