Ejemplo n.º 1
0
PEvent ObjectBase::GetEvent (wxString name)
{
	EventMap::iterator it = m_events.find( name );
	if ( it != m_events.end() )
		return it->second;

	Debug::Print(wxT("[ObjectBase::GetEvent] Event %s not found!"),name.c_str());
	return PEvent();
}
Ejemplo n.º 2
0
void vtkInteractorStyleQuench::ToggleImages(DTISceneActorID imageId, int ShiftKeyDown)
{
	if (ShiftKeyDown) 
	{
		bool show = !_volViz->Visibility(imageId);
		_volViz->SetVisibility(imageId, show);
		
		if(!show)
			NotifyAllListeners(PEvent ( new Event(UPDATE_SURFACE_MODE_GEOMETRY) ));
		////	frame->ToggleOverlayVisibility(imageId);
		////	this->frame->SetVisibilityCheck(imageId, _Scene->GetActorFromID(imageId)->GetVisibility()?true:false);
	} 
	else
	{
		_volViz->SetActiveImage(imageId);
		NotifyAllListeners(PEvent ( new Event(UPDATE_SURFACE_MODE_GEOMETRY) ));
	}
	//this->EventCallbackCommand->SetAbortFlag(1);
	////	_Scene->GetPathwayViz()->SetIntersectionGeometry();
	_renderer->GetRenderWindow()->Render();
}
Ejemplo n.º 3
0
PEvent ObjectBase::GetEvent (wxString name)
{
	EventMap::iterator it = m_events.find( name );
	if ( it != m_events.end() )
		return it->second;

#if wxVERSION_NUMBER < 2900
	LogDebug(wxT("[ObjectBase::GetEvent] Event %s not found!"),name.c_str());
#else
    LogDebug("[ObjectBase::GetEvent] Event " + name + " not found!");
#endif
	return PEvent();
}
Ejemplo n.º 4
0
PEvent ObjectBase::GetEvent (unsigned int idx)
{
	assert (idx < m_events.size());

	EventMap::iterator it = m_events.begin();
	unsigned int i = 0;
	while (i < idx && it != m_events.end())
	{
		i++;
		it++;
	}

	if (it != m_events.end())
		return it->second;

  return PEvent();
}
Ejemplo n.º 5
0
void vtkInteractorStyleQuench::OnMouseWheelBackward()
{
	this->FindPokedRenderer(Interactor->GetEventPosition()[0], Interactor->GetEventPosition()[1]);
	_volViz->MoveActiveImage(-1);
	NotifyAllListeners(PEvent ( new Event(UPDATE_SURFACE_MODE_GEOMETRY) ));
}
Ejemplo n.º 6
0
void vtkInteractorStyleQuench::OnLeftButtonUp()
{
	vtkRenderWindowInteractor *rwi = this->Interactor;
	int x = rwi->GetEventPosition()[0];
	int y = rwi->GetEventPosition()[1];

	if(_interaction_mode == INTERACTION_DRAW_GESTURE)
	{
	  _interaction_mode = INTERACTION_IDLE;
		_GestureInteractor->EndSelect(x,y,false);
		bool pathwayVisiblity = _pathwayViz->PathwayVisibility();
		bool pointsVisiblity  = _pathwayViz->PointsVisibility();
		bool bfalse = false; _pathwayViz->SetPathwayVisibility(bfalse); _pathwayViz->SetPointsVisibility(bfalse);

		PRAPID_model model;
		if (_pathwayViz->Mode() == qPathwayViz::TOUCH_MODE) {
			model = _GestureInteractor->PruneGesture2RAPIDModel();
		} else if (_pathwayViz->Mode() == qPathwayViz::SURFACE_MODE) {
			model = _GestureInteractor->SurfaceIntersectionGesture2RAPIDModel();
		} else {
			cerr << "WARNING: Don't recognize gesture mode." << endl;
		}

		_pathwayViz->SetPathwayVisibility(pathwayVisiblity); 
		_pathwayViz->SetPointsVisibility(pointsVisiblity);

		NotifyAllListeners(PEvent ( new EventFilterPathwaysByGesture(model) ) );

		//_renderer->GetRenderWindow()->Render();
		return;
	}
	_left_button_down=0;

	_interaction_mode = INTERACTION_IDLE;
	if (!_mouse_moved)
	  _voiViz->OnClick(x,y);

	if(_interaction_mode == INTERACTION_ROI_EDIT)
	  {
	    _interaction_mode = INTERACTION_IDLE;
	    return;
	  }

	switch (this->State)  
	{
	case QIS_BEGIN_ROI_MESH:
		//	frame->EndROIMeshCreation();
		//	break;
	case VTKIS_DOLLY:
		EndDolly();
		break;
	case VTKIS_PAN:
		EndPan();
		break;
	case VTKIS_SPIN:
		EndSpin();
		break;
	case VTKIS_ROTATE:
		// only happens in mouse mode.
		EndRotate();
		break;
		//case QIS_SELECT_VIS_PANEL:
		//	break;
		//case QIS_SELECT_STATE:
		//	this->EndSelect();
		//	break;
		break;
	}
	State = VTKIS_NONE;
	_interaction_mode = INTERACTION_IDLE;
	//this->frame->RefreshViz();
}
Ejemplo n.º 7
0
/***********************************************************************
*  Method: vtkInteractorStyleQuench::OnKeyPress
*  Params: 
* Returns: void
* Effects: 
***********************************************************************/
void vtkInteractorStyleQuench::OnKeyPress()
{
	if (this->Interactor->GetControlKey())
		return;

	if(_voiViz->OnKeyDown(Interactor->GetKeyCode()))
		return;

	vtkRenderWindowInteractor *rwi = this->Interactor;
	this->FindPokedRenderer(0,0);
	vtkCamera *camera = this->CurrentRenderer->GetActiveCamera();
	switch (Interactor->GetShiftKey())
	{
	case 1: //Shift is pressed
		switch(Interactor->GetKeyCode())
		{
		case '0':
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
			NotifyAllListeners(PEvent(new EventPathwayGroupVisibilityChanged(Interactor->GetKeyCode() - '0')));
			break;

		case 'S':
			NotifyAllListeners(PEvent ( new EventToggleImagePlane(DTI_ACTOR_SAGITTAL_TOMO,1) ));
			//ToggleImages(DTI_ACTOR_SAGITTAL_TOMO,1);
			break;

		case 'C':
			NotifyAllListeners(PEvent ( new EventToggleImagePlane(DTI_ACTOR_CORONAL_TOMO,1) ));
			//ToggleImages(DTI_ACTOR_CORONAL_TOMO,1);
			break;

		case 'A':
			NotifyAllListeners(PEvent ( new EventToggleImagePlane(DTI_ACTOR_AXIAL_TOMO,1) ));
			//ToggleImages(DTI_ACTOR_AXIAL_TOMO,1);
			break;
				
		case 'W':
			_pathwayViz->IncreaseLineWidth(-1);
			break;
		}
		break;
	case 0: //Shift is not pressed
		switch(Interactor->GetKeyCode())
		{
		case '1':
		case '2':
		case '3':
		case '4':
		case '5':
		case '6':
		case '7':
		case '8':
		case '9':
			NotifyAllListeners(PEvent(new EventPathwayGroupSelected(Interactor->GetKeyCode() - '0')));
			break;

		case '0':
			NotifyAllListeners(PEvent(new EventPathwayGroupVisibilityChanged(Interactor->GetKeyCode() - '0')));
			break;

		case ',':
			_volViz->MoveActiveImage(-1);
			NotifyAllListeners(PEvent ( new Event(UPDATE_SURFACE_MODE_GEOMETRY) ));
			break;
		case '.':
			_volViz->MoveActiveImage(1);
			NotifyAllListeners(PEvent ( new Event(UPDATE_SURFACE_MODE_GEOMETRY) ));
			break;

			case 'S':
				NotifyAllListeners(PEvent ( new EventToggleImagePlane(DTI_ACTOR_SAGITTAL_TOMO,0) ));
				//ToggleImages(DTI_ACTOR_SAGITTAL_TOMO,0);
				break;
				
			case 'C':
				NotifyAllListeners(PEvent ( new EventToggleImagePlane(DTI_ACTOR_CORONAL_TOMO,0) ));
				//ToggleImages(DTI_ACTOR_CORONAL_TOMO,0);
				break;
				
			case 'A':
				NotifyAllListeners(PEvent ( new EventToggleImagePlane(DTI_ACTOR_AXIAL_TOMO,0) ));
				//ToggleImages(DTI_ACTOR_AXIAL_TOMO,0);
				break;
				
//		case 'S':
//			ToggleImages(DTI_ACTOR_SAGITTAL_TOMO,0);
//			break;
//
//		case 'C':
//			ToggleImages(DTI_ACTOR_CORONAL_TOMO,0);
//			break;
//
//		case 'A':
//			ToggleImages(DTI_ACTOR_AXIAL_TOMO,0);
//			break;

		case 'W':
			_pathwayViz->IncreaseLineWidth(1);
			break;

		case 'h':
		case 'H':
			NotifyAllListeners(PEvent ( new Event(TOGGLE_MESH_VISIBILITY) ));
			break;
			/*
		case 'v':
		case 'V': 
		  if (_voiEditor->GetEditingROIMode() == true) {
		    NotifyAllListeners(PEvent(new Event(ROI_EDIT_MODE_OFF)));
		  }
		  else {
		  NotifyAllListeners(PEvent (new Event(ROI_EDIT_MODE_ON)));
		  }
		  //ToggleROIEditingMode();
		break;
		case 'd':
		case 'D':
		  NotifyAllListeners(PEvent( new Event(ROI_DRAW_NEW_ROI)));
		//		  HandDrawROI();
		break;
		case '-':
		  //		  _voiEditor->DecreaseBrushSize();
		  //		  NotifyAllListeners(PEvent ( new Event(REFRESH_VIZ) ));
		  break;
		case '=':
		  //		  _voiEditor->IncreaseBrushSize();
		  //		  NotifyAllListeners(PEvent ( new Event(REFRESH_VIZ) ));
		  break;
			*/
		}
		break;
	}

}