56#ifndef _SO_COMPACT_PATH_LIST_
57#define _SO_COMPACT_PATH_LIST_
120 int getNumIndices() {
return array[curNode]; }
123 int getStartIndex() {
return curNode + 1; }
127 {
return array[getStartIndex() + getNumIndices() + i]; }
130 void pushCurNode() { stack[stackDepth++] = curNode; }
133 void popCurNode() { curNode = stack[--stackDepth - 1]; }
139 int compactPaths(
int curSlot,
int depth,
141 int firstPath,
int numPaths);
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
This class represents a list of paths (like an SoPathList) in a more compact form.
void getChildren(int &numIndices, const int *&indices)
Returns the indices of the current node that are in paths in the list.
SoCompactPathList(const SoPathList &list)
Constructor given path list.
void pop()
Restores current node to what it was before the most recent push()
bool push(int childIndex)
Traverses the child with given index of the current node.
void reset()
Resets traversal to the beginning.
Maintains a list of pointers to paths.