// Leo de disco ambos cortes
bicotiImageImplementation2D<char> * ptr_image1;
bicotiImageImplementation2D<char> * ptr_image2;
ptr_image1 = new bicotiImageImplementation<char>(0);
ptr_image2 = new bicotiImageImplementation<char>(0);
bicotiDevice * ptr_device;
ptr_device = new bicotiDeviceFile();
ptr_device->SetSource("file://home/corte1.bmp");
bicotiMapperBMP<char> mapper;
mapper.SetDevice(ptr_device);
mapper.SetImplementation(ptr_image1);
mapper.Read();
ptr_device->SetSource("file://home/corte2.bmp");
mapper.SetImplementation(ptr_image2);
mapper.Read();
delete ptr_device;
// Cargo ptr_image3 y ptr_image4 con los cortes y su ancho
bicotiImageImplementation3D<char> * ptr_image3;
bicotiImageImplementation3D<char> * ptr_image4;
..........................
..Convierto a 3D..........
..........................
delete ptr_image1;
delete ptr_image2;
// Creo los actores y cargo en ellos la informacion adecuada
bicotiActor3D * ptr_actor1;
bicotiActor3D * ptr_actor2;
bicotiConverter3DTriangular converter;
converter.SetImplementation(ptr_image3);
ptr_actor1 = converter.CreateActor();
converter.SetImplementation(ptr_image4);
ptr_actor2 = converter.CreateActor();
delete ptr_image3;
delete ptr_image4;
// Creo el visualizador para VTK
bicotiVisualization3DVTK visualizator;
....(Seteos de camara, luz, etc)....
visualizator.AddPickableActor(ptr_actor1,x1,y1,z1,phi1,lambda1,etc1);
visualizator.AddPickableActor(ptr_actor2,x2,y2,z2,phi2,lambda2,etc2);
// Supongamos que el usuario implemento un bicotiMouseListener que se
// encargue de interpretar los eventos del mouse y generar en el
// visualizador los giros o movimientos adecuados
ptr_actor1->SetMouseListener(mouse_listener1);
ptr_actor2->SetMouseListener(mouse_listener2);
// Comienza la visualizacion e interaccion
visualizator.Render();
......................................
...Se recupera el estado final........
... y se crea la imagen nueva ........
......................................
delete ptr_actor1;
delete ptr_actor2;