Skip to content

Commit

Permalink
Updated to version 1.4.0.2.
Browse files Browse the repository at this point in the history
  • Loading branch information
OpenNI committed Nov 22, 2011
1 parent b8a2e79 commit ba3048e
Show file tree
Hide file tree
Showing 175 changed files with 54,908 additions and 3,276 deletions.
23 changes: 23 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,6 +1,29 @@
Detailed Change log:
--------------------

Version 1.4.0.2 (Unstable version - Nov 17th 2011)
--------------------------------------------------
* Linux bug fix: The USB read thread was using memcpy with overlapping source and dest addresses which caused newer libc libraries to fail. The solution is to use memmove.
* Log: fix BC methods behavior to be backwards-compatible to old one.
* Added GetNumberOfAvailableGestures() method to GestureGenerator.
* .NET BugFix: GetPoseStatus() did not work.
* JNI: fix a typo that prevents creating joint orientations.
* NiUserSelection: Update to support N closest users and N waves.
* Fixed python scripts to also support python 3.
* Java Wrapper: Added a new method copyToBuffer for copying data to a preallocated buffer to improve performance (community request).
* Mac: Fixed a bug in the linux set thread priority where the struct wasn't zero'd before usage (caused warning on mac osx).
* Linux redist bug: .net wrappers were skipped on 64-bit machines by mistake.
* Windows Bug Fix: shared memory was always created under the Global namespace (Failed to work with UAC turned on).
* Added APIs xnIsPoseSupported, xnGetPoseStatus, through PoseDetectionCapability.
* Java Wrappers: added createByteBuffer() to AudioMetaData to access data.
* NiRecordRaw: Removed duplicate call to GetProductionNodeByName.
* Added NiHandTracker C++ sample.
* Added NO_TRACKING to the list of pose detection statuses.
* Added NiSimpleSkeleton sample which shows the head movement of skeleton with no graphics.
* Added NiUserSelection sample which shows the exit pose (cross hands) and user selection.
* Added a new dump, "OpenNIDataFlow", to track data frames.
* WaitNoneUpdateAll now doesn't actually read from file (might cause some sleeping), but only triggers another thread to read in the background.

Version 1.3.4.6 (Unstable version - Nov 7th 2011)
-------------------------------------------------
* In MockGenerator::SetData, change the node to Generating state so it would be recorded properly.
Expand Down
Binary file modified Documentation/OpenNI.chm
Binary file not shown.
19 changes: 19 additions & 0 deletions Include/XnCppWrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -3469,6 +3469,15 @@ namespace xn
{
return xnEnumerateGestures(GetHandle(), &astrGestures, &nGestures);
}

/** @copybrief xnGetNumberOfAvailableGestures
* For full details and usage, see @ref xnGetNumberOfAvailableGestures
*/
inline XnUInt16 GetNumberOfAvailableGestures() const
{
return xnGetNumberOfAvailableGestures(GetHandle());
}

/** @copybrief xnEnumerateAllGestures
* For full details and usage, see @ref xnEnumerateAllGestures
*/
Expand Down Expand Up @@ -4568,6 +4577,16 @@ namespace xn
return xnGetAllAvailablePoses(GetHandle(), pstrPoses, nNameLength, &nPoses);
}

inline XnBool IsPoseSupported(const XnChar* strPose)
{
return xnIsPoseSupported(GetHandle(), strPose);
}

inline XnStatus GetPoseStatus(XnUserID userID, const XnChar* poseName, XnUInt64& poseTime, XnPoseDetectionStatus& eStatus, XnPoseDetectionState& eState)
{
return xnGetPoseStatus(GetHandle(), userID, poseName, &poseTime, &eStatus, &eState);
}

/** @copybrief xnStartPoseDetection
* For full details and usage, see @ref xnStartPoseDetection
*/
Expand Down
5 changes: 5 additions & 0 deletions Include/XnMacros.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,4 +115,9 @@
return (XN_STATUS_OUTPUT_BUFFER_OVERFLOW); \
}

/** Disables Copy ctor and assignment operator. Should be placed under "private:" section. */
#define XN_DISABLE_COPY_AND_ASSIGN(TypeName) \
TypeName(const TypeName&); \
void operator=(const TypeName&)

#endif //_XN_MACROS_H_
1 change: 1 addition & 0 deletions Include/XnModuleCFunctions.h
Original file line number Diff line number Diff line change
Expand Up @@ -1360,6 +1360,7 @@ XnStatus XN_CALLBACK_TYPE __ModuleGetAllAvailablePoses(XnModuleNodeHandle hGener
return pInterface->GetAllAvailablePoses(pstrPoses, nNameLength, *pnPoses);
}


