Skip to content

Commit

Permalink
first version
Browse files Browse the repository at this point in the history
  • Loading branch information
OpenNI committed Dec 8, 2010
0 parents commit 43c256b
Show file tree
Hide file tree
Showing 475 changed files with 173,756 additions and 0 deletions.
34 changes: 34 additions & 0 deletions Data/SamplesConfig.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<OpenNI>
<Licenses>
<!-- Add licenses here
<License vendor="vendor" key="key"/>
-->
</Licenses>
<Log writeToConsole="false" writeToFile="false">
<!-- 0 - Verbose, 1 - Info, 2 - Warning, 3 - Error (default) -->
<LogLevel value="3"/>
<Masks>
<Mask name="ALL" on="true"/>
</Masks>
<Dumps>
</Dumps>
</Log>
<ProductionNodes>
<Node type="Image" name="Image1">
<Configuration>
<MapOutputMode xRes="640" yRes="480" FPS="30"/>
<Mirror on="true"/>
</Configuration>
</Node>
<Node type="Depth" name="Depth1">
<Configuration>
<MapOutputMode xRes="640" yRes="480" FPS="30"/>
<Mirror on="true"/>
</Configuration>
</Node>
<!--
<Node type="Audio" name="Audio1">
</Node>
-->
</ProductionNodes>
</OpenNI>
Binary file added Documentation/OpenNI.chm
Binary file not shown.
Binary file added Documentation/OpenNI_UserGuide.pdf
Binary file not shown.
674 changes: 674 additions & 0 deletions GPL.txt

Large diffs are not rendered by default.

56 changes: 56 additions & 0 deletions Include/IXnNodeAllocator.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/*****************************************************************************
* *
* OpenNI 1.0 Alpha *
* Copyright (C) 2010 PrimeSense Ltd. *
* *
* This file is part of OpenNI. *
* *
* OpenNI is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as published *
* by the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
* *
* OpenNI is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public License *
* along with OpenNI. If not, see <http://www.gnu.org/licenses/>. *
* *
*****************************************************************************/



#ifndef _ININODEALLOCATOR_H
#define _ININODEALLOCATOR_H

//---------------------------------------------------------------------------
// Types
//---------------------------------------------------------------------------
class XnNode;

/**
* Node Allocator - general interface for node allocation and deallocation.
*/
class INiNodeAllocator
{
public:
virtual ~INiNodeAllocator() {}

/**
* Allocate a new XnNode
*
* @return NULL if allocating a new node failed
*/
virtual XnNode *Allocate() = 0;

/**
* Release an XnNode
*
* @param pNode [in] The node to deallocate
*/
virtual void Deallocate(XnNode *pNode) = 0;
};

#endif //_ININODEALLOCATOR_H
41 changes: 41 additions & 0 deletions Include/Linux-Arm/XnPlatformLinux-Arm.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*****************************************************************************
* *
* OpenNI 1.0 Alpha *
* Copyright (C) 2010 PrimeSense Ltd. *
* *
* This file is part of OpenNI. *
* *
* OpenNI is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as published *
* by the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
* *
* OpenNI is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public License *
* along with OpenNI. If not, see <http://www.gnu.org/licenses/>. *
* *
*****************************************************************************/




#ifndef _XN_PLATFORM_LINUX_ARM_H_
#define _XN_PLATFORM_LINUX_ARM_H_

// Start with Linux-x86, and override what's different
#include "../Linux-x86/XnPlatformLinux-x86.h"

//---------------------------------------------------------------------------
// Platform Basic Definition
//---------------------------------------------------------------------------
#undef XN_PLATFORM
#undef XN_PLATFORM_STRING
#define XN_PLATFORM XN_PLATFORM_LINUX_ARM
#define XN_PLATFORM_STRING "Linux-Arm"

#endif //_XN_PLATFORM_LINUX_ARM_H_

170 changes: 170 additions & 0 deletions Include/Linux-x86/XnOSLinux-x86.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
/*****************************************************************************
* *
* OpenNI 1.0 Alpha *
* Copyright (C) 2010 PrimeSense Ltd. *
* *
* This file is part of OpenNI. *
* *
* OpenNI is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as published *
* by the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
* *
* OpenNI is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public License *
* along with OpenNI. If not, see <http://www.gnu.org/licenses/>. *
* *
*****************************************************************************/




#ifndef _XN_OSLINUX_X86_H_
#define _XN_OSLINUX_X86_H_

