22 #ifndef __XNBITSET_H__
23 #define __XNBITSET_H__
36 return m_array.
Reserve((nBits >> 5) + 1);
42 return m_array.
SetSize((nBits >> 5) + 1, 0);
48 XnUInt32 nArrayIndex = (nIndex >> 5);
49 XnUInt32 nMask = (1 << ((~nIndex) & 0x1F));
50 XnUInt32 nOldVal = nArrayIndex < m_array.
GetSize() ? m_array[nArrayIndex] : 0;
51 XnUInt32 nNewVal = bValue ? (nOldVal | nMask) : (nOldVal & (~nMask));
52 XnStatus nRetVal = m_array.
Set(nArrayIndex, nNewVal, 0);
54 m_nSize =
XN_MAX(m_nSize, nIndex + 1);
59 XnBool
IsSet(XnUInt32 nIndex)
const
61 XnUInt32 nArrayIndex = (nIndex >> 5);
62 if (nArrayIndex >= m_array.
GetSize())
66 return (m_array[nArrayIndex] & (1 << ((~nIndex) & 0x1F))) ?
TRUE :
FALSE;
74 m_nSize = (nSizeInDwords << 5);
82 XnUInt32 nSizeInDwords =
XN_MAX(1, nSizeInBytes >> 2);
85 for (XnUInt32 nDwordIdx = 0, nByteIdx = 0; nDwordIdx < nSizeInDwords; nDwordIdx++, nByteIdx += 4)
87 m_array[nDwordIdx] = ((pData[nByteIdx] << 24) | (pData[nByteIdx + 1] << 16) | (pData[nByteIdx + 2] << 8) | pData[nByteIdx + 3] );
89 m_nSize = (nSizeInBytes << 3);
#define XN_IS_STATUS_OK(x)
Definition: XnMacros.h:60
XnUInt32 XnStatus
Definition: XnStatus.h:34
#define XN_STATUS_OK
Definition: XnStatus.h:37
XnUInt32 GetSize() const
Definition: XnArray.h:148
XnStatus Reserve(XnUInt32 nReservedSize)
Definition: XnArray.h:108
void Clear()
Definition: XnArray.h:256
const T * GetData() const
Definition: XnArray.h:95
XnStatus SetData(const T *pData, XnUInt32 nSize)
Definition: XnArray.h:82
XnStatus Set(XnUInt32 nIndex, const T &val)
Definition: XnArray.h:218
XnBool IsEmpty() const
Definition: XnArray.h:142
XnStatus SetSize(XnUInt32 nSize)
Definition: XnArray.h:155
Definition: XnBitSet.h:28
XnStatus Reserve(XnUInt32 nBits)
Definition: XnBitSet.h:34
XnUInt32 GetSize() const
Definition: XnBitSet.h:112
XnBool IsEmpty() const
Definition: XnBitSet.h:125
XnStatus SetData(const XnUInt32 *pData, XnUInt32 nSizeInDwords)
Definition: XnBitSet.h:70
XnStatus SetDataBytes(const XnUInt8 *pData, XnUInt32 nSizeInBytes)
Definition: XnBitSet.h:79
XnUInt32 * GetData()
Definition: XnBitSet.h:100
XnBitSet()
Definition: XnBitSet.h:30
XnStatus Set(XnUInt32 nIndex, XnBool bValue)
Definition: XnBitSet.h:46
const XnUInt32 * GetData() const
Definition: XnBitSet.h:94
XnBool IsSet(XnUInt32 nIndex) const
Definition: XnBitSet.h:59
void Clear()
Definition: XnBitSet.h:118
XnUInt32 GetDataSize() const
Definition: XnBitSet.h:106
XnStatus SetSize(XnUInt32 nBits)
Definition: XnBitSet.h:40