[IGSTK-Users] Displaying spatial objects in 2D views

Patrick Cheng cheng at isis.georgetown.edu
Mon Mar 26 09:04:48 EDT 2007


Hi Sophie,

Because the initial camera focus point is set to (0,0,0)
If your object is at location:

transform.SetTranslation (100, 0.1, 1000);

The object will appear at one of the four corners depending on the view 
orientation(Axial, Coronal, and Sagittal). Because the camera will try 
to accommodate everything in the window.

I will try your code to see if there is any issue of the cone object.

Patrick

---------- Original Message ----------------------------------
From: "Sophie Blestel" <sophie.blestel at gmail.com>
Date:  Mon, 26 Mar 2007 11:22:53 +0200

 >Hi,
 >
 >I try to display a cone in 3D and 2D views, with a location and 
orientation
 >given. But on the 2D views the cone remains in the origin (on the 
right high
 >corner ) (on the 3D views it is well represented).
 >
 >This is my code :
 >
 >First I declare and initialise the cone :
 >    ConeType::Pointer m_Cone = ConeType::New();
 >    ConeRepresentationType::Pointer m_ConeRepresentation     =
 >ConeRepresentationType::New();
 >
 >    transform.SetTranslation (100, 0.1, 1000);
 >
 >    m_Cone->RequestSetTransform( transform );
 >    m_ConeRepresentation->RequestSetConeObject( m_Cone );
 >
 >
 >I create my 4 views (Axial, Sagittal, Coronal and 3D) in a file .FL as
 >follows :
 >    Fl_Box DisplaySagittal {
 >          label {Display Sagittal}
 >          xywh {550 0 380 330} box FLAT_BOX color 0 labelcolor 7
 >          class {igstk::View2D}     }
 >
 >Then I set the orientation ok the 2D views :
 >    DisplayAxial->RequestSetOrientation( View2D::Axial );
 >    DisplaySagittal->RequestSetOrientation( View2D::Sagittal );
 >    DisplayCoronal->RequestSetOrientation( View2D::Coronal );
 >
 >And I add the cone representation to the 2D and 3D views :
 >    DisplayAxial->RequestAddObject( m_ConeRepresentation );   // if I do
 >m_ConeRepresentation->Copy() the cone disappears
 >    DisplaySagittal->RequestAddObject( m_ConeRepresentation );
 >    DisplayCoronal->RequestAddObject( m_ConeRepresentation );
 >    Display3D->RequestAddObject( m_ConeRepresentation );
 >
 >For each view, I do :
 >    DisplaySagittal->RequestResetCamera();
 >    DisplaySagittal->Update();
 >    DisplaySagittal->RequestEnableInteractions();
 >    DisplaySagittal->RequestSetRefreshRate( 20 );
 >    DisplaySagittal->RequestStart();
 >
 >And this is my loop :
 >    while(m_tms->mainWindow->visible())
 >    {
 >        Fl::wait(0.05);
 >        igstk::PulseGenerator::CheckTimeouts();
 >        Fl::check();
 >    }
 >
 >
 >Thanks for helping me,
 >
 >Sophie
 >
 >
 >



More information about the IGSTK-Users mailing list