Open Inventor Release 2024.1.3
 
Loading...
Searching...
No Matches
SoTimerQueueSensor.h
1/*=======================================================================
2 * Copyright 1991-1996, Silicon Graphics, Inc.
3 * ALL RIGHTS RESERVED
4 *
5 * UNPUBLISHED -- Rights reserved under the copyright laws of the United
6 * States. Use of a copyright notice is precautionary only and does not
7 * imply publication or disclosure.
8 *
9 * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
10 * Use, duplication or disclosure by the Government is subject to restrictions
11 * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
12 * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
13 * in similar or successor clauses in the FAR, or the DOD or NASA FAR
14 * Supplement. Contractor/manufacturer is Silicon Graphics, Inc.,
15 * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
16 *
17 * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
18 * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
19 * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
20 * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
21 * GRAPHICS, INC.
22**=======================================================================*/
23/*=======================================================================
24** Author : Nick Thompson (MMM yyyy)
25** Modified by : Paul Strauss (MMM yyyy)
26** Modified by : Gavin Bell (MMM yyyy)
27**=======================================================================*/
28/*=======================================================================
29 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
30 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
31 *** ***
32 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
33 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
34 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
35 *** ***
36 *** RESTRICTED RIGHTS LEGEND ***
37 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
38 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
39 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
40 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
41 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
42 *** ***
43 *** COPYRIGHT (C) 1996-2014 BY FEI S.A.S, ***
44 *** BORDEAUX, FRANCE ***
45 *** ALL RIGHTS RESERVED ***
46**=======================================================================*/
47/*=======================================================================
48** Modified by : VSG (MMM YYYY)
49**=======================================================================*/
50
51
52#ifndef _SO_TIMER_QUEUE_SENSOR_
53#define _SO_TIMER_QUEUE_SENSOR_
54
55#include <Inventor/sensors/SoSensor.h>
56#include <Inventor/SbTime.h>
57
81
82 public:
90 SoTimerQueueSensor(SoSensorCB *func, void *data);
91
92 // Destructor
93#ifndef HIDDEN_FROM_DOC
94 virtual ~SoTimerQueueSensor();
95#endif // HIDDEN_FROM_DOC
96
101 const SbTime & getTriggerTime() const { return trigTime; }
102
107 virtual void schedule();
112 virtual void unschedule();
113
114 private:
115 // Used by subclasses to set the time at which the sensor is to be
116 // triggered.
117 void setTriggerTime(const SbTime &time);
118
119 private:
120 SbTime trigTime; // Time when sensor is to be triggered
121
122 // Returns TRUE if this sensor should precede sensor s in the delay
123 // queue: it must have a lower priority number than s.
124 virtual SbBool isBefore(const SoSensor *s) const;
125};
126
127#endif /* _SO_TIMER_SENSOR_ */
128
Class for representation of a time.
Definition SbTime.h:91
Abstract base class for Open Inventor sensors.
Definition SoSensor.h:100
void SoSensorCB(void *data, SoSensor *sensor)
This typedef defines the calling sequence for all callbacks from sensors.
Definition SoSensor.h:68
Abstract base class for sensors dependent on time.
SoTimerQueueSensor(SoSensorCB *func, void *data)
Constructor that takes standard callback function and data.
virtual void schedule()
Adds this sensor to the timer queue.
const SbTime & getTriggerTime() const
Returns the time at which this sensor is scheduled to be triggered.
SoTimerQueueSensor()
Constructor.
virtual void unschedule()
If this sensor is scheduled, removes it from the timer queue so that it will not be triggered.
int SbBool
Boolean type.
Definition SbBase.h:87