[IGSTK-Developers] Some discussions for today's Tcon

David Gobbi dgobbi at atamai.com
Thu Feb 23 12:37:17 EST 2006


Hi Patrick,

I'll add these four issues to our weekly agenda so that the group will 
keep on reviewing them until they get fixed.  If you could add each of 
them as a bug report, that would also help.

See additional comments below:

Patrick Cheng wrote:
> Hi Guys,
>
> Some major issues I had for the demo. I put some fix in the 
> Sandbox/IGSTK/Source directory, but I want to talk about it today and 
> ask for your advice.
>
> 1. TimeStamp unite inconsistency problem
>    a. RealTimeClock get methods return value in seconds, while we are 
> using milliseconds to setup expiration time.
This is definitely something that needs to be changed.  I looked at the 
code and RealTimeClock::TimeStampType is seconds while 
TimeStamp::TimePeriodType is in milliseconds, but both types are 
"double" and if programmers mix and match them the compiler won't flag 
an error.
>    b. confusion in coding 1, unit
>       eg. in igstkView.cxx
>       renderTime.SetStartTimeNowAndExpireAfter( 1 / frequency );
>       should be:
>       renderTime.SetStartTimeNowAndExpireAfter( 1000.0 / frequency );
>    c. coding confusion 2, duration, not time
>      eg. in igstkTracker.cxx
>       toolTransform.SetTranslationAndRotation(translation, rotation,
>                           transform.GetError(),
>                           transform.GetExpirationTime());
>       Should be:
>       toolTransform.SetTranslationAndRotation(translation, rotation,
>                           transform.GetError(),
>                           (transform.GetExpirationTime()-
>                           transform.GetStartTime())*1000);
To enforce the difference between "absolute" time and "duration" time, 
we might need to introduce a new class type for each.  These classes 
would just be a container for "double", but they would enforce correct 
usage.
> 2. Constant & Dynamic transform implementation problem, and transform 
> multiplication
This has been discussed, we need to revisit it.  IGSTK needs some way to 
recognize certain transforms as non-expiring.
> 3. ObjectRepresentation state machine refactoring. TimeStamp is not a 
> property of represenatation class, we should eliminate the following 
> states.
>   //igstkAddStateMacro( ValidTimeStamp );
>   //igstkAddStateMacro( InvalidTimeStamp );
>   //igstkAddStateMacro( AttemptingUpdatePositionAndVisible );
>   //igstkAddStateMacro( AttemptingUpdatePositionAndInvisible );
>
> 4. TubeObject problem, Is the geometry really in SpatialObject class? 
> We have a problem here.
I'm not familiar with these two issues, so I will leave them for other 
people to discuss. 

 - David



More information about the IGSTK-Developers mailing list