~ubuntu-branches/ubuntu/oneiric/soqt/oneiric

« back to all changes in this revision

Viewing changes to build/msvc8/src/Inventor/Qt/nodes/SoGuiViewpointWrapper.h

  • Committer: Bazaar Package Importer
  • Author(s): Steve M. Robbins
  • Date: 2009-03-01 11:41:00 UTC
  • mfrom: (1.1.4 upstream) (5.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20090301114100-f4zz3n1oasa52fgk
Tags: 1.4.2~svn20090224-2
* Upload upstream SVN head version containing fixes to build with Coin 3
  (Closes: #515729, #515736, #515742).  Upstream indicated to me that
  SVN is stable enough to release.

* control: Update Standards-Version to 3.8.0; no changes required.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef COIN_SOGUIVIEWPOINTWRAPPER_H
2
 
#define COIN_SOGUIVIEWPOINTWRAPPER_H
3
 
 
4
 
/**************************************************************************\
5
 
 *
6
 
 *  This file is part of the Coin 3D visualization library.
7
 
 *  Copyright (C) 1998-2005 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 <URL:http://www.coin3d.org/> for more information.
21
 
 *
22
 
 *  Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
23
 
 *  <URL:http://www.sim.no/>.
24
 
 *
25
 
\**************************************************************************/
26
 
 
27
 
#ifndef SOQT_INTERNAL
28
 
#error this is a private header file
29
 
#endif /* !SOQT_INTERNAL */
30
 
 
31
 
#include <Inventor/nodes/SoPerspectiveCamera.h>
32
 
#include <Inventor/nodes/SoSubNode.h>
33
 
#include <Inventor/actions/SoSearchAction.h>
34
 
#include <Inventor/SoLists.h>
35
 
 
36
 
class SoPath;
37
 
class SoFullPath;
38
 
class SoPathSensor;
39
 
class SoSensor;
40
 
class SoFieldSensor;
41
 
class SoGetMatrixAction;
42
 
 
43
 
class SoGuiViewpointWrapper : public SoPerspectiveCamera {
44
 
  typedef SoPerspectiveCamera inherited;
45
 
  SO_NODE_HEADER(SoGuiViewpointWrapper);
46
 
public:
47
 
  static void initClass(void);
48
 
  SoGuiViewpointWrapper(void);
49
 
  
50
 
  void setSceneGraph(SoNode * root);
51
 
  
52
 
  static SbBool hasViewpoints(SoNode * root);
53
 
 
54
 
protected:
55
 
  ~SoGuiViewpointWrapper();
56
 
  
57
 
private:
58
 
  void setViewpoint(SoPath * path);
59
 
  
60
 
  static void fieldsensor_cb(void * data, SoSensor * sensor);
61
 
  static void pathsensor_cb(void * data, SoSensor * sensor);
62
 
  static void set_bind_cb(void * data, SoSensor * sensor);
63
 
 
64
 
  void updateCamera(void);
65
 
  void updateViewpoint(void);
66
 
  
67
 
  void attachFieldSensors(void);
68
 
  void detachFieldSensors(void);
69
 
  
70
 
  SoFullPath * pathtoviewpoint;
71
 
  SoPathSensor * pathsensor;
72
 
  SoFieldSensor * positionsensor;
73
 
  SoFieldSensor * orientationsensor;
74
 
  SoFieldSensor * heightanglesensor;
75
 
  SoGetMatrixAction * gmaction;
76
 
 
77
 
  void truncateLists(void);
78
 
  
79
 
  SoNodeList nodelist;
80
 
  SbPList set_bind_sensorlist;
81
 
  SoSearchAction sa;
82
 
  SoNode * scenegraph;
83
 
 
84
 
  void attachSetBindSensors(void);
85
 
  void detachSetBindSensors(void);
86
 
 
87
 
  void sendBindEvents(SoNode * node, const SbBool onoff);
88
 
  void bindTopOfStack(void);
89
 
 
90
 
};
91
 
 
92
 
#endif //  COIN_SOGUIVIEWPOINTWRAPPER_H