Program: wxMaracas
Module: $RCSfile: wxMaracasSurfaceRenderingManager.cxx,v $
Language: C++
- Date: $Date: 2009/11/13 09:34:10 $
- Version: $Revision: 1.4 $
+ Date: $Date: 2010/01/21 13:54:15 $
+ Version: $Revision: 1.7 $
Copyright: (c) 2002, 2003
License:
**/
wxMaracasSurfaceRenderingManager::wxMaracasSurfaceRenderingManager(){
_renderer = NULL;
+ _interactor = NULL;
_idCount=0;
}
wxMaracasSurfaceRenderingManager::~wxMaracasSurfaceRenderingManager(){
_renderer = renderer;
}
+/**
+** Sets the renderer to manage the prop3D from the surface render
+**/
+void wxMaracasSurfaceRenderingManager::setInteractor(vtkRenderWindowInteractor* interactor){
+ _interactor = interactor;
+}
+
+
/**
** Gets the renderer to manage the prop3D from the surface render
**/
/**
** Adds a prop3D to the manager and returns the identifier
**/
-int wxMaracasSurfaceRenderingManager::addProp3D(vtkProp3D* prop3D, std::string dataname) throw(char*){
+int wxMaracasSurfaceRenderingManager::addProp3D(int idTP, vtkProp3D* prop3D, std::string dataname) throw(char*){
checkInvariant();
if(prop3D != NULL){
- wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerData(prop3D, dataname);
+ wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerData(prop3D, dataname, _interactor);
prop3Dvect.push_back(data);
_renderer->AddActor(data->getProp3D());
- data->setId(_idCount);
- _idCount++;
+ if(idTP == -1)
+ {
+ data->setId(_idCount);
+ _idCount++;
+ }
+ else
+ {
+ data->setId(idTP);
+ }
return data->getId();
}else{
throw "Check vtkProp3D file or input";
}
return -1;
}
-int wxMaracasSurfaceRenderingManager::addPropMHD(vtkImageData* imagedata, std::string dataname) throw(char*){
+int wxMaracasSurfaceRenderingManager::addPropMHD(int idTP, vtkImageData* imagedata, std::string dataname) throw(char*){
checkInvariant();
if(imagedata != NULL){
image = imagedata;
- wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerDataMhd(imagedata, dataname);
+ wxMaracasSurfaceRenderingManagerData* data = new wxMaracasSurfaceRenderingManagerDataMhd(imagedata, dataname, _interactor);
prop3Dvect.push_back(data);
_renderer->AddActor(data->getProp3D());
- data->setId(_idCount);
- _idCount++;
+ if(idTP == -1)
+ {
+ data->setId(_idCount);
+ _idCount++;
+ }
+ else
+ {
+ data->setId(idTP);
+ }
+ printf("wxMaracasSurfaceRenderingManager::addPropMHD->idSurfaceRender: %i\n", data->getId());
return data->getId();
}else{
throw "Check ImageData file or input";
}
return -1;
-
}
/**
** adds or removes an actor depending of the bool value
_renderer->Render();
}
}
+/**
+** adds or removes the surface box depending of the bool value
+**/
+void wxMaracasSurfaceRenderingManager::addRemoveSurfaceBox(int propid, bool addremove) throw(char*){
+ checkInvariant();
+
+ wxMaracasSurfaceRenderingManagerData* data = this->getViewData(propid);
+ if(data->getProp3D()!=NULL){
+ data->addRemoveSurfaceBox(addremove);
+ /*if(addremove){
+ data->
+ _renderer->AddViewProp(data->getProp3D());
+ }else{
+ _renderer->RemoveViewProp(data->getProp3D());
+ }
+ _renderer->Render();*/
+ }
+
+}
+
/**
** Changes the opacity in a prop3D
**/
}
+bool wxMaracasSurfaceRenderingManager::interactorSet(){
+ return _interactor? true:false;
+}
\ No newline at end of file