Open Inventor Reference
SoElapsedTime.h
Go to the documentation of this file.
1/*
2 *
3 * Copyright (C) 2000 Silicon Graphics, Inc. All Rights Reserved.
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * Further, this software is distributed without any warranty that it is
16 * free of the rightful claim of any third person regarding infringement
17 * or the like. Any license provided herein, whether implied or
18 * otherwise, applies only to this software file. Patent licenses, if
19 * any, provided herein do not apply to combinations of this program with
20 * other software, or any other product whatsoever.
21 *
22 * You should have received a copy of the GNU Lesser General Public
23 * License along with this library; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 *
26 * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
27 * Mountain View, CA 94043, or:
28 *
29 * http://www.sgi.com
30 *
31 * For further information regarding this notice, see:
32 *
33 * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
34 *
35 */
36
37
38/*
39 * Copyright (C) 1990,91,92 Silicon Graphics, Inc.
40 *
41 _______________________________________________________________________
42 ______________ S I L I C O N G R A P H I C S I N C . ____________
43 |
44 | $Revision: 1.1.1.1 $
45 |
46 | Description:
47 | This file contains the implementation of the ElapsedTime engine
48 |
49 | Classes:
50 | SoElapsedTime
51 |
52 | Author(s) : Gavin Bell
53 |
54 ______________ S I L I C O N G R A P H I C S I N C . ____________
55 _______________________________________________________________________
56 */
57
58#ifndef _SO_ELAPSED_TIME_
59#define _SO_ELAPSED_TIME_
60
67
70
108
110
112
113 public:
115
116
119
122
125
128
131
133
150
153
154 SoINTERNAL public:
155
156 static void initClass();
157
158 protected:
159
161 virtual void inputChanged(SoField *whichInput);
162
165 virtual void writeInstance(SoOutput *out);
166
170 virtual bool readInstance(SoInput *in, unsigned short flags);
171
172 private:
173 enum Todo {
174 CHECK_ON = (1<<0),
175 CHECK_PAUSE = (1<<1),
176 RESET = (1<<2)
177 };
178 enum State {
179 STOPPED,
180 RUNNING,
181 PAUSED
182 };
183
184 enum State state;
185 unsigned int todo;
186 SbTime prevTimeOfDay;
188 SbTime prevTimeOut;
190 float prevClockTime;
192
195
197 virtual void evaluate();
198};
199
200#endif /* _SO_ELAPSED_TIME_ */
#define SoINTERNAL
Definition SbBasic.h:155
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
Definition SbSystem.h:77
#define SO_ENGINE_HEADER(className)
Class for representation of a time.
Definition SbTime.h:89
Basic controllable time source.
SoSFTrigger reset
Reset the base time.
SoSFFloat speed
Scale factor for time.
SoEngineOutput timeOut
While the engine is on, it keeps track of 'clock' time.
virtual void writeInstance(SoOutput *out)
Writes instance to SoOutput.
virtual bool readInstance(SoInput *in, unsigned short flags)
Reads stuff into instance.
SoSFTime timeIn
Running time.
SoElapsedTime()
Constructor.
SoSFBool on
TRUE to start running, FALSE to stop.
SoSFBool pause
TRUE to freeze, FALSE to continue running.
virtual void inputChanged(SoField *whichInput)
Detects when the running time input changed.
static void initClass()
Class for all engine outputs.
Definition SoEngine.h:228
Base class for all engines.
Definition SoEngine.h:102
virtual void evaluate()=0
User-written evaluation engine.
Base class for all fields.
Definition SoField.h:185
Used to read Inventor data files.
Definition SoInput.h:128
Used to write Inventor data files.
Definition SoOutput.h:90
Field containing a single boolean value.
Definition SoSFBool.h:78
Field containing a floating-point value.
Definition SoSFFloat.h:77
Field containing an SbTime.
Definition SoSFTime.h:80
Field used to trigger engines or connection networks.
Definition SoSFTrigger.h:88