[IGSTK-Developers] Sandbox: TwoViews example not working

Luis Ibanez luis.ibanez at kitware.com
Fri Sep 9 17:49:36 EDT 2005


Hi Julien,

This has been fixed now.

The TrackingBox.h file that is duplicated between
the HelloWorld and the TwoView application had
evolved independently in both directories.

The one in HelloWorld had the call to the method
"Open()" in the mouse tracker, while the one in
TwoViews was missing that call.

The error that was displayed by the State Machine
indicated that the SM was receiving a request for
an  (input, state) pair for which there were no
transitions defined.

This brings up the issue again of whether we should
have a dense transition matrix where inappropiate
inputs trigger error messages to be sent to the
logger. Those messages could be much more meaningful
that those sent from the state machine.

In this case, for example, a Tracker can *only* go
from the state

            IdleState

to the state

            AttemtingToStablishCommunicationState

by receiving the input

            EstablishCommunicationInput

which in its turn can only be produced by invoking
the method "Open()" in the tracker.

BTW this method should rather be called
RequestStablishCommunication() or at least RequestOpen()
in order to be consistent with the naming elsewere in the
toolkit. The "Request" wording of the method will reinforce
the notion that the action may or may not happen.

So, in this particular case, the Tracker could have done
a bit of self-diagnosis and log a message saying:


    "You have missed to invoke the Open() method,
     or a previous invokation of the Open() method
     had failed".


This kind of self-diagnosis is probably something that we
could obtain from the SM testing tools that Kevin Gary
has been looking at. E.g. for those states that have
a limited number of ways to get out of, it is easy to
indicate what may be going wrong when unexpected inputs
are received.



There are chances that we can get rid of the TrackingBox.h
class, now that the views have their own pulse generator
that triggers refresh call at a specified rate.



    Luis



---------------------
Julien Jomier wrote:
> Hello,
> 
> I forgot to bring that up at the T-Con.
> The TwoViews example in the sandbox is having some problems with the 
> mouse tracking (basically doesn't track anything).
> 
> If a tracker expert can take a look at it that would be great.
> On the other hand, the HelloWorld application works perfectly with mouse 
> tracking.
> 
> thanks,
> 
> Julien
> _______________________________________________
> IGSTK-Developers mailing list
> IGSTK-Developers at public.kitware.com
> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers
> 
> 




More information about the IGSTK-Developers mailing list