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

SoLOD.h
1 #ifndef COIN_SOLOD_H
2 #define COIN_SOLOD_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 #include <Inventor/nodes/SoGroup.h>
29 #include <Inventor/fields/SoMFFloat.h>
30 #include <Inventor/fields/SoSFVec3f.h>
31 
32 class SoLODP;
33 
34 class COIN_DLL_API SoLOD : public SoGroup {
35  typedef SoGroup inherited;
36 
37  SO_NODE_HEADER(SoLOD);
38 
39 public:
40  SoLOD(void);
41  SoLOD(int numchildren);
42 
43  static void initClass(void);
44 
47 
48  virtual void doAction(SoAction * action);
49  virtual void callback(SoCallbackAction * action);
50  virtual void GLRender(SoGLRenderAction * action);
51  virtual void GLRenderBelowPath(SoGLRenderAction * action);
52  virtual void GLRenderInPath(SoGLRenderAction * action);
53  virtual void GLRenderOffPath(SoGLRenderAction * action);
54  virtual void rayPick(SoRayPickAction * action);
55  virtual void getBoundingBox(SoGetBoundingBoxAction * action);
56  virtual void getPrimitiveCount(SoGetPrimitiveCountAction * action);
57  virtual void audioRender(SoAudioRenderAction * action);
58  virtual void notify(SoNotList *nl);
59 
60 protected:
61  virtual ~SoLOD();
62 
63  virtual int whichToTraverse(SoAction *);
64 
65 private:
66  void commonConstructor(void);
67 
68 private:
69  SoLODP *pimpl;
70  friend class SoLODP;
71 };
72 
73 #endif // !COIN_SOLOD_H
SoSFVec3f
The SoSFVec3f class is a container for an SbVec3f vector.
Definition: SoSFVec3f.h:31
SoState
The SoState class manages the Coin scenegraph traversal state data.
Definition: SoState.h:35
SoMField::getNum
int getNum(void) const
Definition: SoMField.h:86
SoLOD::GLRenderOffPath
virtual void GLRenderOffPath(SoGLRenderAction *action)
Definition: SoLOD.cpp:304
SoAction::hasTerminated
SbBool hasTerminated(void) const
Definition: SoAction.cpp:1018
SoMFFloat
The SoMFFloat class is a container for floating point values.
Definition: SoMFFloat.h:30
SoAudioRenderAction
The SoAudioRenderAction class renders the aural parts of the scene graph.
Definition: SoAudioRenderAction.h:30
SoLOD::callback
virtual void callback(SoCallbackAction *action)
Definition: SoLOD.cpp:224
SoGroup::callback
virtual void callback(SoCallbackAction *action)
Definition: SoGroup.cpp:584
SoNode::rayPick
virtual void rayPick(SoRayPickAction *action)
Definition: SoNode.cpp:1087
SbMatrix
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition: SbMatrix.h:37
SoGroup::GLRender
virtual void GLRender(SoGLRenderAction *action)
Definition: SoGroup.cpp:513
SoNode::notify
virtual void notify(SoNotList *l)
Definition: SoNode.cpp:423
SoNode::GLRenderOffPath
virtual void GLRenderOffPath(SoGLRenderAction *action)
Definition: SoNode.cpp:939
SbPList::get
void * get(const int index) const
Definition: SbPList.h:135
SoLOD::SoLOD
SoLOD(void)
Definition: SoLOD.cpp:147
SoNode::VRML1
@ VRML1
Definition: SoNode.h:61
SoLOD::whichToTraverse
virtual int whichToTraverse(SoAction *)
Definition: SoLOD.cpp:352
SbMatrix::multVecMatrix
void multVecMatrix(const SbVec3f &src, SbVec3f &dst) const
Definition: SbMatrix.cpp:1357
SoLOD::GLRenderBelowPath
virtual void GLRenderBelowPath(SoGLRenderAction *action)
Definition: SoLOD.cpp:261
SoGroup::children
SoChildList * children
Definition: SoGroup.h:75
SoLOD
The SoLOD class is used to choose a child based distance between viewer and object.
Definition: SoLOD.h:34
SoGroup::getBoundingBox
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: SoGroup.cpp:476
SoGroup::getPrimitiveCount
virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: SoGroup.cpp:771
SoAction
The SoAction class is the base class for all traversal actions.
Definition: SoAction.h:67
SoLOD::GLRender
virtual void GLRender(SoGLRenderAction *action)
Definition: SoLOD.cpp:240
SoLOD::getBoundingBox
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: SoLOD.cpp:328
SoLOD::notify
virtual void notify(SoNotList *nl)
Definition: SoLOD.cpp:375
SoLOD::doAction
virtual void doAction(SoAction *action)
Definition: SoLOD.cpp:202
SoNode::GLRenderInPath
virtual void GLRenderInPath(SoGLRenderAction *action)
Definition: SoNode.cpp:927
SbViewVolume::getProjectionPoint
const SbVec3f & getProjectionPoint(void) const
Definition: SbViewVolume.cpp:597
SoGLRenderAction::abortNow
SbBool abortNow(void)
Definition: SoGLRenderAction.cpp:1112
SoField::setDefault
void setDefault(SbBool def)
Definition: SoField.cpp:650
SoLOD::getPrimitiveCount
virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: SoLOD.cpp:340
SoAction::popCurPath
void popCurPath(const PathCode prevpathcode)
Definition: SoAction.h:165
SoAction::getPathCode
PathCode getPathCode(int &numindices, const int *&indices)
Definition: SoAction.cpp:890
SoBase
The SoBase class is the top-level superclass for a number of class-hierarchies.
Definition: SoBase.h:41
SoAction::getState
SoState * getState(void) const
Definition: SoAction.cpp:1028
SoLOD::audioRender
virtual void audioRender(SoAudioRenderAction *action)
Definition: SoLOD.cpp:231
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
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
SoLOD::rayPick
virtual void rayPick(SoRayPickAction *action)
Definition: SoLOD.cpp:321
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
SbViewVolume
The SbViewVolume class is a viewing volume in 3D space.
Definition: SbViewVolume.h:41
SoMField::setNum
void setNum(const int num)
Definition: SoMField.cpp:615
SoGroup::audioRender
virtual void audioRender(SoAudioRenderAction *action)
Definition: SoGroup.cpp:620
SoGroup::getChild
virtual SoNode * getChild(int index) const
Definition: SoGroup.cpp:257
SoLOD::~SoLOD
virtual ~SoLOD()
Definition: SoLOD.cpp:187
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
SoLOD::center
SoSFVec3f center
Definition: SoLOD.h:46
SoGroup
The SoGroup class is a node which managed other node instances.
Definition: SoGroup.h:31
SoNode::GLRenderBelowPath
virtual void GLRenderBelowPath(SoGLRenderAction *action)
Definition: SoNode.cpp:915
SoChildList::traverse
void traverse(SoAction *const action)
Definition: SoChildList.cpp:404
SoRayPickAction
The SoRayPickAction class does ray intersection with scene graphs.
Definition: SoRayPickAction.h:40
SoGroup::doAction
virtual void doAction(SoAction *action)
Definition: SoGroup.cpp:462
SoNotList
The SoNotList class is a list of SoNotRec notification records.
Definition: SoNotification.h:34
SoGLRenderAction
The SoGLRenderAction class renders the scene graph with OpenGL calls.
Definition: SoGLRenderAction.h:39
SoGetPrimitiveCountAction
The SoGetPrimitiveCountAction class counts the primitives in a scene.
Definition: SoGetPrimitiveCountAction.h:32
SoLOD::GLRenderInPath
virtual void GLRenderInPath(SoGLRenderAction *action)
Definition: SoLOD.cpp:279
SoLOD::range
SoMFFloat range
Definition: SoLOD.h:45
SoChildList::traverseInPath
void traverseInPath(SoAction *const action, const int numindices, const int *indices)
Definition: SoChildList.cpp:253

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

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