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

SoSceneManager.h
1 #ifndef COIN_SOSCENEMANAGER_H
2 #define COIN_SOSCENEMANAGER_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/SbColor.h>
28 #include <Inventor/SbVec2s.h>
29 
30 class SbViewportRegion;
31 class SoEvent;
32 class SoGLRenderAction;
35 class SoNode;
36 class SoNodeSensor;
37 class SoOneShotSensor;
38 class SoSensor;
39 
40 class SoSceneManager;
41 typedef void SoSceneManagerRenderCB(void * userdata, SoSceneManager * mgr);
42 
43 
44 class COIN_DLL_API SoSceneManager {
45 public:
46  SoSceneManager(void);
47  virtual ~SoSceneManager();
48  virtual void render(const SbBool clearwindow = TRUE,
49  const SbBool clearzbuffer = TRUE);
50  virtual void render(SoGLRenderAction * action,
51  const SbBool initmatrices = TRUE,
52  const SbBool clearwindow = TRUE,
53  const SbBool clearzbuffer = TRUE);
54  virtual SbBool processEvent(const SoEvent * const event);
55  void reinitialize(void);
56  void scheduleRedraw(void);
57  virtual void setSceneGraph(SoNode * const sceneroot);
58  virtual SoNode * getSceneGraph(void) const;
59  void setWindowSize(const SbVec2s & newsize);
60  const SbVec2s & getWindowSize(void) const;
61  void setSize(const SbVec2s & newsize);
62  const SbVec2s & getSize(void) const;
63  void setOrigin(const SbVec2s & newOrigin);
64  const SbVec2s & getOrigin(void) const;
65  void setViewportRegion(const SbViewportRegion & newRegion);
66  const SbViewportRegion & getViewportRegion(void) const;
67  void setBackgroundColor(const SbColor & color);
68  const SbColor & getBackgroundColor(void) const;
69  void setBackgroundIndex(const int index);
70  int getBackgroundIndex(void) const;
71  void setRGBMode(const SbBool onOrOff);
72  SbBool isRGBMode(void) const;
73  virtual void activate(void);
74  virtual void deactivate(void);
75  void setRenderCallback(SoSceneManagerRenderCB * f,
76  void * const userData = NULL);
77  SbBool isAutoRedraw(void) const;
78  void setRedrawPriority(const uint32_t priority);
79  uint32_t getRedrawPriority(void) const;
80  void setAntialiasing(const SbBool smoothing, const int numPasses);
81  void getAntialiasing(SbBool & smoothing, int & numPasses) const;
82  void setGLRenderAction(SoGLRenderAction * const action);
83  SoGLRenderAction * getGLRenderAction(void) const;
84  void setAudioRenderAction(SoAudioRenderAction * const action);
85  SoAudioRenderAction * getAudioRenderAction(void) const;
86  void setHandleEventAction(SoHandleEventAction * hea);
87  SoHandleEventAction * getHandleEventAction(void) const;
88 
89  static uint32_t getDefaultRedrawPriority(void);
90  static void enableRealTimeUpdate(const SbBool flag);
91  static SbBool isRealTimeUpdateEnabled(void);
92 
93 protected:
94  int isActive(void) const;
95  void redraw(void);
96 
97 private:
98  class SoSceneManagerP * pimpl;
99  friend class SoSceneManagerP;
100 };
101 
102 #endif // !COIN_SOSCENEMANAGER_H
SoDB::getGlobalField
static SoField * getGlobalField(const SbName &name)
Definition: SoDB.cpp:1297
SoSceneManager::getAntialiasing
void getAntialiasing(SbBool &smoothing, int &numPasses) const
Definition: SoSceneManager.cpp:798
SoSceneManager::setWindowSize
void setWindowSize(const SbVec2s &newsize)
Definition: SoSceneManager.cpp:510
SoAudioRenderAction
The SoAudioRenderAction class renders the aural parts of the scene graph.
Definition: SoAudioRenderAction.h:30
SbViewportRegion::getViewportSizePixels
const SbVec2s & getViewportSizePixels(void) const
Definition: SbViewportRegion.cpp:425
SoAction::apply
virtual void apply(SoNode *root)
Definition: SoAction.cpp:476
SoSceneManager::getGLRenderAction
SoGLRenderAction * getGLRenderAction(void) const
Definition: SoSceneManager.cpp:842
SoDebugError::post
static void post(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:314
SoAudioDevice::instance
static SoAudioDevice * instance()
Definition: SoAudioDevice.cpp:99
SoSensor
The SoSensor class is the abstract base class for all sensors.
Definition: SoSensor.h:34
SoSceneManager::getOrigin
const SbVec2s & getOrigin(void) const
Definition: SoSceneManager.cpp:600
SoSceneManager::setSceneGraph
virtual void setSceneGraph(SoNode *const sceneroot)
Definition: SoSceneManager.cpp:462
SoSceneManager::setBackgroundIndex
void setBackgroundIndex(const int index)
Definition: SoSceneManager.cpp:671
SbViewportRegion::getWindowSize
const SbVec2s & getWindowSize(void) const
Definition: SbViewportRegion.cpp:366
SbMutex::unlock
int unlock(void)
Definition: SbMutex.h:41
SoSceneManager::deactivate
virtual void deactivate(void)
Definition: SoSceneManager.cpp:724
SoSceneManager::isRealTimeUpdateEnabled
static SbBool isRealTimeUpdateEnabled(void)
Definition: SoSceneManager.cpp:933
SbViewportRegion::setViewportPixels
void setViewportPixels(short left, short bottom, short width, short height)
Definition: SbViewportRegion.cpp:313
SoSceneManager::getSceneGraph
virtual SoNode * getSceneGraph(void) const
Definition: SoSceneManager.cpp:495
SbMutex::lock
int lock(void)
Definition: SbMutex.h:35
SoSceneManager::getRedrawPriority
uint32_t getRedrawPriority(void) const
Definition: SoSceneManager.cpp:774
SoSceneManager::setRenderCallback
void setRenderCallback(SoSceneManagerRenderCB *f, void *const userData=NULL)
Definition: SoSceneManager.cpp:735
SoSceneManager::getBackgroundColor
const SbColor & getBackgroundColor(void) const
Definition: SoSceneManager.cpp:659
SoSceneManager::getWindowSize
const SbVec2s & getWindowSize(void) const
Definition: SoSceneManager.cpp:532
SoSceneManager::getViewportRegion
const SbViewportRegion & getViewportRegion(void) const
Definition: SoSceneManager.cpp:640
SoSceneManager::isRGBMode
SbBool isRGBMode(void) const
Definition: SoSceneManager.cpp:706
SoBase::unref
void unref(void) const
Definition: SoBase.cpp:627
SbVec2s
The SbVec2s class is a 2 dimensional vector with short integer coordinates.
Definition: SbVec2s.h:37
SoSceneManager::setAudioRenderAction
void setAudioRenderAction(SoAudioRenderAction *const action)
Definition: SoSceneManager.cpp:852
SoField
The SoField class is the top-level abstract base class for fields.
Definition: SoField.h:38
SoOneShotSensor
The SoOneShotSensor class is a sensor which will trigger once.
Definition: SoOneShotSensor.h:29
SoGLRenderAction::invalidateState
virtual void invalidateState(void)
Definition: SoGLRenderAction.cpp:1237
SoDebugError::postInfo
static void postInfo(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:334
SoSceneManager::setOrigin
void setOrigin(const SbVec2s &newOrigin)
Definition: SoSceneManager.cpp:576
SoDataSensor::notify
virtual void notify(SoNotList *l)
Definition: SoDataSensor.cpp:209
SoNotList::print
void print(FILE *const file=stdout) const
Definition: SoNotification.cpp:195
SoSceneManager::setRGBMode
void setRGBMode(const SbBool onOrOff)
Definition: SoSceneManager.cpp:692
SoSceneManager::setSize
void setSize(const SbVec2s &newsize)
Definition: SoSceneManager.cpp:542
SoDB::isInitialized
static SbBool isInitialized(void)
Definition: SoDB.cpp:1508
SoSceneManager::getDefaultRedrawPriority
static uint32_t getDefaultRedrawPriority(void)
Definition: SoSceneManager.cpp:905
SoSceneManager::enableRealTimeUpdate
static void enableRealTimeUpdate(const SbBool flag)
Definition: SoSceneManager.cpp:919
SbColor
The SbColor class contains the red, green and blue components which make up a color value.
Definition: SbColor.h:30
SoSceneManager::setViewportRegion
void setViewportRegion(const SbViewportRegion &newRegion)
Definition: SoSceneManager.cpp:614
SoAction::getState
SoState * getState(void) const
Definition: SoAction.cpp:1028
SoSceneManager::getSize
const SbVec2s & getSize(void) const
Definition: SoSceneManager.cpp:564
SoSceneManager
The SoSceneManager class provides the main interface between the scene graph and the GUI toolkit.
Definition: SoSceneManager.h:44
SoState::getDepth
int getDepth(void) const
Definition: SoState.cpp:330
SoSceneManager::scheduleRedraw
void scheduleRedraw(void)
Definition: SoSceneManager.cpp:413
SoSceneManager::setBackgroundColor
void setBackgroundColor(const SbColor &color)
Definition: SoSceneManager.cpp:649
SoNodeSensor
The SoNodeSensor class detects changes to nodes.
Definition: SoNodeSensor.h:29
SoGLRenderAction::addPreRenderCallback
void addPreRenderCallback(SoGLPreRenderCB *func, void *userdata)
Definition: SoGLRenderAction.cpp:1296
SoField::getTypeId
virtual SoType getTypeId(void) const =0
SoSceneManager::getHandleEventAction
SoHandleEventAction * getHandleEventAction(void) const
Definition: SoSceneManager.cpp:894
SoSFTime
The SoSFTime class is a container for an SbTime value.
Definition: SoSFTime.h:31
SbViewportRegion
The SbViewportRegion class is a viewport within a full window.
Definition: SbViewportRegion.h:31
SbMutex
A basic class for managing a mutex.
Definition: SbMutex.h:30
SbViewportRegion::setWindowSize
void setWindowSize(short width, short height)
Definition: SbViewportRegion.cpp:211
SoAction::invalidateState
virtual void invalidateState(void)
Definition: SoAction.cpp:783
SoGLRenderAction::getViewportRegion
const SbViewportRegion & getViewportRegion(void) const
Definition: SoGLRenderAction.cpp:688
SoDelayQueueSensor::isScheduled
virtual SbBool isScheduled(void) const
Definition: SoDelayQueueSensor.cpp:196
SoSceneManager::processEvent
virtual SbBool processEvent(const SoEvent *const event)
Definition: SoSceneManager.cpp:373
SoSceneManager::SoSceneManager
SoSceneManager(void)
Definition: SoSceneManager.cpp:188
SoSceneManager::reinitialize
void reinitialize(void)
Definition: SoSceneManager.cpp:401
SoSceneManager::~SoSceneManager
virtual ~SoSceneManager()
Definition: SoSceneManager.cpp:221
SoGLRenderAction::removePreRenderCallback
void removePreRenderCallback(SoGLPreRenderCB *func, void *userdata)
Definition: SoGLRenderAction.cpp:1309
SoNode
The SoNode class is the base class for nodes used in scene graphs.
Definition: SoNode.h:47
SoSceneManager::getBackgroundIndex
int getBackgroundIndex(void) const
Definition: SoSceneManager.cpp:682
SoSceneManager::setHandleEventAction
void setHandleEventAction(SoHandleEventAction *hea)
Definition: SoSceneManager.cpp:881
SoHandleEventAction
The SoHandleEventAction class distributes user events to the scene.
Definition: SoHandleEventAction.h:36
SoSceneManager::isAutoRedraw
SbBool isAutoRedraw(void) const
Definition: SoSceneManager.cpp:750
SbTime::getTimeOfDay
static SbTime getTimeOfDay(void)
Definition: SbTime.cpp:139
SoSceneManager::redraw
void redraw(void)
Definition: SoSceneManager.cpp:446
SoSceneManager::setAntialiasing
void setAntialiasing(const SbBool smoothing, const int numPasses)
Definition: SoSceneManager.cpp:786
SoSceneManager::activate
virtual void activate(void)
Definition: SoSceneManager.cpp:715
SoEvent
The SoEvent class is the base class for all Coin events.
Definition: SoEvent.h:34
SoSceneManager::setRedrawPriority
void setRedrawPriority(const uint32_t priority)
Definition: SoSceneManager.cpp:763
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
SoSceneManager::setGLRenderAction
void setGLRenderAction(SoGLRenderAction *const action)
Definition: SoSceneManager.cpp:809
SoSceneManager::render
virtual void render(const SbBool clearwindow=1, const SbBool clearzbuffer=1)
Definition: SoSceneManager.cpp:245
SbViewportRegion::getViewportOriginPixels
const SbVec2s & getViewportOriginPixels(void) const
Definition: SbViewportRegion.cpp:398
SoSceneManager::getAudioRenderAction
SoAudioRenderAction * getAudioRenderAction(void) const
Definition: SoSceneManager.cpp:871
SoSceneManager::isActive
int isActive(void) const
Definition: SoSceneManager.cpp:437

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

Generated on Mon Jul 27 2020 for Coin by Doxygen. 1.8.18