//_actualInstant = NULL;
_numberOfVariablesStatistics = 6+1;
+ _refLineControl = NULL;
+ _refLineModel = NULL;
+ _refLineView = NULL;
+
// set up default notebook style
// m_notebook_style =wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_EXTERNAL_MOVE | wxNO_BORDER;
// m_notebook_theme = 0;
// _editionToolsPanel = NULL;
// _listViewPanel = NULL;
// _sceneManager = NULL;
- //_actualInstant = NULL;
+// _actualInstant = NULL;
+
+ _refLineControl = NULL;
+ _refLineModel = NULL;
+ _refLineView = NULL;
// set up default notebook style
m_notebook_style =wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_EXTERNAL_MOVE | wxNO_BORDER;
}
void wxContourMainFrame :: deleteContour( std::string theKeyName ){
- /*manualContourModel * cModel;
+ /*
+ manualContourModel * cModel;
manualViewBaseContour * cViewer;
manualContourBaseControler * cControler;
{
std::string cloneName = kernelManager->createCopyContourOf( anExistingKName, instantNoTouchData );
manualContourModel * manualModel = kernelManager->getOutlineByKeyName(cloneName);
- manualContourModel * refModel = kernelManager->getOutlineByKeyName(_refName);
- manualPoint * refPoint1 = refModel->GetManualPoint(0);
- manualPoint * refPoint2 = refModel->GetManualPoint(1);
+ manualPoint * refPoint1 = _refLineModel->GetManualPoint(0);
+ manualPoint * refPoint2 = _refLineModel->GetManualPoint(1);
double pnt1X = refPoint1->GetX();
double pnt1Y = refPoint1->GetY();
+ double pnt1Z = refPoint1->GetZ();
double pnt2X = refPoint2->GetX();
double pnt2Y = refPoint2->GetY();
+ double pnt2Z = refPoint2->GetZ();
+
double angle = (atan2(pnt2Y - pnt1Y, pnt2X - pnt1X) * 180 / 3.1415926535897932384626433832795)+90;
-printf("ang=%f\n",angle);
vtkTransform *t = vtkTransform::New();
t->PostMultiply();
//Creates a reference line to be used as the axis of the mirroring
void wxContourMainFrame::referenceLine()
{
-/*
wxBusyCursor wait;
double spc[3];
-
+
vtkImageData *vtkimagedata = _theViewPanel->getImageData();
- vtkimagedata->UpdateInformation();
- vtkimagedata->SetUpdateExtent(vtkimagedata->GetWholeExtent());
- vtkimagedata->Update();
- vtkImageData _data = vtkimagedata;
- _data->GetSpacing(spc);
- //_vtkbasedata_1 = new vtkBaseData();
- //_vtkbasedata_1->SetMarImageData(marimagedata);
- //_imageviewer2D_1->SetVtkBaseData( _vtkbasedata_1 );
- //_imageviewer2D_1->Configure();
-
-
- // Contorno 1
- manualContourControler _manContourControl_1 = new manualContourControler();
- manualContourModel _mContourModel_1 = new manualContourModel();
- manualViewContour _mViewContour_1 = new manualViewContour();
- _mViewContour_1->SetModel( _mContourModel_1 );
-// _mViewContour_1->SetWxVtkBaseView( _imageviewer2D_1 );
- _mViewContour_1->SetRange( 2 );
- _mViewContour_1->SetZ( 1200 );
-
-
-//EED 3 oct 2006
- _mViewContour_1->SetSpacing(spc);
-
-
-//EED 3 oct 2006
- _mViewContour_1->SetColorNormalContour(0, 0, 1);
- _mViewContour_1->SetColorEditContour(0, 0.5, 0.5);
-
- _manContourControl_1->SetModelView( _mContourModel_1 , _mViewContour_1 );
-// _imageviewer2D_1->GetInteractorStyleBaseView()->AddInteractorStyleMaracas( _manContourControl_1 );
- _manContourControl_1->CreateNewManualContour();
- _manContourControl_1->SetActive(false);
- _mViewContour_1->RefreshContour();
-
- // Rectangulo
-// _manRoiControl = new manualRoiControler();
-// _mContourModel = new manualContourModel();
-// _mViewRoi = new manualViewRoi();
- _mViewRoi->SetModel( _mContourModel );
- _mViewRoi->SetWxVtkBaseView( _imageviewer2D_1 );
- _mViewRoi->SetRange( 2 );
- _mViewRoi->SetZ( 1200 );
-
-//EED 3 oct 2006
- _mViewRoi->SetSpacing(spc);
-
-// _manRoiControl->SetModelView( _mContourModel , _mViewRoi );
-// _imageviewer2D_1->GetInteractorStyleBaseView()->AddInteractorStyleMaracas( _manRoiControl );
-// _manRoiControl->CreateNewManualContour();
-// _manRoiControl->SetActive(true);
-// _mViewRoi->RefreshContour();
-
-CreateNewPoint( 0,0);
-
- Refresh();
+ vtkimagedata->GetSpacing(spc);
-*/
+ wxVtkBaseView * viewer2D = _theViewPanel->getWxVtkBaseView();
+ _refLineControl = new manualLineControler();
+ _refLineModel = new manualContourModelLine();
+ _refLineView = new manualViewLine();
+ _refLineView->SetModel( _refLineModel );
+ _refLineView->SetWxVtkBaseView( viewer2D );
+ _refLineView->SetRange( 2 );
+ _refLineView->SetZ( 1200 );
+ _refLineView->SetSpacing(spc);
+ _refLineView->SetColorNormalContour(0, 0, 1);
+ _refLineView->SetColorEditContour(0, 0.5, 0.5);
+ _refLineView->SetWidthLine(4);
+ _refLineControl->SetModelView( _refLineModel , _refLineView );
+ viewer2D->GetInteractorStyleBaseView()->AddInteractorStyleMaracas( _refLineControl );
+ _refLineModel->SetCloseContour(false);
+ _refLineControl->CreateNewManualContour();
+/*
+ double z = _refLineControl->GetZ();
- //Crea una linea de referencia
- manualContourModel * refLine = kernelManager->factoryManualContourModel(6);
+ _refLineModel->AddPoint(50,100,z);
+ _refLineModel->AddPoint(80,40,z);
- std::vector<int> instantVector;
- _instantPanel->getInstant( instantVector );
- std::string nameLine = kernelManager->createOutline(refLine, instantVector);
- bool addedModel = nameLine.compare("") != 0;
- if( addedModel )
- {
- double spc[3];
- _theViewPanel->getSpacing(spc);
- _theViewPanel->getSceneManager()->configureViewControlTo( nameLine, refLine,spc , 6);
- }
+ _refLineControl->AddPoint(50,100,z);
+ _refLineControl->AddPoint(80,40,z);
- _refName = nameLine;
+ _refLineView->UpdateViewPoint(0);
+ _refLineView->UpdateViewPoint(1);
+ _refLineControl->SetCompleteCreation(true);
+ _refLineControl->SetEditable(true);
+*/
+ _refLineControl->SetActive(true);
+ _refLineView->RefreshContour();
+}
+
+//Hides the referenceLine
+void wxContourMainFrame::refLineHide()
+{
+ if (_refLineControl!=NULL)
+ {
+ _refLineView->RemoveCompleteContourActor();
+ }
}
+//Shows the referenceLine
+void wxContourMainFrame::refLineShow()
+{
+ if (_refLineControl!=NULL)
+ {
+ wxVtkBaseView * viewer2D = _theViewPanel->getWxVtkBaseView();
+
+ _refLineView->SetModel( _refLineModel );
+ _refLineView->SetWxVtkBaseView( viewer2D );
+ _refLineView->SetRange( 2 );
+ _refLineView->SetZ( 1200 );
+
+ _refLineControl->SetModelView( _refLineModel , _refLineView );
+ viewer2D->GetInteractorStyleBaseView()->AddInteractorStyleMaracas( _refLineControl );
+ _refLineControl->CreateNewManualContour();
+ //_refLineControl->SetActive(true);
+ //_refLineControl->SetEditable(true);
+ _refLineView->RefreshContour();
+ }
+}
void wxContourMainFrame::onMirror()
{
//AD:02-09
std::vector<std::string> currentSelection = _theViewPanel->getSelectedObjects();
std::vector<std::string> filterCurrentSelection;
-
- std::vector<std::string>::iterator iter;
- for (iter=currentSelection.begin(); iter!=currentSelection.end(); ++iter)
- {
- //Diferente de la linea de referencia
- if ((_refName.compare(*iter))!=0)
- {
- filterCurrentSelection.push_back(*iter);
- }
- }
std::vector<int> tempVector;
_instantPanel->getInstant( tempVector );
_performingOperation->reset();
_performingOperation->setStartCommand( COPY );
_performingOperation->setStartOperationInstantVector( tempVector );
- _performingOperation->setKeyNamesOperationElems( filterCurrentSelection );
+ _performingOperation->setKeyNamesOperationElems( currentSelection );
- //AD:02-09
char theStartCommand = _performingOperation->getStartCommand();
if ( theStartCommand == COPY )
{
}
}
- deleteContour( _refName );
- _refName = "";
+ //deleteContour( _refName );
+ //_refName = "";
}
void wxContourMainFrame::showAxis(bool show){