56#include <Inventor/nodes/SoNode.h>
57#include <Inventor/sensors/SoDataSensor.h>
58#include <Inventor/fields/SoSFBool.h>
59#include <Inventor/SbPImpl.h>
61SO_PIMPL_PUBLIC_DECLARATION(
SoGroup)
124 SO_PIMPL_PUBLIC_HEADER(
SoGroup)
184 { removeChild(findChild(child)); }
204 { replaceChild(findChild(oldChild), newChild); }
213 inline virtual SbBool isBoundingBoxIgnoring()
const
214 {
return boundingBoxIgnoring.
getValue(); }
217 virtual void doAction(
SoAction *action);
229 static void initClass();
230 static void exitClass();
233 virtual SoChildList *getChildren()
const;
236 virtual void internalRemoveChild(
int index ) { removeChild(index); }
237 virtual void internalRemoveChild(
SoNode *child ) { removeChild(findChild(child)); }
238 virtual void internalRemoveAllChildren() { removeAllChildren(); }
239 virtual void internalAddChild(
SoNode *child ) { addChild(child); }
240 virtual int internalFindChild(
const SoNode *child )
const {
return findChild(child); }
241 virtual void internalInsertChild(
SoNode *child,
int newChildIndex ) { insertChild(child, newChildIndex); }
242 virtual SoNode *internalGetChild(
int index)
const {
return getChild(index); }
243 virtual void internalReplaceChild(
int index,
SoNode *newChild) { replaceChild(index, newChild); }
244 virtual void internalReplaceChild(
SoNode *oldChild,
SoNode *newChild) { replaceChild(oldChild,newChild); }
246 virtual void notify(SoNotList *list);
248 virtual bool isGroup() {
return true; }
254 static void writeChildren(
SoWriteAction *action, SoChildList* children_ );
257 SoChildList *children;
260 virtual SbBool readInstance(
SoInput *in,
unsigned short flags);
270 void commonConstructor();
Abstract base class for all actions.
Performs a generic traversal of a scene graph or path.
Abstract base class for objects that contain fields.
Renders a scene graph using Open Inventor's Render Engine.
Computes bounding box of a scene.
Computes transformation matrix for a subgraph.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Counts number of...
Base class for all group nodes.
virtual void removeChild(int index)
Removes child with given index from group.
virtual void removeChild(SoNode *child)
Removes first instance of given child from group.
virtual void replaceChild(int index, SoNode *newChild)
Replaces child with given index with new child.
virtual void replaceChild(SoNode *oldChild, SoNode *newChild)
Replaces first instance of given child with new child.
virtual SoNode * getChild(int index) const
Returns pointer the child node with the given index.
virtual void addChild(SoNode *child)
Adds a child as last one in group.
SoGroup()
Creates an empty group node.
virtual int findChild(const SoNode *child) const
Finds index of given child within group.
SoGroup(int nChildren)
Constructor that takes approximate number of children.
SoSFBool boundingBoxIgnoring
Whether to ignore this node during bounding box traversal.
virtual void insertChild(SoNode *child, int newChildIndex)
Adds a child so that it becomes the one with the given index.
virtual int getNumChildren() const
Returns number of children.
virtual void removeAllChildren()
Removes all children from group.
Allows nodes in a graph to receive input events.
Abstract base class for all database nodes.
Abstract base class for picking objects in a scene.
Field containing a single Boolean value.
SbBool getValue() const
Returns this field's value.
Searches for nodes in a scene graph.
Writes a scene graph to a file.