// 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;