Hello, I am trying to understand how exactly you have implemented the toolbox, and how it can apply to my Kinect-based project. I am going through the code and remain stumped as to how exactly does the ScanPositions method works.
This is the method signature for ScanPositions:
bool ScanPositions(Func<Vector3, Vector3, bool> heightFunction, Func<Vector3, Vector3, bool> directionFunction, Func<Vector3, Vector3, bool> lengthFunction, int minTime, int maxTime)
From my understanding, the Func<Vector3, Vector3, bool> part says that this parameter will be a delegate function. It will be defined when there is someone calling ScanPositions. In fact, I can see that when ScanPositions is called from LookForGesture(),
it is done as such:
What I don't understand is what you gain from abstracting the implementation away from the ScanPositions method, and what exactly is the logic inside of this method. Can you give me some pseudocode?
ScanPositions((p1, p2) => Math.Abs(p2.Y - p1.Y) < SwipeMaximalHeight, (p1, p2) => p2.X - p1.X > -0.01f, (p1, p2) => Math.Abs(p2.X - p1.X) > SwipeMinimalLength, SwipeMinimalDuration, SwipeMaximalDuration)
I apologize in advance if I'm not clear.