[IGSTK-Users] Get position tools

sebastian ordas sebastian.ordas at gmail.com
Thu Aug 7 17:18:41 EDT 2008


Hi Enric,

ReceptorMemberCommand is templated on the class where it is defined,
which should be inherited from igstk::Object

The "Self" typedef is defined in igstk::Object

Have you derived your class from igstk::Object ?

regards,
sebastian

On Thu, Aug 7, 2008 at 5:00 PM, Eric L. B. <eric_lb at hotmail.com> wrote:
>
> Hi again!!!
>
> I wrote about how to get the position of a tool with a Polaris Tracker.
> I has received a response, with some code which define an observer, but i
> have a little problem with this part:
>
>          typedef itk::ReceptorMemberCommand < Self > LoadedObserverType;
>
> What typedef is Self??????????
> There is an error: Undeclared identifier
>
> The whole code received is:
> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
> //  define an observer in your main class
> #include "igstkEvents.h"
> typedef itk::ReceptorMemberCommand < Self > LoadedObserverType;
> LoadedObserverType::Pointer m_TrackerToolUpdateObserver;
> // set a callback function to it
> m_TrackerToolUpdateObserver = LoadedObserverType::New();
> m_TrackerToolUpdateObserver->SetCallbackFunction( this,
> &MyClass::TrackingCallback );
> // the callback function
>
> void MyClass::TrackingCallback(const itk::EventObject & event )
> {
>   if ( igstk::TrackerToolTransformUpdateEvent().CheckEvent( &event ) )
>  {
>      typedef igstk::TransformObserver ObserverType;
>      ObserverType::Pointer transformObserver = ObserverType::New();
>      transformObserver->ObserveTransformEventsFrom( m_TrackerTool );
>      transformObserver->Clear();
>      m_TrackerTool->RequestComputeTransformTo( m_WorldReference ); // some
> reference e.g.  igstk::AxesObject::Pointer m_WorldReference;
>      if ( transformObserver->GotTransform() )
>      {
>           igstk::Transform::VectorType translation;
>          // get the translational component
>           translation = transformObserver->GetTransform().GetTranslation();
>          // get the rotational component (quaternion)
>           igstk::Transform::VersorType rotation;
>           rotation= transformObserver->GetTransform().GetRotation();
>       }
>  }
> }
> // and don't forget to add the observer to the tracker tool
> m_TrackerTool->AddObserver( igstk::TrackerToolTransformUpdateEvent(),
> m_TrackerToolUpdateObserver);
> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>
>
>
> I hope someone can help me please, or give me onother option to get
> coordinates of tools, please... :(
> Thanks, i will be waiting for some response :D
>
>
>
>
>
>
> ________________________________
> Si no te acuerdas quién quedó en traer los hielos, te urge usar Skydrive



More information about the IGSTK-Users mailing list