00001 /***************************************************************************** 00002 * * 00003 * OpenNI 1.0 Alpha * 00004 * Copyright (C) 2010 PrimeSense Ltd. * 00005 * * 00006 * This file is part of OpenNI. * 00007 * * 00008 * OpenNI is free software: you can redistribute it and/or modify * 00009 * it under the terms of the GNU Lesser General Public License as published * 00010 * by the Free Software Foundation, either version 3 of the License, or * 00011 * (at your option) any later version. * 00012 * * 00013 * OpenNI is distributed in the hope that it will be useful, * 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00016 * GNU Lesser General Public License for more details. * 00017 * * 00018 * You should have received a copy of the GNU Lesser General Public License * 00019 * along with OpenNI. If not, see <http://www.gnu.org/licenses/>. * 00020 * * 00021 *****************************************************************************/ 00022 00023 00024 00025 00026 #ifndef __XN_PRD_NODE_INFO_LIST_H__ 00027 #define __XN_PRD_NODE_INFO_LIST_H__ 00028 00082 //--------------------------------------------------------------------------- 00083 // Includes 00084 //--------------------------------------------------------------------------- 00085 #include <XnTypes.h> 00086 00087 //--------------------------------------------------------------------------- 00088 // Functions 00089 //--------------------------------------------------------------------------- 00090 00096 XN_C_API XnStatus xnNodeInfoListAllocate(XnNodeInfoList** ppList); 00097 00103 XN_C_API void xnNodeInfoListFree(XnNodeInfoList* pList); 00104 00113 XN_C_API XnStatus xnNodeInfoListAdd(XnNodeInfoList* pList, const XnProductionNodeDescription* pDescription, const XnChar* strCreationInfo, XnNodeInfoList* pNeededNodes); 00114 00121 XN_C_API XnStatus xnNodeInfoListAddNode(XnNodeInfoList* pList, XnNodeInfo* pNode); 00122 00129 XN_C_API XnStatus xnNodeInfoListAddNodeFromList(XnNodeInfoList* pList, XnNodeInfoListIterator otherListIt); 00130 00137 XN_C_API XnStatus xnNodeInfoListRemove(XnNodeInfoList* pList, XnNodeInfoListIterator it); 00138 00144 XN_C_API XnStatus xnNodeInfoListClear(XnNodeInfoList* pList); 00145 00153 XN_C_API XnStatus xnNodeInfoListAppend(XnNodeInfoList* pList, XnNodeInfoList* pOther); 00154 00160 XN_C_API XnBool xnNodeInfoListIsEmpty(XnNodeInfoList* pList); 00161 00169 XN_C_API XnNodeInfoListIterator xnNodeInfoListGetFirst(XnNodeInfoList* pList); 00170 00178 XN_C_API XnNodeInfoListIterator xnNodeInfoListGetLast(XnNodeInfoList* pList); 00179 00185 XN_C_API XnBool xnNodeInfoListIteratorIsValid(XnNodeInfoListIterator it); 00186 00194 XN_C_API XnNodeInfo* xnNodeInfoListGetCurrent(XnNodeInfoListIterator it); 00195 00203 XN_C_API XnNodeInfoListIterator xnNodeInfoListGetNext(XnNodeInfoListIterator it); 00204 00212 XN_C_API XnNodeInfoListIterator xnNodeInfoListGetPrevious(XnNodeInfoListIterator it); 00213 00216 #endif // __XN_PRD_NODE_INFO_LIST_H__