82 getNodeType ()
const = 0;
86 deepCopy ()
const = 0;
96 template<
typename ContainerT>
101 using ContainerT::getSize;
102 using ContainerT::getData;
103 using ContainerT::setData;
142 ContainerT::reset ();
152 template<
typename ContainerT>
157 using ContainerT::getSize;
158 using ContainerT::getData;
159 using ContainerT::setData;
166 memset (childNodeArray_, 0,
sizeof(childNodeArray_));
175 memset (childNodeArray_, 0,
sizeof(childNodeArray_));
177 for (i = 0; i < 8; ++i)
178 if (source.childNodeArray_[i])
179 childNodeArray_[i] = source.childNodeArray_[i]->
deepCopy ();
188 memset (childNodeArray_, 0,
sizeof(childNodeArray_));
190 for (i = 0; i < 8; ++i)
191 if (source.childNodeArray_[i])
192 childNodeArray_[i] = source.childNodeArray_[i]->
deepCopy ();
213 memset (childNodeArray_, 0,
sizeof(childNodeArray_));
214 ContainerT::reset ();
222 operator[] (
unsigned char childIdx_arg)
224 assert(childIdx_arg < 8);
225 return childNodeArray_[childIdx_arg];
233 getChildPtr (
unsigned char childIdx_arg)
const
235 assert(childIdx_arg < 8);
236 return childNodeArray_[childIdx_arg];
242 inline void setChildPtr (
OctreeNode* child,
unsigned char index)
245 childNodeArray_[index] = child;
253 inline bool hasChild (
unsigned char childIdx_arg)
const
255 return (childNodeArray_[childIdx_arg] != 0);