XnStatus XN_CALLBACK_TYPE __ModuleStartPoseDetection(XnModuleNodeHandle hGenerator, const XnChar* strPose, XnUserID user)
{
ModuleProductionNode* pProdNode = (ModuleProductionNode*)hGenerator;
Expand Down
2 changes: 2 additions & 0 deletions Include/XnOS.h
Original file line number Diff line number Diff line change
Expand Up @@ -614,6 +614,8 @@ XN_C_API XnStatus XN_C_DECL xnOSCreateSharedMemoryEx(const XnChar* strName, XnUI
*/
XN_C_API XnStatus XN_C_DECL xnOSOpenSharedMemory(const XnChar* strName, XnUInt32 nAccessFlags, XN_SHARED_MEMORY_HANDLE* phSharedMem);

XN_C_API XnStatus XN_C_DECL xnOSOpenSharedMemoryEx(const XnChar* strName, XnUInt32 nAccessFlags, XnBool bAllowOtherUsers, XN_SHARED_MEMORY_HANDLE* phSharedMem);

/**
* Closes a shared memory block.
*
Expand Down
34 changes: 34 additions & 0 deletions Include/XnPrdNode.h
Original file line number Diff line number Diff line change
Expand Up @@ -1419,6 +1419,16 @@ XN_C_API XnStatus XN_C_DECL xnEnumerateGestures(XnNodeHandle hInstance, XnChar**
* @param nGestures [in,out] The size of the preallocated memory. Changed to number of gestures
*/
XN_C_API XnStatus XN_C_DECL xnEnumerateAllGestures(XnNodeHandle hInstance, XnChar** pstrGestures, XnUInt32 nNameLength, XnUInt16* nGestures);

/**
* @brief Get the number of all gestures available
*
* @param hInstance [in] A handle to the instance
* @return the number of gestures available
*/
XN_C_API XnUInt16 XN_C_DECL xnGetNumberOfAvailableGestures(XnNodeHandle hInstance);


/**
* @brief Check if a specific gesture is available in this generator
*
Expand Down Expand Up @@ -1991,6 +2001,30 @@ XN_C_API XnStatus XN_C_DECL xnGetAvailablePoses(XnNodeHandle hInstance, XnChar**
* @param pnPoses [in,out] In input - size of the preallocated memory, in output - the number of pose names
*/
XN_C_API XnStatus XN_C_DECL xnGetAllAvailablePoses(XnNodeHandle hInstance, XnChar** pstrPoses, XnUInt32 nNameLength, XnUInt32* pnPoses);

/**
* @brief Tests if a pose is supported
*
* @param hInstance [in] A handle to the instance
* @param strPose [in] The pose string to test
* @return True if the pose is supported and False otherwise.
*/
XN_C_API XnBool XN_C_DECL xnIsPoseSupported(XnNodeHandle hInstance, const XnChar* strPose);

/**
* @brief Gets the current pose status
*
* @param hInstance [in] A handle to the instance
* @param userID [in] The user whose pose status we are interested in.
* @param poseName [in] The pose we want to get a status on.
* @param poseTime [out] The time stamp in which the user entered into the pose (0 if not in pose).
* @param eStatus [out] The status of the user's pose, i.e. the progress error for getting into
* pose (XnPoseDetectionStatus, the same as received from the in progress
* callback. See @ref xnRegisterToPoseDetectionInProgress).
* @param eState [out] The state of the user pose (i.e. in pose, out of pose).
* @return The success status. The data is invalid if failed.
*/
XN_C_API XnStatus xnGetPoseStatus(XnNodeHandle hInstance, XnUserID userID, const XnChar* poseName, XnUInt64* poseTime, XnPoseDetectionStatus* eStatus, XnPoseDetectionState* eState);
/**
* @brief Start detection of a specific pose for a specific user
*
Expand Down
4 changes: 2 additions & 2 deletions Include/XnStatus.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,10 @@ typedef enum XnErrorGroup
#define XN_STATUS_MAKE(group, code) ((group << 16) | code)

/** Returns the group of the status. */
#define XN_STATUS_GROUP(status) (status >> 16)
#define XN_STATUS_GROUP(status) XnUInt16(status >> 16)

/** Returns the code of the status. */
#define XN_STATUS_CODE(status) (status & 0x0000FFFF)
#define XN_STATUS_CODE(status) XnUInt16(status & 0x0000FFFF)

/** Marks the beginning of a message map of a specific module. */
#define XN_STATUS_MESSAGE_MAP_START_FROM(group, first) \
Expand Down
9 changes: 9 additions & 0 deletions Include/XnTypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -646,8 +646,17 @@ typedef enum XnPoseDetectionStatus
XN_POSE_DETECTION_STATUS_TOP_FOV = 2,
XN_POSE_DETECTION_STATUS_SIDE_FOV = 3,
XN_POSE_DETECTION_STATUS_ERROR = 4,
XN_POSE_DETECTION_STATUS_NO_TRACKING = 5
} XnPoseDetectionStatus;


/** Possible pose detection states */
typedef enum XnPoseDetectionState
{
XN_POSE_DETECTION_STATE_IN_POSE =0,
XN_POSE_DETECTION_STATE_OUT_OF_POSE =1,
XN_POSE_DETECTION_STATE_UNDEFINED =2
} XnPoseDetectionState;
/** Possible statuses for calibration */
typedef enum XnCalibrationStatus
{
Expand Down
6 changes: 3 additions & 3 deletions Include/XnVersion.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@
/** OpenNI major version. */
#define XN_MAJOR_VERSION 1
/** OpenNI minor version. */
#define XN_MINOR_VERSION 3
#define XN_MINOR_VERSION 4
/** OpenNI maintenance version. */
#define XN_MAINTENANCE_VERSION 4
#define XN_MAINTENANCE_VERSION 0
/** OpenNI build version. */
#define XN_BUILD_VERSION 6
#define XN_BUILD_VERSION 2

/** OpenNI version (in brief string format): "Major.Minor.Maintenance (Build)" */
#define XN_BRIEF_VERSION_STRING \
Expand Down
2 changes: 1 addition & 1 deletion Platform/Android/jni/OpenNI/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ MY_PREFIX := $(LOCAL_PATH)/../../../../Source/OpenNI/
# list all source files
MY_SRC_FILES := \
$(MY_PREFIX)*.cpp \
$(MY_PREFIX)Linux-x86/*.cpp \
$(MY_PREFIX)Linux/*.cpp \
$(MY_PREFIX)../External/TinyXml/*.cpp

# expand the wildcards
Expand Down
3 changes: 1 addition & 2 deletions Platform/Linux/Build/Common/CommonCppMakefile
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,10 @@ endif

# set Debug / Release flags
ifeq "$(CFG)" "Debug"
CFLAGS += -g
CFLAGS += -O0 -g
endif
ifeq "$(CFG)" "Release"
CFLAGS += -O2 -DNDEBUG
CSFLAGS += -o+
endif

CFLAGS += $(INC_DIRS_OPTION) $(DEFINES_OPTION)
Expand Down
2 changes: 0 additions & 2 deletions Platform/Linux/Build/Common/Platform.Arm
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
export GLES=1

ifeq "$(CFG)" "Release"
CFLAGS += -mcpu=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp -ffast-math -fsingle-precision-constant
endif
2 changes: 2 additions & 0 deletions Platform/Linux/Build/Common/Platform.x86
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# some defaults
export GLUT_SUPPORTED=1

ifndef SSE_GENERATION
SSE_GENERATION = 3
endif
Expand Down
80 changes: 48 additions & 32 deletions Platform/Linux/Build/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -50,16 +50,21 @@ CORE_SAMPLES = \
Samples/NiSimpleCreate \
Samples/NiCRead \
Samples/NiAudioSample \
Samples/NiSimpleSkeleton \

ifneq "$(PLATFORM)" "Arm"
CORE_SAMPLES += \
Samples/NiUserTracker
endif

ifeq "$(PLATFORM)" "x86"
ifeq "$(GLUT_SUPPORTED)" "1"
CORE_SAMPLES += \
Samples/NiViewer \
Samples/NiSimpleViewer
Samples/NiSimpleViewer \
Samples/NiUserTracker \
Samples/NiUserSelection \
Samples/NiHandTracker
else
ifeq "$(GLES_SUPPORTED)" "1"
CORE_SAMPLES += \
Samples/NiUserTracker \
Samples/NiUserSelection
endif
endif

MONO_SAMPLES = \
Expand Down Expand Up @@ -119,10 +124,10 @@ ALL_PROJS_CLEAN = $(foreach proj,$(ALL_PROJS),$(proj)-clean)
# define a function which creates a target for each proj
define CREATE_PROJ_TARGET
$1:
$(MAKE) -C $1
$$(MAKE) -C $1

$1-clean:
$(MAKE) -C $1 clean
$$(MAKE) -C $1 clean
endef

################ TARGETS ##################
Expand All @@ -144,29 +149,40 @@ mono_samples: $(MONO_SAMPLES) $(MONO_FORMS_SAMPLES)
$(foreach proj,$(ALL_PROJS),$(eval $(call CREATE_PROJ_TARGET,$(proj))))

# additional dependencies
Modules/nimCodecs: OpenNI
Modules/nimMockNodes: OpenNI
Modules/nimRecorder: OpenNI
Utils/niReg: OpenNI
Utils/niLicense: OpenNI
Wrappers/OpenNI.net: OpenNI
Wrappers/OpenNI.jni: OpenNI
Wrappers/OpenNI.java: Wrappers/OpenNI.jni
Samples/NiSimpleRead: OpenNI
Samples/NiViewer: OpenNI
Samples/NiBackRecorder: OpenNI
Samples/NiConvertXToONI: OpenNI
Samples/NiRecordSynthetic: OpenNI
Samples/NiSampleModule: OpenNI
Samples/NiSimpleCreate: OpenNI
Samples/NiCRead: OpenNI
Samples/NiSimpleViewer: OpenNI
Samples/SimpleRead.net: Wrappers/OpenNI.net
Samples/SimpleViewer.net: Wrappers/OpenNI.net
Samples/UserTracker.net: Wrappers/OpenNI.net
Samples/SimpleRead.java: Wrappers/OpenNI.java
Samples/SimpleViewer.java: Wrappers/OpenNI.java
Samples/UserTracker.java: Wrappers/OpenNI.java
Modules/nimCodecs: OpenNI
Modules/nimMockNodes: OpenNI
Modules/nimRecorder: OpenNI

Utils/niReg: OpenNI
Utils/niLicense: OpenNI

Wrappers/OpenNI.net: OpenNI
Wrappers/OpenNI.jni: OpenNI
Wrappers/OpenNI.java: Wrappers/OpenNI.jni

Samples/NiSimpleRead: OpenNI
Samples/NiBackRecorder: OpenNI
Samples/NiConvertXToONI: OpenNI
Samples/NiRecordSynthetic: OpenNI
Samples/NiSampleModule: OpenNI
Samples/NiSimpleCreate: OpenNI
Samples/NiCRead: OpenNI
Samples/NiAudioSample: OpenNI
Samples/NiSimpleSkeleton: OpenNI
Samples/NiUserTracker: OpenNI
Samples/NiUserSelection: OpenNI
Samples/NiHandTracker: OpenNI
Samples/NiViewer: OpenNI
Samples/NiSimpleViewer: OpenNI

Samples/SimpleRead.net: Wrappers/OpenNI.net
Samples/SimpleViewer.net: Wrappers/OpenNI.net
Samples/UserTracker.net: Wrappers/OpenNI.net

Samples/SimpleRead.java: Wrappers/OpenNI.java
Samples/SimpleViewer.java: Wrappers/OpenNI.java
Samples/UserTracker.java: Wrappers/OpenNI.java


# clean is cleaning all projects
clean: $(ALL_PROJS_CLEAN)
Expand Down
12 changes: 0 additions & 12 deletions Platform/Linux/Build/OpenNI.vpw

This file was deleted.

4 changes: 2 additions & 2 deletions Platform/Linux/Build/Res/AssemblyInfo-OpenNI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.3.4.6")]
[assembly: AssemblyFileVersion("1.3.4.6")]
[assembly: AssemblyVersion("1.4.0.2")]
[assembly: AssemblyFileVersion("1.4.0.2")]
22 changes: 22 additions & 0 deletions Platform/Linux/Build/Samples/NiHandTracker/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
OSTYPE := $(shell uname -s)

BIN_DIR = ../../../Bin

INC_DIRS = \
../../../../../Include \
../../../../../Samples/NiHandTracker

SRC_FILES = ../../../../../Samples/NiHandTracker/*.cpp

ifeq ("$(OSTYPE)","Darwin")
LDFLAGS += -framework OpenGL -framework GLUT
else
USED_LIBS += glut
endif

USED_LIBS += OpenNI

EXE_NAME = Sample-NiHandTracker

include ../../Common/CommonCppMakefile

11 changes: 11 additions & 0 deletions Platform/Linux/Build/Samples/NiSimpleSkeleton/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
BIN_DIR = ../../../Bin

INC_DIRS = ../../../../../Include

SRC_FILES = ../../../../../Samples/NiSimpleSkeleton/*.cpp

EXE_NAME = Sample-NiSimpleSkeleton
USED_LIBS = OpenNI

include ../../Common/CommonCppMakefile

Loading

0 comments on commit ba3048e

Please sign in to comment.