MBSim Control Module C++ API
4.0.0
Main Page
Related Pages
Classes
Files
File List
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Pages
mbsimControl
signal_.h
1
/* Copyright (C) 2004-2009 MBSim Development Team
2
*
3
* This library is free software; you can redistribute it and/or
4
* modify it under the terms of the GNU Lesser General Public
5
* License as published by the Free Software Foundation; either
6
* version 2.1 of the License, or (at your option) any later version.
7
*
8
* This library is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
* Lesser General Public License for more details.
12
*
13
* You should have received a copy of the GNU Lesser General Public
14
* License along with this library; if not, write to the Free Software
15
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
*
17
* Contact: markus.ms.schneider@gmail.com
18
*/
19
20
#ifndef _SIGNALMBSIM_H_
21
#define _SIGNALMBSIM_H_
22
23
#include "mbsim/links/link.h"
24
25
namespace
MBSim {
26
class
DynamicSystem;
27
}
28
29
namespace
MBSimControl {
30
31
const
MBXMLUtils::NamespaceURI
MBSIMCONTROL(
"http://www.mbsim-env.de/MBSimControl"
);
32
37
class
Signal
:
public
MBSim::Link
{
38
39
public
:
40
Signal
(
const
std::string &name) : Link(name), upds(
true
) {}
41
42
void
init(InitStage stage);
43
44
/* INHERITED INTERFACE OF LINKINTERFACE */
45
virtual
void
updateg() {}
46
virtual
void
updategd() {}
47
virtual
void
updateSignal() {}
48
/***************************************************/
49
50
/* INHERITED INTERFACE OF LINK */
51
virtual
void
updateWRef(
const
fmatvec::Mat
& ref,
int
i=0) {}
52
virtual
void
updateVRef(
const
fmatvec::Mat
& ref,
int
i=0) {}
53
virtual
void
updatehRef(
const
fmatvec::Vec
&hRef,
int
i=0) {}
54
virtual
void
updatedhdqRef(
const
fmatvec::Mat
& ref,
int
i=0) {}
55
virtual
void
updatedhduRef(
const
fmatvec::SqrMat
& ref,
int
i=0) {}
56
virtual
void
updatedhdtRef(
const
fmatvec::Vec
& ref,
int
i=0) {}
57
virtual
void
updaterRef(
const
fmatvec::Vec
&ref,
int
i=0) {}
58
virtual
bool
isActive()
const
{
return
false
; }
59
virtual
bool
gActiveChanged() {
return
false
; }
60
virtual
bool
isSingleValued()
const
{
return
true
; }
61
/***************************************************/
62
63
/* INHERITED INTERFACE OF ELEMENT */
64
std::string getType()
const
{
return
"Signal"
; }
65
virtual
void
plot();
66
/***************************************************/
67
68
const
fmatvec::VecV& getSignal(
bool
check=
true
) { assert((not check) or (not upds));
return
s; }
69
const
fmatvec::VecV& evalSignal() {
if
(upds) updateSignal();
return
s; }
70
virtual
int
getSignalSize()
const
{
return
s.size(); }
71
72
void
resetUpToDate() { upds =
true
; }
73
74
protected
:
75
fmatvec::VecV s;
76
bool
upds;
77
};
78
79
}
80
81
#endif
/* _SIGNALMBSIM_H_ */
82
MBSim::Link
fmatvec::Matrix
MBXMLUtils::NamespaceURI
MBSimControl::Signal
Signal.
Definition:
signal_.h:37
fmatvec::SquareMatrix
fmatvec::Vector
Impressum
/
Disclaimer
/
Datenschutz
Generated by
doxygen
1.8.5