//---------------------------------------------------------------------------
// Includes
//---------------------------------------------------------------------------
#include <sys/types.h>
#include <stdarg.h>
#include <time.h>
#include <pthread.h>
#include <sys/stat.h>
#include <fcntl.h>

//---------------------------------------------------------------------------
// Files
//---------------------------------------------------------------------------
/** A generic handle type. */
typedef void* XN_HANDLE;

/** A file handle type. */
typedef XnInt XN_FILE_HANDLE;

static const XN_FILE_HANDLE XN_INVALID_FILE_HANDLE = -1;

/** A string that specifies the current directory. */
#define XN_FILE_LOCAL_DIR "./"

/** The file directory separator. */
#define XN_FILE_DIR_SEP "/"

/** The file extension separator. */
#define XN_FILE_EXT_SEP "."

/** The file "all" wildcard. */
#define XN_FILE_ALL_WILDCARD "*"

/** The newline separation string. */
#define XN_NEW_LINE_SEP "\n"

//---------------------------------------------------------------------------
// INI Files
//---------------------------------------------------------------------------
/** A string that specifies the extension of INI files. */
#define XN_INI_FILE_EXT "ini"

/** The maximum allowed INI string length (in bytes). */
// Note: This must always be big enough to contain a 32-bit number!
#define XN_INI_MAX_LEN 256

//---------------------------------------------------------------------------
// Shared Libraries
//---------------------------------------------------------------------------
/** A shared library handle type. */
typedef void* XN_LIB_HANDLE;

/** A string that specifies the prefix of shared library files. */
#define XN_SHARED_LIBRARY_PREFIX "lib"

/** A string that specifies the postfix of shared library files. */
#define XN_SHARED_LIBRARY_POSTFIX ".so"

//---------------------------------------------------------------------------
// Threads
//---------------------------------------------------------------------------
/** A Xiron thread type. */
typedef pthread_t* XN_THREAD_HANDLE;

/** A Xiron thread ID. */
typedef pthread_t XN_THREAD_ID;

/** A Xiron process ID. */
typedef pid_t XN_PROCESS_ID;

/** The thread entry point function prototype. */
typedef void* (*XN_THREAD_PROC_PROTO)(void* arg);

/** The thread entry point function definition. */
#define XN_THREAD_PROC void*

/** The thread return function. */
#define XN_THREAD_PROC_RETURN(ret) return((void*)ret)

/** The thread passable data pointer type. */
typedef void* XN_THREAD_PARAM;

//---------------------------------------------------------------------------
// Time Outs
//---------------------------------------------------------------------------
/** The mutex lock infinite timeout. */
#define XN_WAIT_INFINITE 0xFFFFFFFF

//---------------------------------------------------------------------------
// Mutex
//---------------------------------------------------------------------------
/** A Xiron mutex type. */
struct XnMutex;
typedef XnMutex* XN_MUTEX_HANDLE;

//---------------------------------------------------------------------------
// Critical Sections
//---------------------------------------------------------------------------
/** A Xiron critical sections type. */
typedef XN_MUTEX_HANDLE XN_CRITICAL_SECTION_HANDLE;

//---------------------------------------------------------------------------
// Events
//---------------------------------------------------------------------------
/** A Xiron event type. */
typedef struct
{
int NamedSem;
pthread_cond_t cond;
pthread_mutex_t mutex;
XnBool bSignaled;
XnBool bManualReset;
XnBool bNamed;
XnChar csSemFileName[XN_FILE_MAX_PATH];
int hSemFile;
} _XnEvent, *XN_EVENT_HANDLE;

//---------------------------------------------------------------------------
// Timer
//---------------------------------------------------------------------------
/** The Xiron OS timer structure. */
typedef struct XnOSTimer
{
struct timespec tStartTime;
XnBool bHighRes;
} XnOSTimer;

//---------------------------------------------------------------------------
// Network
//---------------------------------------------------------------------------
/** The network host name and port separator. */
#define XN_NETWORK_HOST_PORT_SEP ":"

//---------------------------------------------------------------------------
// Swaps
//---------------------------------------------------------------------------
#define XN_PREPARE_VAR16_IN_BUFFER(var) (var)
#define XN_PREPARE_VAR32_IN_BUFFER(var) (var)
#define XN_PREPARE_VAR64_IN_BUFFER(var) (var)
#define XN_PREPARE_VAR_FLOAT_IN_BUFFER(var) (var)

#endif //_XN_OSLINUX_X86_H_
Loading

0 comments on commit 43c256b

Please sign in to comment.