TODO: Short description for this AnalogueModel. More...
#include <IntensityModel.h>
Inherits AnalogueModel.

Public Member Functions | |
| void | filterSignal (Signal &s) |
| Has to be overriden by every implementation. | |
TODO: Short description for this AnalogueModel.
Definition at line 36 of file IntensityModel.h.
| void IntensityModel::filterSignal | ( | Signal & | s | ) | [inline, virtual] |
Has to be overriden by every implementation.
Filters a specified Signal by adding an attenuation over time to the Signal.
Implements AnalogueModel.
Definition at line 40 of file IntensityModel.h.
References Signal::addAttenuation(), Coord::distance(), Signal::getMove(), Signal::getSignalStart(), and TimeMapping< Interpolator >::setValue().
{
TimeMapping<Linear>* attMapping = new TimeMapping<Linear> ();
// Determine distance between sender and receiver
Move srcMove = s.getMove();
Coord srcCoord, rcvCoord;
double distance = 0;
srcCoord = srcMove.getPositionAt(s.getSignalStart());
rcvCoord = move->getPositionAt(s.getSignalStart());
distance = rcvCoord.distance(srcCoord);
Argument arg;
attMapping->setValue(arg, 4*PI*pow(distance, 2));
s.addAttenuation(attMapping);
}
1.7.1