MCPcopy Create free account
hub / github.com/OpenNI/OpenNI / xnNodeInfoListRemove

Function xnNodeInfoListRemove

Source/OpenNI/XnOpenNI.cpp:1218–1252  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1216}
1217
1218XN_C_API XnStatus xnNodeInfoListRemove(XnNodeInfoList* pList, XnNodeInfoListIterator it)
1219{
1220 XN_VALIDATE_INPUT_PTR(pList);
1221 XN_VALIDATE_INPUT_PTR(it.pCurrent);
1222
1223 XnNodeInfoListNode* pPrev = it.pCurrent->pPrev;
1224 XnNodeInfoListNode* pNext = it.pCurrent->pNext;
1225
1226 // connect previous and next elements
1227 if (pPrev == NULL)
1228 {
1229 pList->pFirst = pNext;
1230 }
1231 else
1232 {
1233 pPrev->pNext = pNext;
1234 }
1235
1236 if (pNext == NULL)
1237 {
1238 pList->pLast = pPrev;
1239 }
1240 else
1241 {
1242 pNext->pPrev = pPrev;
1243 }
1244
1245 // free it
1246 it.pCurrent->pPrev = NULL;
1247 it.pCurrent->pNext = NULL;
1248 xnNodeInfoFree(it.pCurrent->pCurrent);
1249 xnOSFree(it.pCurrent);
1250
1251 return (XN_STATUS_OK);
1252}
1253
1254XN_C_API XnStatus xnNodeInfoListClear(XnNodeInfoList* pList)
1255{

Callers 4

RemoveMethod · 0.85
xnRemoveNeededNodeFunction · 0.85
xnNodeQueryFilterListFunction · 0.85

Calls 2

xnNodeInfoFreeFunction · 0.85
xnOSFreeFunction · 0.50

Tested by

no test coverage detected