| http://www.sim.no/ http://www.coin3d.org/

SoDataSensor.h
1 #ifndef COIN_SODATASENSOR_H
2 #define COIN_SODATASENSOR_H
3
4 /**************************************************************************\
5 *
6 * This file is part of the Coin 3D visualization library.
7 * Copyright (C) by Kongsberg Oil & Gas Technologies.
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 Kongsberg Oil & Gas Technologies
18 * about acquiring a Coin Professional Edition License.
19 *
20 * See http://www.coin3d.org/ for more information.
21 *
22 * Kongsberg Oil & Gas Technologies, Bygdoy Alle 5, 0257 Oslo, NORWAY.
23 * http://www.sim.no/ sales@sim.no coin-support@coin3d.org
24 *
25 \**************************************************************************/
26
27 #include <Inventor/sensors/SoDelayQueueSensor.h>
28 #include <stdlib.h> // for NULL definition
29
30 class SoNode;
31 class SoField;
32 class SoPath;
33 class SoNotList;
34
35 class COIN_DLL_API SoDataSensor : public SoDelayQueueSensor {
36 typedef SoDelayQueueSensor inherited;
37
38 public:
39 SoDataSensor(void);
40 SoDataSensor(SoSensorCB * func, void * data);
41 virtual ~SoDataSensor(void);
42
43 void setDeleteCallback(SoSensorCB * function, void * data = NULL);
44 SoNode * getTriggerNode(void) const;
45 SoField * getTriggerField(void) const;
46 SoPath * getTriggerPath(void) const;
47 void setTriggerPathFlag(SbBool flag);
48 SbBool getTriggerPathFlag(void) const;
49
50 virtual void trigger(void);
51 virtual void notify(SoNotList * l);
52 virtual void dyingReference(void) = 0;
53
54 protected:
55 void invokeDeleteCallback(void);
56
57 private:
58 SoSensorCB * cbfunc;
59 void * cbdata;
60 SbBool findpath;
61 SoField * triggerfield;
62 SoNode * triggernode;
63 SoPath * triggerpath;
64 };
65
66 #endif // !COIN_SODATASENSOR_H
SoDelayQueueSensor
The SoDelayQueueSensor class is the abstract base class for priority scheduled sensors.Delay queue sensors are invoked upon various events not related to time occurrences. See documentation of subclasses to see which types of events can be surveilled by the builtin sensor types.
Definition: SoDelayQueueSensor.h:31
SoDataSensor
The SoDataSensor class is the abstract base class for sensors monitoring changes in a scene graph...
Definition: SoDataSensor.h:35
SoField
The SoField class is the top-level abstract base class for fields.Fields is the mechanism used throug...
Definition: SoField.h:38
SoNode
The SoNode class is the base class for nodes used in scene graphs.Coin is a retained mode 3D visualiz...
Definition: SoNode.h:47
SoDelayQueueSensor::trigger
virtual void trigger(void)
Definition: SoDelayQueueSensor.cpp:147
SoPath
The SoPath class is a container class for traversal path descriptions.SoPath objects contain a list o...
Definition: SoPath.h:43
SoNotList
The SoNotList class is a list of SoNotRec notification records.
Definition: SoNotification.h:34

Copyright © 1998-2010 by Kongsberg Oil & Gas Technologies. All rights reserved.