public void refresh(long timestamp)
{
lock (s_lock)
{
foreach (TuioObject o in m_tuioObjectAddedList)
{
DemoObject demoObject = new DemoObject(this, m_viewer, (int)o.getSessionID(), (o.getX() + OFFSET_X) * Settings.InputDevResolutionRatio, o.getY(), o.getAngle());
m_idDemoObjectTable[o.getSessionID()] = demoObject;
m_currentTuioObjects.Add(demoObject);
m_currentSelectable.Add(demoObject);
}
foreach (TuioObject o in m_tuioObjectUpdatedList)
{
m_idDemoObjectTable[o.getSessionID()].Update((o.getX() + OFFSET_X) * Settings.InputDevResolutionRatio, o.getY(), o.getAngle());
}
foreach (TuioObject o in m_tuioObjectRemovedList)
{
DemoObject demoObject = m_idDemoObjectTable[o.getSessionID()];
demoObject.Remove((o.getX() + OFFSET_X) * Settings.InputDevResolutionRatio, o.getY(), o.getAngle());
m_idDemoObjectTable.Remove(o.getSessionID());
m_currentTuioObjects.Remove(demoObject);
m_currentSelectable.Remove(demoObject);
foreach (DemoObjectLink link in demoObject.Links)
m_links.Remove(link);
}
foreach (DemoObjectLink link in m_links)
link.Update();
}
m_tuioObjectAddedList.Clear();
m_tuioObjectUpdatedList.Clear();
m_tuioObjectRemovedList.Clear();
}