/usr/include/ni/XnQueries.h is in libopenni-dev 1.5.4.0-14.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | /****************************************************************************
* *
* OpenNI 1.x Alpha *
* Copyright (C) 2011 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_QUERIES_H__
#define __XN_QUERIES_H__
//---------------------------------------------------------------------------
// Includes
//---------------------------------------------------------------------------
#include "XnTypes.h"
//---------------------------------------------------------------------------
// Exported Functions
//---------------------------------------------------------------------------
/**
* @ingroup cref
* @defgroup queries Queries
* This page details functions for building queries. Queries can be used during enumeration, and provide
* an easy way for filtering results before they return to user.
* @{
*/
/**
* Allocates a new query object. This object must be freed using @ref xnNodeQueryFree().
*
* @param ppQuery [out] Created query object.
*/
XN_C_API XnStatus XN_C_DECL xnNodeQueryAllocate(XnNodeQuery** ppQuery);
/**
* Frees a query object previously created using @ref xnNodeQueryAllocate().
*
* @param pQuery [in] Query object.
*/
XN_C_API void XN_C_DECL xnNodeQueryFree(XnNodeQuery* pQuery);
/**
* Sets the requested vendor.
*
* @param pQuery [in] Query object.
* @param strVendor [in] Vendor Name.
*/
XN_C_API XnStatus XN_C_DECL xnNodeQuerySetVendor(XnNodeQuery* pQuery, const XnChar* strVendor);
/**
* Sets the requested name.
*
* @param pQuery [in] Query object.
* @param strName [in] Product Name.
*/
XN_C_API XnStatus XN_C_DECL xnNodeQuerySetName(XnNodeQuery* pQuery, const XnChar* strName);
/**
* Sets the minimum required version.
*
* @param pQuery [in] Query object.
* @param pMinVersion [in] Min Version.
*/
XN_C_API XnStatus XN_C_DECL xnNodeQuerySetMinVersion(XnNodeQuery* pQuery, const XnVersion* pMinVersion);
/**
* Sets the maximum required version.
*
* @param pQuery [in] Query object.
* @param pMaxVersion [in] Max Version.
*/
XN_C_API XnStatus XN_C_DECL xnNodeQuerySetMaxVersion(XnNodeQuery* pQuery, const XnVersion* pMaxVersion);
/**
* Adds a capability that the node must support. Note that for checking if a capability is supported,
* the node must be created (if it's not an existing one). This operation might take a bit longer...
*
* @param pQuery [in] Query object.
* @param strNeededCapability [in] A needed capability name.
*/
XN_C_API XnStatus XN_C_DECL xnNodeQueryAddSupportedCapability(XnNodeQuery* pQuery, const XnChar* strNeededCapability);
/**
* Adds a MapOutputMode that the node must support. Note that for checking if a capability is supported,
* the node must be created (if it's not an existing one). This operation might take a bit longer...
*
* @param pQuery [in] Query object.
* @param pMapOutputMode [in] A map output mode. Each field of the mode can be set to (-1), meaning
* results will not be filtered by this field.
*/
XN_C_API XnStatus XN_C_DECL xnNodeQueryAddSupportedMapOutputMode(XnNodeQuery* pQuery, const XnMapOutputMode* pMapOutputMode);
/**
* Sets the minimum required user positions this node supports. Note that for checking if a capability is supported,
* the node must be created (if it's not an existing one). This operation might take a bit longer...
*
* @param pQuery [in] Query object.
* @param nCount [in] The number of required positions.
*/
XN_C_API XnStatus XN_C_DECL xnNodeQuerySetSupportedMinUserPositions(XnNodeQuery* pQuery, const XnUInt32 nCount);
/**
* Filter results so that only existing nodes will be returned.
*
* @param pQuery [in] Query object.
* @param bExistingNode [in] TRUE to return only existing ones, FALSE otherwise.
*/
XN_C_API XnStatus XN_C_DECL xnNodeQuerySetExistingNodeOnly(XnNodeQuery* pQuery, XnBool bExistingNode);
/**
* Filter results so that only non-existing nodes will be returned.
*
* @param pQuery [in] Query object.
* @param bNonExistingNode [in] TRUE to return only non-existing ones, FALSE otherwise.
*/
XN_C_API XnStatus XN_C_DECL xnNodeQuerySetNonExistingNodeOnly(XnNodeQuery* pQuery, XnBool bNonExistingNode);
/**
* Adds a needed node.
*
* @param pQuery [in] Query object.
* @param strInstanceName [in] The name of the needed instance.
*/
XN_C_API XnStatus XN_C_DECL xnNodeQueryAddNeededNode(XnNodeQuery* pQuery, const XnChar* strInstanceName);
/**
* Sets the creation info field of a query object.
*
* @param pQuery [in] Query object.
* @param strCreationInfo [in] The creation info to set in the query.
*/
XN_C_API XnStatus XN_C_DECL xnNodeQuerySetCreationInfo(XnNodeQuery* pQuery, const XnChar* strCreationInfo);
/**
* Filters a list of nodes according to query. The list will contain only nodes that match all query terms.
* Note that some query terms might require creation of a node, and thus may take longer.
*
* @param pContext [in] OpenNI Context object.
* @param pQuery [in] Query object.
* @param pList [in] The list to be filtered.
*/
XN_C_API XnStatus XN_C_DECL xnNodeQueryFilterList(XnContext* pContext, const XnNodeQuery* pQuery, XnNodeInfoList* pList);
/** @} */
#endif // __XN_QUERIES_H__
|