+/*# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */
+
//----------------------------------------------------------------------------------------------------------------
// Class definition include
//----------------------------------------------------------------------------------------------------------------
DEFINE_EVENT_TYPE( wxINSTANT_CHANGE )
-
-
+
+
//------------------------------------------------------------------------------------------------------------
// Constructors & Destructors
//------------------------------------------------------------------------------------------------------------
- /*{
-
- showingVID = theShowingImage;
- int gapH = 20;
- int gapV = 10;
- createHorizontalBar(1,80);
- createVerticalBar(1,200);
- createViewPanel();
-
- wxFlexGridSizer * panelSizer = new wxFlexGridSizer(3,1,0,0);
- panelSizer->AddSpacer(gapV);
- panelSizer -> AddGrowableCol(1);
- panelSizer->Add(theViewPanel, 1, wxEXPAND);
- panelSizer->AddSpacer(gapV);
-
- wxFlexGridSizer * downSizer = new wxFlexGridSizer(1,3,gapV,gapH);
- downSizer->Add(_verticalBar, 1, wxEXPAND);
- //downSizer->AddSpacer(gapH);
- downSizer -> AddGrowableCol(1);
- downSizer->Add(panelSizer, 1, wxEXPAND|wxALL|wxCENTER);
- //downSizer->AddSpacer(gapH);
- outSizer = new wxFlexGridSizer(3,1,1,1);
- outSizer->Add(_horizontalBar, 1, wxEXPAND);
- outSizer -> AddGrowableRow(1);
- outSizer -> AddGrowableCol(1);
- outSizer->Add(downSizer, 1, wxEXPAND);
-
- _horizontalBar->setDeviceBlitStart( _verticalBar->GetWidth() + gapH, gapV);
- _horizontalBar->setDeviceEndMargin( gapH+10 );
-
- //Connecting the events to the horizontal bar
- Connect(_horizontalBar->GetId(),wxEVT_TSBAR,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onBarrange_Horizontal );
- Connect(_horizontalBar->GetId(),wxEVT_TSBAR_ACTUAL,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onActualChange_Bar_Horizontal );
- Connect(_horizontalBar->GetId(),wxEVT_TSBAR_START,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onStartChange_Bar_Horizontal );
- Connect(_horizontalBar->GetId(),wxEVT_TSBAR_END,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onEndChange_Bar_Horizontal );
- Connect(_horizontalBar->GetId(),wxEVT_SELECTION_END,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onSelectionEnd_Horizontal );
- Connect(_horizontalBar->GetId(),wxEVT_TSBAR_MOVED,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onMovedBar_Horizontal );
-
- //Connecting the events to the vertical bar
- Connect(_verticalBar->GetId(),wxEVT_TSBAR,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onBarrange_Vertical );
- Connect(_verticalBar->GetId(),wxEVT_TSBAR_ACTUAL,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onActualChange_Bar_Vertical );
- Connect(_verticalBar->GetId(),wxEVT_TSBAR_START,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onStartChange_Bar_Vertical );
- Connect(_verticalBar->GetId(),wxEVT_TSBAR_END,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onEndChange_Bar_Vertical );
- Connect(_verticalBar->GetId(),wxEVT_SELECTION_END,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onSelectionEnd_Vertical );
- Connect(_verticalBar->GetId(),wxEVT_TSBAR_MOVED,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onMovedBar_Vertical );
-
-
- this->SetAutoLayout( true );
- SetSizer( outSizer );
- this->Layout();
-
- SetSize(900,700);
- theViewPanel->SetSize(800,600);
- theViewPanel->GetWindow(1)->SetSize(800,600);
-
- outSizer->Fit( this );
- SetBackgroundColour(wxColour(255,0,0));
-
- }*/
- //:wxScrolledWindow(parent, -1, pos, size, style)
- wxContourViewPanel :: wxContourViewPanel ( vtkImageData * theShowingImage, wxWindow *parent, const wxPoint& pos, const wxSize& size,long style, int vertStart, int vertEnd, int horzStart, int horzEnd )
- :wxPanel(parent, -1, pos, size, style)
- {
+ //:wxScrolledWindow(parent, -1, pos, size, style)
+ wxContourViewPanel::wxContourViewPanel ( vtkImageData * theShowingImage, wxWindow *parent, const wxPoint& pos, const wxSize& size,long style, int vertStart, int vertEnd, int horzStart, int horzEnd )
+ :wxPanel(parent, -1, pos, size, style)
+ {
theShowingImage->GetSpacing(last_spacing);
-
- showingVID = theShowingImage;
- int gapH = 20;
- int gapV = 10;
- _verticalConceptName = "";
- _horizontalConceptName = "";
+ showingVID = theShowingImage;
+ _before = false;
+ _after = false;
+ int gapH = 20;
+ int gapV = 10;
+ _verticalConceptName = "";
+ _horizontalConceptName = "";
createHorizontalBar(1,80);
createVerticalBar(1,200);
createViewPanel();
- _eventHandler = NULL;
-
- wxFlexGridSizer * panelSizer = new wxFlexGridSizer(1, 4, gapV, gapH);
+ _eventHandler = NULL;
+ wxFlexGridSizer * panelSizer = new wxFlexGridSizer(1,4, gapV, gapH);
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
panelSizer -> AddGrowableCol(2);
panelSizer -> AddGrowableRow(2);
- panelSizer->Add(_verticalBar, 1, wxGROW);
+#else
+ panelSizer -> AddGrowableRow(0,1);
+ panelSizer -> AddGrowableCol(2,1);
+#endif
+ panelSizer->Add(_verticalBar, 0, wxEXPAND);
panelSizer->AddSpacer(gapV);
- panelSizer->Add(theViewPanel, 1, wxGROW);
+ panelSizer->Add(theViewPanel, 1, wxEXPAND);
panelSizer->AddSpacer(gapV);
-
outSizer = new wxFlexGridSizer(3, 1, gapH, gapV);
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
outSizer -> AddGrowableCol(1);
outSizer -> AddGrowableRow(1);
- outSizer->Add( _horizontalBar, 1, wxGROW);
- outSizer->Add( panelSizer, 1, wxGROW);
+#else
+ outSizer -> AddGrowableRow(1,1);
+ outSizer -> AddGrowableCol(0,1);
+#endif
+ outSizer->Add( _horizontalBar, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT|wxTOP);
+ outSizer->Add( panelSizer, 1, wxEXPAND);
outSizer->AddSpacer(gapH);
-
_horizontalBar->setDeviceBlitStart( _verticalBar->GetWidth() + 2*gapH, gapV);
_horizontalBar->setDeviceEndMargin( 2*gapH+10 );
-
//Connecting the events to the horizontal bar
Connect(_horizontalBar->GetId(),wxEVT_TSBAR,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onBarrange_Horizontal );
Connect(_horizontalBar->GetId(),wxEVT_TSBAR_ACTUAL,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onActualChange_Bar_Horizontal );
Connect(_horizontalBar->GetId(),wxEVT_TSBAR_END,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onEndChange_Bar_Horizontal );
Connect(_horizontalBar->GetId(),wxEVT_SELECTION_END,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onSelectionEnd_Horizontal );
Connect(_horizontalBar->GetId(),wxEVT_TSBAR_MOVED,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onMovedBar_Horizontal );
-
+
//Connecting the events to the vertical bar
Connect(_verticalBar->GetId(),wxEVT_TSBAR,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onBarrange_Vertical );
Connect(_verticalBar->GetId(),wxEVT_TSBAR_ACTUAL,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onActualChange_Bar_Vertical );
Connect(_verticalBar->GetId(),wxEVT_TSBAR_END,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onEndChange_Bar_Vertical );
Connect(_verticalBar->GetId(),wxEVT_SELECTION_END,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onSelectionEnd_Vertical );
Connect(_verticalBar->GetId(),wxEVT_TSBAR_MOVED,(wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onMovedBar_Vertical );
-
-
this->SetSizer( outSizer );
this->SetAutoLayout( true );
this->Layout();
-
//SetSize(1900,1900);
//theViewPanel->SetSize(800,600);
//theViewPanel->GetWindow(1)->SetSize(800,600);
-
- //outSizer->Fit( this );
-
+ //outSizer->Fit( this );
initializeScenceManager();
}
-
+
wxContourViewPanel :: ~wxContourViewPanel()
{
-
+ delete _sceneManager;
}
- void wxContourViewPanel::initializeScenceManager(){
-
+ void wxContourViewPanel::initializeScenceManager()
+ {
//_theViewPanel = theViewPanel;
//_theViewPanel->setWxEventHandler( this );
-
double spc[3];
this->getSpacing(spc);
_sceneManager = new wxVtkBaseView_SceneManager ( this->getWxVtkBaseView(), this, spc );
-
Connect( this->GetId(), wxINSTANT_CHANGE, (wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onChangeInstant );
Connect( wxID_ANY, wxEVT_START_CREATE_MULT_ROI, (wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onCreateMultipleROI );
Connect( wxID_ANY, wxEVT_START_CREATE_ROI, (wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onCreateROI );
Connect( wxID_ANY, wxEVT_STOP_CREATE_ROI, (wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onStopCreateROI );
Connect( wxID_ANY, wxEVT_CHANGED_DEEP, (wxObjectEventFunction) (wxCommandEventFunction) &wxContourViewPanel::onChangedDeep );
- Connect( wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxContourViewPanel :: onActionButtonPressed );
-
+ Connect( wxID_ANY, wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxContourViewPanel :: onActionButtonPressed );
}
- wxVtkBaseView_SceneManager* wxContourViewPanel::getSceneManager(){
+ wxVtkBaseView_SceneManager* wxContourViewPanel::getSceneManager()
+ {
return _sceneManager;
}
//------------------------------------------------------------------------------------------------------------
// Creational and initialization methods
//------------------------------------------------------------------------------------------------------------
-
+
void wxContourViewPanel :: setWxEventHandler( wxEvtHandler * theEventHandler )
{
_eventHandler = theEventHandler;
//------------------------------------------------------------------------------------------------------------
void wxContourViewPanel::createViewPanel()
- {
+ {
std::vector<int> * numViews = new std::vector<int> ();
- numViews->push_back(2);
- theViewPanel = new wxMaracas_N_ViewersWidget( this, showingVID, numViews );
+ numViews->push_back(0);
+ theViewPanel = new wxMaracas_N_ViewersWidget( this, showingVID, numViews );
SetVisibleAxis(false);
theViewPanel->SetBackgroundColour(wxColour(0,0,0));
theViewPanel->SetSize(800,600);
theViewPanel->GetWindow(1)->SetSize(800,600);
-
+
}
//------------------------------------------------------------------------------------------------------------
void wxContourViewPanel::changeImage(vtkImageData* img){
-
+
theViewPanel->SetImage(img);
}
- wxVtkMPR2DView * wxContourViewPanel::GetwxVtkMPR2DView()
+ wxVtkMPR2DView * wxContourViewPanel::GetwxVtkMPR2DView()
{
return (wxVtkMPR2DView *) (theViewPanel->GetwxVtkBaseView(1));
}
return GetwxVtkMPR2DView()->GetVtkmprbasedata()->GetZ();
}
+ //------------------------------------------------------------------------------------------------------------
+ void wxContourViewPanel::SetXY(int x, int y)
+ {
+ GetwxVtkMPR2DView()->GetVtkmprbasedata()->SetX(x);
+ GetwxVtkMPR2DView()->GetVtkmprbasedata()->SetY(y);
+ }
+
//------------------------------------------------------------------------------------------------------------
void wxContourViewPanel::Refresh()
{
//------------------------------------------------------------------------------------------------------------
// Methods for capturing events from the horizontal bar
//------------------------------------------------------------------------------------------------------------
-
+
/**
- * Handles the event wxEVT_TSBAR from the horizontal bar
+ * Handles the event wxEVT_TSBAR from the horizontal bar
*/
void wxContourViewPanel :: onBarrange_Horizontal(wxCommandEvent& event)
{
-
+
}
/**
- * Handles the event wxEVT_TSBAR_ACTUAL from the horizontal bar
+ * Handles the event wxEVT_TSBAR_ACTUAL from the horizontal bar
*/
void wxContourViewPanel :: onActualChange_Bar_Horizontal(wxCommandEvent& event)
{
-
+
int actual = getActualHorizontal();
wxContourMainFrame::getInstance()->onChangeInstant(_horizontalConceptName, actual);
//JCP 26 - 11 - 08
//int nxActual_h = getActualHorizontal();
-
+
//if (_eventHandler!=NULL)
//{
//-------------------------------------------------
// Sending the event of wxINSTANT_CHANGE
//-------------------------------------------------
- // wxCommandEvent newevent(wxINSTANT_CHANGE,GetId());
-
+ // wxCommandEvent newevent(wxINSTANT_CHANGE,GetId());
+
// ConceptDataWrap * cWrap = new ConceptDataWrap( _horizontalConceptName );
// cWrap->setActualValue( nxActual_h );
//JCP 26 - 11 - 08
}
/**
- * Handles the event wxEVT_TSBAR_START from the horizontal bar
+ * Handles the event wxEVT_TSBAR_START from the horizontal bar
*/
void wxContourViewPanel :: onStartChange_Bar_Horizontal(wxCommandEvent& event)
{
// int nxStart_h = getStartHorizontal();
}
/**
- * Handles the event wxEVT_TSBAR_END from the horizontal bar
+ * Handles the event wxEVT_TSBAR_END from the horizontal bar
*/
void wxContourViewPanel :: onEndChange_Bar_Horizontal(wxCommandEvent& event)
{
// int nxEnd_h = getEndHorizontal();
}
/**
- * Handles the event wxEVT_SELECTION_END from the horizontal bar
+ * Handles the event wxEVT_SELECTION_END from the horizontal bar
*/
void wxContourViewPanel :: onSelectionEnd_Horizontal(wxCommandEvent& event)
{
-
+
}
/**
- * Handles the event wxEVT_TSBAR_MOVED from the horizontal bar
+ * Handles the event wxEVT_TSBAR_MOVED from the horizontal bar
*/
void wxContourViewPanel :: onMovedBar_Horizontal(wxCommandEvent& event)
{
//------------------------------------------------------------------------------------------------------------
/**
- * Handles the event wxEVT_TSBAR from the vertical bar
+ * Handles the event wxEVT_TSBAR from the vertical bar
*/
void wxContourViewPanel :: onBarrange_Vertical(wxCommandEvent& event)
{
}
/**
- * Handles the event wxEVT_TSBAR_ACTUAL from the vertical bar
+ * Handles the event wxEVT_TSBAR_ACTUAL from the vertical bar
*/
void wxContourViewPanel :: onActualChange_Bar_Vertical(wxCommandEvent& event)
{
//-------------------------------------------------
// Sending the event of wxINSTANT_CHANGE
//-------------------------------------------------
- wxCommandEvent newevent(wxINSTANT_CHANGE,GetId());
-
+ wxCommandEvent newevent(wxINSTANT_CHANGE,GetId());
+
ConceptDataWrap * cWrap = new ConceptDataWrap( _verticalConceptName );
cWrap->setActualValue( nxActual_v );
//JCP 26 - 11 - 08
}
/**
- * Handles the event wxEVT_TSBAR_START from the vertical bar
+ * Handles the event wxEVT_TSBAR_START from the vertical bar
*/
void wxContourViewPanel :: onStartChange_Bar_Vertical(wxCommandEvent& event)
{
- int nxStart_v = getStartVertical();
+// int nxStart_v = getStartVertical();
}
/**
- * Handles the event wxEVT_TSBAR_END from the vertical bar
+ * Handles the event wxEVT_TSBAR_END from the vertical bar
*/
void wxContourViewPanel :: onEndChange_Bar_Vertical(wxCommandEvent& event)
{
- int nxEnd_v = getEndVertical();
+// int nxEnd_v = getEndVertical();
}
/**
- * Handles the event wxEVT_SELECTION_END from the vertical bar
+ * Handles the event wxEVT_SELECTION_END from the vertical bar
*/
void wxContourViewPanel :: onSelectionEnd_Vertical(wxCommandEvent& event)
{
}
/**
- * Handles the event wxEVT_TSBAR_MOVED from the vertical bar
+ * Handles the event wxEVT_TSBAR_MOVED from the vertical bar
*/
void wxContourViewPanel :: onMovedBar_Vertical(wxCommandEvent& event)
{
- int nxStart_v = getStartVertical();
- int nxEnd_v = getEndVertical();
- }
+// int nxStart_v = getStartVertical();
+// int nxEnd_v = getEndVertical();
+ }
//------------------------------------------------------------------------------------------------------------
_horizontalBar -> setRepresentedValues( minRepresented, maxRepresented );
}
}
-
+
/**
* Gets the StartVertical value
* @return The StartVertical
* @return The EndVertical
*/
int wxContourViewPanel :: getEndVertical()
- {
+ {
return _verticalBar->GetEnd();
}
/**
{
_horizontalBar->SetActual( nwValue );
}
-
+
/**
* Sets the horizontal concept values and name
* @param theHorizontalConcept The name of the concept for setting at the horizontal bar
setStartVertical( minShowed );
setEndVertical( maxShowed );
}
-
+
/**
* Sets the horizontal concept name
//return GetZ();
}
-
+
bool wxContourViewPanel::isEditableCControler(std::string theKeyName){
return _sceneManager->isEditableCControler(theKeyName);
}
void wxContourViewPanel::removeFromScene(std::string theKeyName){
-
- _sceneManager->deleteCViewerCControler(theKeyName);
-
-
+
+ _sceneManager->deleteCViewerCControler(theKeyName);
+
+
}
void wxContourViewPanel::onChangeInstant(wxCommandEvent& event){
- ConceptDataWrap * dataConcept = NULL;
+ ConceptDataWrap * dataConcept = NULL;
if ( GetId() == event.GetId() )
{
dataConcept = (ConceptDataWrap *)event.GetClientData();
{
setHorizontalConcept( dataConcept->getName(), dataConcept->getMinShowedValue()/*dataConcept->getMinValue()*/, /*dataConcept->getMaxValue()*/ dataConcept->getMaxShowedValue(), dataConcept->getMinShowedValue(), dataConcept->getMaxShowedValue(), dataConcept->getActualValue());
}
- }
+ }
wxContourMainFrame::getInstance()->changeInstant();
}
+
void wxContourViewPanel::onCreateMultipleROI (wxCommandEvent& event){
}
void wxContourViewPanel::onCreateROI (wxCommandEvent& event){
//setActualVertical( (int)val );
wxContourMainFrame::getInstance()->onChangeDeep((int)val);
//_instantPanel->setConceptValue( "Axe Depth", (int)val );
-
+
// changeInstant();
}
void wxContourViewPanel::changeDeep(){
}
void wxContourViewPanel::onActionButtonPressed(wxCommandEvent& event){
-
+
std::vector<std::string> currentSelection = _sceneManager->getSelectedObjects();
- int elementsSelected = currentSelection.size();
+// int elementsSelected = currentSelection.size();
bool ctrlKey = _sceneManager->isCtrlPressed();
char toolCommand = _sceneManager->getLastKeyCode();
- if ( toolCommand == 3 && ctrlKey ) //'C' || 'c'
+ if ( toolCommand == 3 && ctrlKey ) //'C' || 'c'
{
wxContourMainFrame::getInstance()->onCopy();
}
- else if( toolCommand == 22 && ctrlKey ) //'V' || 'v'
+ else if( toolCommand == 22 && ctrlKey ) //'V' || 'v'
{
wxContourMainFrame::getInstance()->onPaste();
}
- else if( toolCommand == 8 || (toolCommand==127) ) // backspace Delete
+ else if( toolCommand == 8 || (toolCommand==127) ) // backspace Delete
{
wxContourMainFrame::getInstance()->onDeleteContour();
}
- else if( toolCommand == 14 && ctrlKey ) //'N' || 'n'
+ else if( toolCommand == 14 && ctrlKey ) //'N' || 'n'
{
//toolCommand = &(CREATE_CONTOUR_KEY);
}
- else if( toolCommand == 15 && ctrlKey ) //'O' || 'o'
+ else if( toolCommand == 15 && ctrlKey ) //'O' || 'o'
{
wxContourMainFrame::getInstance()->onLoad();
}
- else if( toolCommand == 19 && ctrlKey ) //'S' || 's'
+ else if( toolCommand == 19 && ctrlKey ) //'S' || 's'
{
wxContourMainFrame::getInstance()->saveFileWithContoursAutomatique();
}else if( toolCommand == 26 ){
}
}
- void wxContourViewPanel::removeSceneContours(){
+ void wxContourViewPanel::removeSceneContours()
+ {
_sceneManager->removeSceneContours();
}
- void wxContourViewPanel::addNameWrapperToScene(){
- int size = wxContourMainFrame::getInstance()->getNamesWrappingSize();
- for(int i = 0; i < size;i++){
+ void wxContourViewPanel::addNameWrapperToScene()
+ {
+ int i,size = wxContourMainFrame::getInstance()->getNamesWrappingSize();
+ for(i = 0; i < size;i++)
+ {
std::string name = wxContourMainFrame::getInstance()->getNameWrapping(i);
_sceneManager->addToScene(name, true, true, true, false, false );
- }
+ } // for i
+
+ std::vector<int> tempVector;
+ wxContourMainFrame::getInstance()->getInstantVector( tempVector );
+
+ if (_before==true)
+ {
+ std::vector<std::string> lstNameBefor;
+ // Contours Befor
+ for (i=tempVector[1]-1; i>=0; i--)
+ {
+ lstNameBefor = wxContourMainFrame::getInstance()->getOutlinesName( i );
+ size = lstNameBefor.size();
+ if (size!=0)
+ {
+ i=-1;
+ } //if size
+ } // for
+ for(i = 0; i < size;i++)
+ {
+ // ctrol active showCtr
+ _sceneManager->addToScene(lstNameBefor[i], true, true, false, false, false );
+ } // for i
+ } // if _before Contour
+
+ if (_after==true)
+ {
+ std::vector<std::string> lstNameAfter;
+ // Contours After
+ int ext[6];
+ getImageData()->GetExtent(ext);
+ int dimZ=ext[5]-ext[4]+1;
+ for (i=tempVector[1]+1; i<dimZ; i++)
+ {
+ lstNameAfter = wxContourMainFrame::getInstance()->getOutlinesName( i );
+ size = lstNameAfter.size();
+ if (size!=0)
+ {
+ i=dimZ;
+ } //if size
+ } // for
+ for(i = 0; i < size;i++)
+ {
+ // ctrol active showCtr
+ _sceneManager->addToScene(lstNameAfter[i], true, true, false, false, false );
+ } // for i
+ } // if _after Contour
}
std::vector<std::string> wxContourViewPanel::getSelectedObjects(){
void wxContourViewPanel::RefreshInterface(){
getWxVtkBaseView()->Refresh();
}
-
+
vtkImageData* wxContourViewPanel::getImageData(){
return _sceneManager->GetImageData();
}
- void wxContourViewPanel::configureViewControlTo(std::string theName,manualContourModel* manModelContour,double* spc,int typeofcontour){
+ void wxContourViewPanel::configureViewControlTo(std::string theName,manualBaseModel* manModelContour,double* spc,int typeofcontour)
+ {
_sceneManager->configureViewControlTo(theName, manModelContour, spc, typeofcontour);
}
- int wxContourViewPanel::GetImageDataSizeZ(){
+ int wxContourViewPanel::GetImageDataSizeZ()
+ {
return _sceneManager->GetImageDataSizeZ();
}
- void wxContourViewPanel::GetImageDataRange(double *range){
+ void wxContourViewPanel::GetImageDataRange(double *range)
+ {
_sceneManager->GetImageDataRange(range);
}
- void wxContourViewPanel::SetWidthContour(double width ){
+ void wxContourViewPanel::SetWidthContour(double width )
+ {
_sceneManager->SetWidthContour( width );
}
- int wxContourViewPanel::getColorWindow(){
+ int wxContourViewPanel::getColorWindow()
+ {
wxVtk2DBaseView *wxvtk2dbaseview = (wxVtk2DBaseView*)getWxVtkBaseView();
vtkImageViewer2 *imageviewer = wxvtk2dbaseview->_imageViewer2XYZ->GetVtkImageViewer2();
int colorwindow = (int)imageviewer->GetWindowLevel()->GetLevel();
return colorwindow;
}
- int wxContourViewPanel::getWindowLevel(){
+ int wxContourViewPanel::getWindowLevel()
+ {
wxVtk2DBaseView *wxvtk2dbaseview = (wxVtk2DBaseView*)getWxVtkBaseView();
vtkImageViewer2 *imageviewer = wxvtk2dbaseview->_imageViewer2XYZ->GetVtkImageViewer2();
- int windowlevel = (int)imageviewer->GetWindowLevel()->GetWindow();
+ int windowlevel = (int)imageviewer->GetWindowLevel()->GetWindow();
return windowlevel;
}
- void wxContourViewPanel::onBrigthnessColorWindowLevel(int colorwindow,int windowlevel){
+ void wxContourViewPanel::onBrigthnessColorWindowLevel(int colorwindow,int windowlevel)
+ {
wxVtk2DBaseView *wxvtk2dbaseview = (wxVtk2DBaseView*)getWxVtkBaseView();
- vtkImageViewer2 *imageviewer = wxvtk2dbaseview->_imageViewer2XYZ->GetVtkImageViewer2();
- imageviewer->SetColorWindow(colorwindow);
- imageviewer->SetColorLevel(windowlevel);
+ wxvtk2dbaseview->SetColorWindow( colorwindow );
+ wxvtk2dbaseview->SetColorLevel( windowlevel );
}
- void wxContourViewPanel::onInterpolation(bool interpolate){
+ void wxContourViewPanel::onInterpolation(bool interpolate)
+ {
wxVtk2DBaseView *wxvtk2dbaseview = (wxVtk2DBaseView*)getWxVtkBaseView();
- vtkImageViewer2 *imageviewer = wxvtk2dbaseview->_imageViewer2XYZ->GetVtkImageViewer2();
+ wxvtk2dbaseview->SetInterpolate( interpolate );
+ }
- if (interpolate){
- imageviewer->GetImageActor()->InterpolateOn();
- } else {
- imageviewer->GetImageActor()->InterpolateOff();
- }
+ void wxContourViewPanel::onBeforeAfterContour(bool before, bool after)
+ {
+ _before = before;
+ _after = after;
}
- void wxContourViewPanel::GetPointsOfActualContour( std::vector<double> *vecX, std::vector<double> *vecY, std::vector<double> *vecZ ){
+ void wxContourViewPanel::GetPointsOfActualContour( std::vector<double> *vecX, std::vector<double> *vecY, std::vector<double> *vecZ )
+ {
_sceneManager->GetPointsOfActualContour(vecX, vecY, vecZ);
}
void wxContourViewPanel::setImageSlice(int z){
- _sceneManager->getWxVtkViewBase()->GetInteractorStyleBaseView()->GetWxVtk2DBaseView()->SetActualSlice(z);
+ vtkInteractorStyleBaseView* stylebaseview = (vtkInteractorStyleBaseView*) _sceneManager->getWxVtkViewBase()->GetInteractorStyleBaseView();
+ wxVtk2DBaseView* baseview = (wxVtk2DBaseView*)stylebaseview->GetWxVtk2DBaseView();
+ baseview->SetActualSlice(z);
RefreshInterface();
- }
\ No newline at end of file
+ }
+