http://www.sim.no/
http://www.coin3d.org/
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
include
Inventor
engines
SoTimeCounter.h
1
/**************************************************************************\
2
*
3
* This file is part of the Coin 3D visualization library.
4
* Copyright (C) by Kongsberg Oil & Gas Technologies.
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* ("GPL") version 2 as published by the Free Software Foundation.
9
* See the file LICENSE.GPL at the root directory of this source
10
* distribution for additional information about the GNU GPL.
11
*
12
* For using Coin with software that can not be combined with the GNU
13
* GPL, and for taking advantage of the additional benefits of our
14
* support services, please contact Kongsberg Oil & Gas Technologies
15
* about acquiring a Coin Professional Edition License.
16
*
17
* See http://www.coin3d.org/ for more information.
18
*
19
* Kongsberg Oil & Gas Technologies, Bygdoy Alle 5, 0257 Oslo, NORWAY.
20
* http://www.sim.no/ sales@sim.no coin-support@coin3d.org
21
*
22
\**************************************************************************/
23
24
#ifndef COIN_SOTIMECOUNTER_H
25
#define COIN_SOTIMECOUNTER_H
26
27
#include <Inventor/engines/SoSubEngine.h>
28
#include <Inventor/engines/SoEngineOutput.h>
29
#include <Inventor/fields/SoSFTime.h>
30
#include <Inventor/fields/SoSFFloat.h>
31
#include <Inventor/fields/SoMFFloat.h>
32
#include <Inventor/fields/SoSFBool.h>
33
#include <Inventor/fields/SoSFTrigger.h>
34
#include <Inventor/fields/SoSFShort.h>
35
36
class
COIN_DLL_API
SoTimeCounter
:
public
SoEngine
{
37
typedef
SoEngine
inherited
;
38
SO_ENGINE_HEADER(
SoTimeCounter
);
39
40
public
:
41
SoSFTime
timeIn
;
42
SoSFShort
min
;
43
SoSFShort
max
;
44
SoSFShort
step
;
45
SoSFBool
on
;
46
SoSFFloat
frequency
;
47
SoMFFloat
duty
;
48
SoSFShort
reset
;
49
SoSFTrigger
syncIn
;
50
51
SoEngineOutput
output
;
// SoSFShort
52
SoEngineOutput
syncOut
;
// SoSFTrigger
53
54
SoTimeCounter
();
55
static
void
initClass();
56
57
protected
:
58
virtual
~
SoTimeCounter
(
void
);
59
60
virtual
void
inputChanged
(
SoField
* which);
61
virtual
void
writeInstance
(
SoOutput
* out);
62
63
private
:
64
virtual
void
evaluate
(
void
);
65
void
calcStarttime(
short
value);
66
67
SbBool ispaused;
68
double
pausetimeincycle;
69
SbBool firstoutputenable;
70
short
outputvalue;
71
int
numsteps;
72
int
stepnum;
73
double
starttime;
74
double
cyclelen;
75
short
findOutputValue(
double
timeincycle)
const
;
76
void
calcDutySteps(
void
);
77
void
calcNumSteps(
void
);
78
79
SbList <double>
dutylimits;
80
};
81
82
#endif // !COIN_SOTIMECOUNTER_H
Copyright © 1998-2010 by
Kongsberg Oil & Gas Technologies
. All rights reserved.
Generated for Coin by
Doxygen
1.8.2.