Coin Logo http://www.sim.no
http://www.coin3d.org

SoGroup.h
1 #ifndef COIN_SOGROUP_H
2 #define COIN_SOGROUP_H
3 
4 /**************************************************************************\
5  *
6  * This file is part of the Coin 3D visualization library.
7  * Copyright (C) 1998-2007 by Systems in Motion. All rights reserved.
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License
11  * ("GPL") version 2 as published by the Free Software Foundation.
12  * See the file LICENSE.GPL at the root directory of this source
13  * distribution for additional information about the GNU GPL.
14  *
15  * For using Coin with software that can not be combined with the GNU
16  * GPL, and for taking advantage of the additional benefits of our
17  * support services, please contact Systems in Motion about acquiring
18  * a Coin Professional Edition License.
19  *
20  * See http://www.coin3d.org/ for more information.
21  *
22  * Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
23  * http://www.sim.no/ sales@sim.no coin-support@coin3d.org
24  *
25 \**************************************************************************/
26 
27 #include <Inventor/nodes/SoSubNode.h>
28 
29 class SoGroupP;
30 
31 class COIN_DLL_API SoGroup : public SoNode {
32  typedef SoNode inherited;
33 
34  SO_NODE_HEADER(SoGroup);
35 
36 public:
37  static void initClass(void);
38  SoGroup(void);
39 
40  SoGroup(int nchildren);
41 
42  virtual void addChild(SoNode * node);
43  virtual void insertChild(SoNode * child, int newchildindex);
44  virtual SoNode * getChild(int index) const;
45  virtual int findChild(const SoNode * node) const;
46  virtual int getNumChildren(void) const;
47  virtual void removeChild(int childindex);
48  virtual void removeChild(SoNode * child);
49  virtual void removeAllChildren(void);
50  virtual void replaceChild(int index, SoNode * newchild);
51  virtual void replaceChild(SoNode * oldchild, SoNode * newchild);
52 
53  virtual void doAction(SoAction * action);
54  virtual void GLRender(SoGLRenderAction * action);
55  virtual void callback(SoCallbackAction * action);
56  virtual void getBoundingBox(SoGetBoundingBoxAction * action);
57  virtual void getMatrix(SoGetMatrixAction * action);
58  virtual void handleEvent(SoHandleEventAction * action);
59  virtual void pick(SoPickAction * action);
60  virtual void search(SoSearchAction * action);
61  virtual void write(SoWriteAction * action);
62  virtual void getPrimitiveCount(SoGetPrimitiveCountAction * action);
63  virtual void audioRender(SoAudioRenderAction * action);
64  virtual SoChildList * getChildren(void) const;
65 
66 protected:
67  virtual ~SoGroup();
68 
69  virtual SbBool readInstance(SoInput * in, unsigned short flags);
70  virtual SbBool readChildren(SoInput * in);
71 
72  virtual void copyContents(const SoFieldContainer * from,
73  SbBool copyconnections);
74 
76 
77 private:
78  friend class SoUnknownNode; // Let SoUnknownNode access readChildren().
79  SoGroupP * pimpl;
80 };
81 
82 #endif // !COIN_SOGROUP_H
SbPList::getLength
int getLength(void) const
Definition: SbPList.h:94
SoState
The SoState class manages the Coin scenegraph traversal state data.
Definition: SoState.h:35
SoNode::search
virtual void search(SoSearchAction *action)
Definition: SoNode.cpp:1120
SoReadError::post
static void post(const SoInput *const in, const char *const format,...)
Definition: SoReadError.cpp:110
SoAction::hasTerminated
SbBool hasTerminated(void) const
Definition: SoAction.cpp:1018
SoAudioRenderAction
The SoAudioRenderAction class renders the aural parts of the scene graph.
Definition: SoAudioRenderAction.h:30
SoChildList::set
void set(const int index, SoNode *const node)
Definition: SoChildList.cpp:220
SoGroup::callback
virtual void callback(SoCallbackAction *action)
Definition: SoGroup.cpp:584
SoGroup::copyContents
virtual void copyContents(const SoFieldContainer *from, SbBool copyconnections)
Definition: SoGroup.cpp:369
SoChildList
The SoChildList class is a container for node children.
Definition: SoChildList.h:33
SoDebugError::post
static void post(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:314
SoWriteAction
The SoWriteAction class writes a scene graph to file.
Definition: SoWriteAction.h:31
SoGetBoundingBoxAction::setCenter
void setCenter(const SbVec3f &center, const SbBool transformcenter)
Definition: SoGetBoundingBoxAction.cpp:529
SoGroup::GLRender
virtual void GLRender(SoGLRenderAction *action)
Definition: SoGroup.cpp:513
SoOutput::write
virtual void write(const char c)
Definition: SoOutput.cpp:757
SoGetBoundingBoxAction::resetCenter
void resetCenter(void)
Definition: SoGetBoundingBoxAction.cpp:571
SoOutput
The SoOutput class is an abstraction of an output stream.
Definition: SoOutput.h:42
SoNode::audioRender
virtual void audioRender(SoAudioRenderAction *action)
Definition: SoNode.cpp:1255
SoNode::GLRender
virtual void GLRender(SoGLRenderAction *action)
Definition: SoNode.cpp:904
SoBase::getName
virtual SbName getName(void) const
Definition: SoBase.cpp:730
SoGroup::children
SoChildList * children
Definition: SoGroup.h:75
SoGroup::getBoundingBox
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: SoGroup.cpp:476
SoGroup::getPrimitiveCount
virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: SoGroup.cpp:771
SoChildList::remove
void remove(const int index)
Definition: SoChildList.cpp:141
SoSearchAction
The SoSearchAction class provides methods for searching through scene graphs.
Definition: SoSearchAction.h:32
SoAction
The SoAction class is the base class for all traversal actions.
Definition: SoAction.h:67
SoInput::getIVVersion
virtual float getIVVersion(void)
Definition: SoInput.cpp:1086
SoGetBoundingBoxAction::getCenter
const SbVec3f & getCenter(void) const
Definition: SoGetBoundingBoxAction.cpp:332
SoNode::getPrimitiveCount
virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: SoNode.cpp:846
SoGroup::addChild
virtual void addChild(SoNode *node)
Definition: SoGroup.cpp:393
SoNode::readInstance
virtual SbBool readInstance(SoInput *in, unsigned short flags)
Definition: SoNode.cpp:1438
SoAction::popPushCurPath
void popPushCurPath(const int childindex, SoNode *node=NULL)
Definition: SoAction.cpp:1132
SoGroup::handleEvent
virtual void handleEvent(SoHandleEventAction *action)
Definition: SoGroup.cpp:613
SoBase::writeHeader
SbBool writeHeader(SoOutput *out, SbBool isgroup, SbBool isengine) const
Definition: SoBase.cpp:1315
SoNode::callback
virtual void callback(SoCallbackAction *action)
Definition: SoNode.cpp:974
SoGLRenderAction::abortNow
SbBool abortNow(void)
Definition: SoGLRenderAction.cpp:1112
SoGroup::readChildren
virtual SbBool readChildren(SoInput *in)
Definition: SoGroup.cpp:317
SoGetMatrixAction
The SoGetMatrixAction class is an action for accumulating the transformation matrix of a subgraph.
Definition: SoGetMatrixAction.h:35
SoOutput::isBinary
virtual SbBool isBinary(void) const
Definition: SoOutput.cpp:650
SoGroup::SoGroup
SoGroup(void)
Definition: SoGroup.cpp:219
SbName::getString
const char * getString(void) const
Definition: SbName.cpp:278
SoDebugError::postInfo
static void postInfo(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:334
SoGroup::~SoGroup
virtual ~SoGroup()
Definition: SoGroup.cpp:245
SoNode::getMatrix
virtual void getMatrix(SoGetMatrixAction *action)
Definition: SoNode.cpp:1001
SoBase::read
static SbBool read(SoInput *in, SoBase *&base, SoType expectedtype)
Definition: SoBase.cpp:1146
SoGroup::findChild
virtual int findChild(const SoNode *node) const
Definition: SoGroup.cpp:447
SoGroup::readInstance
virtual SbBool readInstance(SoInput *in, unsigned short flags)
Definition: SoGroup.cpp:278
SoGroup::getFieldData
virtual const SoFieldData * getFieldData(void) const
Definition: SoGroup.cpp:214
SoFieldContainer::findCopy
static SoFieldContainer * findCopy(const SoFieldContainer *orig, const SbBool copyconnections)
Definition: SoFieldContainer.cpp:831
SoAction::popCurPath
void popCurPath(const PathCode prevpathcode)
Definition: SoAction.h:165
SoAction::getPathCode
PathCode getPathCode(int &numindices, const int *&indices)
Definition: SoAction.cpp:890
SoWriteAction::getOutput
SoOutput * getOutput(void) const
Definition: SoWriteAction.cpp:160
SoBase
The SoBase class is the top-level superclass for a number of class-hierarchies.
Definition: SoBase.h:41
SoChildList::insert
void insert(SoNode *const ptr, const int addbefore)
Definition: SoChildList.cpp:116
SoAction::getState
SoState * getState(void) const
Definition: SoAction.cpp:1028
SoFieldContainer
The SoFieldContainer class is a base class for all classes that contain fields.
Definition: SoFieldContainer.h:35
SoChildList::append
void append(SoNode *const node)
Definition: SoChildList.cpp:94
SoBase::ref
void ref(void) const
Definition: SoBase.cpp:574
SoGroup::insertChild
virtual void insertChild(SoNode *child, int newchildindex)
Definition: SoGroup.cpp:406
SbVec3f
The SbVec3f class is a 3 dimensional vector with floating point coordinates.
Definition: SbVec3f.h:37
SoGetBoundingBoxAction
The SoGetBoundingBoxAction class calculates bounding boxes for nodes and subgraphs.
Definition: SoGetBoundingBoxAction.h:34
SoGroup::replaceChild
virtual void replaceChild(int index, SoNode *newchild)
Definition: SoGroup.cpp:719
SoNode::getChildren
virtual SoChildList * getChildren(void) const
Definition: SoNode.cpp:1265
SoGroup::write
virtual void write(SoWriteAction *action)
Definition: SoGroup.cpp:627
SoGetBoundingBoxAction::isCenterSet
SbBool isCenterSet(void) const
Definition: SoGetBoundingBoxAction.cpp:561
SoCallbackAction
The SoCallbackAction class invokes callbacks at specific nodes.
Definition: SoCallbackAction.h:70
SoAction::getCurPathCode
PathCode getCurPathCode(void) const
Definition: SoAction.h:159
SoGroup::getChildren
virtual SoChildList * getChildren(void) const
Definition: SoGroup.cpp:662
SoBase::getTypeId
virtual SoType getTypeId(void) const =0
SoOutput::getStage
Stage getStage(void) const
Definition: SoOutput.cpp:744
SoInput::eof
virtual SbBool eof(void) const
Definition: SoInput.cpp:1796
SoNode::handleEvent
virtual void handleEvent(SoHandleEventAction *action)
Definition: SoNode.cpp:1031
SoInput::read
virtual SbBool read(char &c)
Definition: SoInput.cpp:1180
SoNode::affectsState
virtual SbBool affectsState(void) const
Definition: SoNode.cpp:783
SoAction::pushCurPath
void pushCurPath(const int childindex, SoNode *node=NULL)
Definition: SoAction.cpp:919
SoNode::write
virtual void write(SoWriteAction *action)
Definition: SoNode.cpp:1189
SoBase::writeFooter
void writeFooter(SoOutput *out) const
Definition: SoBase.cpp:1428
SoGroup::removeAllChildren
virtual void removeAllChildren(void)
Definition: SoGroup.cpp:704
SoInput::isBinary
virtual SbBool isBinary(void)
Definition: SoInput.cpp:1096
SbPList::find
int find(void *item) const
Definition: SbPList.cpp:212
SoGroup::audioRender
virtual void audioRender(SoAudioRenderAction *action)
Definition: SoGroup.cpp:620
SoInput
The SoInput class is an abstraction of file import functionality.
Definition: SoInput.h:55
SoGroup::getChild
virtual SoNode * getChild(int index) const
Definition: SoGroup.cpp:257
SoGroup::removeChild
virtual void removeChild(int childindex)
Definition: SoGroup.cpp:426
SoNode
The SoNode class is the base class for nodes used in scene graphs.
Definition: SoNode.h:47
SoAction::PathCode
PathCode
Definition: SoAction.h:70
SoGroup::getNumChildren
virtual int getNumChildren(void) const
Definition: SoGroup.cpp:271
SoType::getName
SbName getName(void) const
Definition: SoType.cpp:628
SoHandleEventAction
The SoHandleEventAction class distributes user events to the scene.
Definition: SoHandleEventAction.h:36
SoGroup
The SoGroup class is a node which managed other node instances.
Definition: SoGroup.h:31
SoChildList::traverse
void traverse(SoAction *const action)
Definition: SoChildList.cpp:404
SoFieldContainer::addWriteReference
virtual void addWriteReference(SoOutput *out, SbBool isfromfield=0)
Definition: SoFieldContainer.cpp:605
SoNode::pick
virtual void pick(SoPickAction *action)
Definition: SoNode.cpp:1057
SoGroup::doAction
virtual void doAction(SoAction *action)
Definition: SoGroup.cpp:462
SoGroup::getTypeId
virtual SoType getTypeId(void) const
Definition: SoGroup.cpp:214
SoNode::doAction
virtual void doAction(SoAction *action)
Definition: SoNode.cpp:761
SoNode::getBoundingBox
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: SoNode.cpp:817
SoGLRenderAction
The SoGLRenderAction class renders the scene graph with OpenGL calls.
Definition: SoGLRenderAction.h:39
SoGroup::search
virtual void search(SoSearchAction *action)
Definition: SoGroup.cpp:648
SoGetPrimitiveCountAction
The SoGetPrimitiveCountAction class counts the primitives in a scene.
Definition: SoGetPrimitiveCountAction.h:32
SbPList::getArrayPtr
void ** getArrayPtr(const int start=0) const
Definition: SbPList.h:110
SoChildList::traverseInPath
void traverseInPath(SoAction *const action, const int numindices, const int *indices)
Definition: SoChildList.cpp:253
SoGroup::pick
virtual void pick(SoPickAction *action)
Definition: SoGroup.cpp:606
SoPickAction
The SoPickAction class is the base class for picking actions.
Definition: SoPickAction.h:32
SoGroup::getMatrix
virtual void getMatrix(SoGetMatrixAction *action)
Definition: SoGroup.cpp:591
SoNode::copyContents
virtual void copyContents(const SoFieldContainer *from, SbBool copyconnections)
Definition: SoNode.cpp:1382
SoFieldData::write
void write(SoOutput *out, const SoFieldContainer *object) const
Definition: SoFieldData.cpp:634
SoSearchAction::isFound
SbBool isFound(void) const
Definition: SoSearchAction.cpp:376

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Wed Jul 24 2019 for Coin by Doxygen. 1.8.17