This project has moved and is read-only. For the latest updates, please go here.

Standalone manipulation processor

Apr 20, 2009 at 12:57 PM
Currently MTV uses Physiscs2D.NET engine for object manipulations inside TouchablePanel. This has several limitations. Scaling is not natively supported by physical engines and must be done "manually". Every control that want respond to gestures (move, rotate, scale) must have own code that interacts with physical engine. Physical objects have size and position, things like ScrollViewer don't need them. Bodies in physical world are being manipulated by springs. If you make zoom gesture on element that is not scaleable and release one contact the element will jump.
What MTV needs is a standalone class that can be reused in all controls. It should respond to contacts and recalculate transformation matrix after any change. This matrix can then be used to transform WPF elements. It should not have any knowledge about elements it manipulates and also about size and position. Should also solve problem with springs.
Anyone have thoughts about this?
Apr 20, 2009 at 1:51 PM
To be honest I had thoughts about that. But that would mean scripting a completely new physics engine for MTV.
I noticed the problem when I set the objects IsScalable and some other properties to custom values, the objects kinda acted up. They got stuck in a position, size and had an anchor point.
Anyways. I'm surching around for a solution and will post them as soon as I can.
Apr 20, 2009 at 2:19 PM
It must not be a physics engine. Just math that calculates the transformation matrix.
For physics like inertia we can make a second "processor" that calculates only inertia.
This is a way that make Surface SDK and Windows 7.
Apr 20, 2009 at 2:39 PM
Big goals there. Multi-Touch 7 Framework.
New Framework how about that.
We could probably take that what we need out of the Phy2D.Net engine and integrate it into MT7.
Apr 20, 2009 at 2:50 PM
When .NET 4.0 comes there will be no need for WPF part of MTV.

From P2D.N I can take only "inertia", but not manipulations.
Apr 20, 2009 at 2:50 PM
The XNA 2.0 Framework might be intersting but that wouldd mean the framework isn't independant.
Apr 20, 2009 at 3:02 PM
XNA should use Multitouch.Framework.dll. This assembly should also containt our processors.
Apr 20, 2009 at 4:50 PM sounds interesting. maybe we can fetch the code we need from there.
Apr 22, 2009 at 7:45 AM
all rigid body physic-engines are the same.