File: scene_observer_proxy.hh

package info (click to toggle)
openstructure 2.11.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 206,240 kB
  • sloc: cpp: 188,571; python: 36,686; ansic: 34,298; fortran: 3,275; sh: 312; xml: 146; makefile: 29
file content (78 lines) | stat: -rw-r--r-- 1,696 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#ifndef OST_GFX_SCENE_OBSERVER_PROXY_HH
#define OST_GFX_SCENE_OBSERVER_PROXY_HH

#include <boost/python.hpp>
#include <boost/shared_ptr.hpp>
#include <iostream>

#include <ost/mol/view_type_fw.hh>

#include <ost/gfx/gfx_node.hh>
#include <ost/gfx/scene_observer.hh>

#include <ost/gfx/gfx_node_fw.hh>
#include <ost/gfx/gfx_object_fw.hh>

using namespace ost;
using namespace ost::gfx;


class SceneObserverProxy: public SceneObserver {
public:
  SceneObserverProxy(PyObject *p) :
    self(p) {
  }

  SceneObserverProxy(PyObject *p, const SceneObserver& i) :
    SceneObserver(i), self(p) {
  }

  virtual void NodeAdded(const GfxNodeP& node) {
    call_method<void, GfxNodeP> (self, "NodeAdded", node);
  }

  virtual void NodeRemoved(const GfxNodeP& node) {
    call_method<void, GfxNodeP> (self, "NodeRemoved", node);
  }

  virtual void NodeChanged(const GfxNodeP& node) {
    call_method<void, GfxNodeP> (self, "NodeChanged", node);
  }

  virtual void SelectionModeChanged(const GfxNodeP& node) {
    call_method<void, GfxNodeP> (self, "SelectionModeChanged",
        node);
  }

  virtual void NodeTransformed(const GfxNodeP& node) {
    call_method<void, GfxNodeP> (self, "NodeTransformed", node);
  }

  virtual void RenderModeChanged(const GfxNodeP& node) {
    call_method<void, GfxNodeP> (self, "RenderModeChanged", node);
  }

  void NodeAddedDefault(const GfxNodeP&) {
  }

  void NodeRemovedDefault(const GfxNodeP&) {
  }

  void NodeChangedDefault(const GfxNodeP&) {
  }

  void SelectionModeChangedDefault(const GfxNodeP&) {
  }

  void NodeTransformedDefault(const GfxNodeP&) {
  }

  void RenderModeChangedDefault(const GfxNodeP&) {
  }

private:
  PyObject* self;
};


#endif