INET Framework for OMNeT++/OMNEST
|
Moves along a line with constant speed to a randomly chosen target. More...
#include <ConstSpeedMobility.h>
Public Member Functions | |
virtual double | getMaxSpeed () const override |
Returns the maximum possible speed at any future time. More... | |
ConstSpeedMobility () | |
Public Member Functions inherited from inet::LineSegmentsMobilityBase | |
LineSegmentsMobilityBase () | |
Public Member Functions inherited from inet::MovingMobilityBase | |
virtual Coord | getCurrentPosition () override |
Returns the current position at the current simulation time. More... | |
virtual Coord | getCurrentSpeed () override |
Returns the current speed at the current simulation time. More... | |
virtual EulerAngles | getCurrentAngularPosition () override |
Returns the current angular position at the current simulation time. More... | |
Public Member Functions inherited from inet::MobilityBase | |
virtual EulerAngles | getCurrentAngularSpeed () override |
Returns the current angular speed at the current simulation time. More... | |
virtual Coord | getConstraintAreaMax () const override |
Returns the current angular acceleration at the current simulation time. More... | |
virtual Coord | getConstraintAreaMin () const override |
Public Member Functions inherited from inet::IMobility | |
virtual | ~IMobility () |
Protected Member Functions | |
virtual int | numInitStages () const override |
Returns the required number of initialize stages. More... | |
virtual void | initialize (int stage) override |
Initializes mobility model parameters. More... | |
virtual void | setTargetPosition () override |
Calculate a new target position to move to. More... | |
Protected Member Functions inherited from inet::LineSegmentsMobilityBase | |
virtual void | initializePosition () override |
Initializes mobility position. More... | |
virtual void | move () override |
Moves according to the mobility model to the current simulation time. More... | |
Protected Member Functions inherited from inet::MovingMobilityBase | |
MovingMobilityBase () | |
virtual | ~MovingMobilityBase () |
virtual void | handleSelfMessage (cMessage *message) override |
Called upon arrival of a self messages, subclasses must override. More... | |
void | scheduleUpdate () |
Schedules the move timer that will update the mobility state. More... | |
void | moveAndUpdate () |
Moves and notifies listeners. More... | |
Protected Member Functions inherited from inet::MobilityBase | |
MobilityBase () | |
virtual void | setInitialPosition () |
Initializes the position from the display string or from module parameters. More... | |
virtual void | checkPosition () |
Checks whether the position is valid or not. More... | |
virtual void | initializeOrientation () |
Initializes the orientation from module parameters. More... | |
virtual void | handleMessage (cMessage *msg) override |
This modules should only receive self-messages. More... | |
virtual void | updateVisualRepresentation () |
Moves the visual representation module's icon to the new position on the screen. More... | |
virtual void | emitMobilityStateChangedSignal () |
Emits a signal with the updated mobility state. More... | |
virtual Coord | getRandomPosition () |
Returns a new random position satisfying the constraint area. More... | |
virtual cModule * | findVisualRepresentation () |
Returns the module that represents the object moved by this mobility module. More... | |
virtual bool | isOutside () |
Returns true if the mobility is outside of the constraint area. More... | |
virtual void | reflectIfOutside (Coord &targetPosition, Coord &speed, double &angle) |
Utility function to reflect the node if it goes outside the constraint area. More... | |
virtual void | wrapIfOutside (Coord &targetPosition) |
Utility function to wrap the node to the opposite edge (torus) if it goes outside the constraint area. More... | |
virtual void | placeRandomlyIfOutside (Coord &targetPosition) |
Utility function to place the node randomly if it goes outside the constraint area. More... | |
virtual void | raiseErrorIfOutside () |
Utility function to raise an error if the node gets outside the constraint area. More... | |
virtual void | handleIfOutside (BorderPolicy policy, Coord &targetPosition, Coord &speed, double &angle) |
Invokes one of reflectIfOutside(), wrapIfOutside() and placeRandomlyIfOutside(), depending on the given border policy. More... | |
Protected Attributes | |
double | speed |
Speed parameter. More... | |
Protected Attributes inherited from inet::LineSegmentsMobilityBase | |
Coord | targetPosition |
End position of current linear movement. More... | |
Protected Attributes inherited from inet::MovingMobilityBase | |
cMessage * | moveTimer |
The message used for mobility state changes. More... | |
simtime_t | updateInterval |
The simulation time interval used to regularly signal mobility state changes. More... | |
bool | stationary |
A mobility model may decide to become stationary at any time. More... | |
Coord | lastSpeed |
The last speed that was reported at lastUpdate. More... | |
simtime_t | lastUpdate |
The simulation time when the mobility state was last updated. More... | |
simtime_t | nextChange |
The next simulation time when the mobility module needs to update its internal state. More... | |
Protected Attributes inherited from inet::MobilityBase | |
cModule * | visualRepresentation |
Pointer to visual representation module, to speed up repeated access. More... | |
const CanvasProjection * | canvasProjection |
The 2D projection used on the canvas. More... | |
Coord | constraintAreaMin |
3 dimensional position and size of the constraint area (in meters). More... | |
Coord | constraintAreaMax |
Coord | lastPosition |
The last position that was reported. More... | |
EulerAngles | lastOrientation |
The last position that was reported. More... | |
Additional Inherited Members | |
Public Types inherited from inet::MobilityBase | |
enum | BorderPolicy { REFLECT, WRAP, PLACERANDOMLY, RAISEERROR } |
Selects how a mobility module should behave if it reaches the edge of the constraint area. More... | |
Static Public Attributes inherited from inet::IMobility | |
static simsignal_t | mobilityStateChangedSignal = cComponent::registerSignal("mobilityStateChanged") |
A signal used to publish mobility state changes. More... | |
Moves along a line with constant speed to a randomly chosen target.
When the target is reached it selects randomly a new one.
inet::ConstSpeedMobility::ConstSpeedMobility | ( | ) |
|
inlineoverridevirtual |
|
overrideprotectedvirtual |
Initializes mobility model parameters.
Reimplemented from inet::MovingMobilityBase.
|
inlineoverrideprotectedvirtual |
|
overrideprotectedvirtual |
Calculate a new target position to move to.
Implements inet::LineSegmentsMobilityBase.
|
protected |
Speed parameter.
Referenced by ConstSpeedMobility(), initialize(), and setTargetPosition().