New in SimpleOpenNI 0.27 (May 28, 2012)
- Use the new OpenNI modules:
- OpenNI v1.5.4.0
- NITE v1.5.2.21
- Sensor v5.1.2.1
- Kinect Sensor v0.92-v5.1.2.1
- Added functions to setup a user defined coordinate system. This can be helpfull in a lot of cases.
- For example if your camera is tilted but you want the camera depth data in a coordinate system which
- is parallel to the floor. Another scenario could be that you have multiple cameras, but you want
- all cameras in the same coordinate system.
- From the moment that you setup a user defined coordinate system, all 3d related data from
- SimpleOpenNI will be transformed into the user defined coordinate system.
- New functions:
- boolean hasUserCoordsys()
- returns true if a user coordinate system was defined
- void resetUserCoordsys()
- removes the user coordinate system
- void setUserCoordsys(nullPoint3dX, nullPoint3dY, nullPoint3dZ,
- xDirPoint3dX, xDirPoint3dY, xDirPoint3dZ,
- zDirPoint3dX, zDirPoint3dY, zDirPoint3dZ);
- sets the user defined coordinate system. The system if defined by 3 realworld points.
- void getUserCoordsys(PMatrix3D mat)
- returns the orig.coordinatesystem to user.coordinatesystem transformation matrix.
- void getUserCoordsysBack(PMatrix3D mat)
- returns the user.coordinatesystem to orig.coordinatesystem transformation matrix.
- Added a new example to show the user defined coordinate system:
- extensions/UserCoordsys
- Added 2 new callback functions for the skeleton tracking:
- onExitUser(int userId) - informs when a user gets out of view(onExitUser takes some time till it gives the call)
- onReEnterUser(int userId) - informs when a user reenters the view
- Those callback are implemented in all examples which use skeletontracking
- Added a new function to get the users for the skeleton tracking:
- int[] getUsers() - returns a list of all active users
- Extended the User3d example. Shows how to calculate the direction of the body based on the
- skeleton data. See the function 'getBodyDirection'.
- Extended the skeleton tracking examples to show multiple tracked users
- Added ray-triangle/sphere intersection function and an example source at 'extensions/IntersectionTest'
- static boolean rayTriangleIntersection(PVector p, PVector dir,
- PVector vec0,PVector vec1, PVector vec2,
- PVector hit)
- static int raySphereIntersection(PVector p, PVector dir,
- PVector sphereCenter,float sphereRadius,
- PVector hit1,PVector hit2)
- Fixed the application export for win32/64 and linux32/64
- Optimized the performance a little
- Added Linux32 to the release