|
INET Framework for OMNeT++/OMNEST
|
Abstract base class defining the public interface that must be provided by all mobility modules. More...
#include <IMobility.h>
Public Member Functions | |
| virtual | ~IMobility () |
| virtual int | getId () const =0 |
| virtual double | getMaxSpeed () const =0 |
| Returns the maximum possible speed at any future time. More... | |
| virtual const Coord & | getCurrentPosition ()=0 |
| Returns the position at the current simulation time. More... | |
| virtual const Coord & | getCurrentVelocity ()=0 |
| Returns the velocity at the current simulation time. More... | |
| virtual const Coord & | getCurrentAcceleration ()=0 |
| Returns the acceleration at the current simulation time. More... | |
| virtual const Quaternion & | getCurrentAngularPosition ()=0 |
| Returns the angular position at the current simulation time. More... | |
| virtual const Quaternion & | getCurrentAngularVelocity ()=0 |
| Returns the angular velocity at the current simulation time. More... | |
| virtual const Quaternion & | getCurrentAngularAcceleration ()=0 |
| Returns the angular acceleration at the current simulation time. More... | |
| virtual const Coord & | getConstraintAreaMax () const =0 |
| Returns the maximum position along each axes for. More... | |
| virtual const Coord & | getConstraintAreaMin () const =0 |
| Returns the minimum position along each axes for. More... | |
Static Public Attributes | |
| static simsignal_t | mobilityStateChangedSignal = cComponent::registerSignal("mobilityStateChanged") |
| A signal used to publish mobility state changes. More... | |
Abstract base class defining the public interface that must be provided by all mobility modules.
The mobility interface uses a 3D right-handed Euclidean coordinate system.
Coordinates are represented by 3D double precision tuples called Coord. The coordinates are in X, Y, Z order, they are measured in metres. Conceptually, the X axis goes to the right, the Y axis goes forward, the Z axis goes upward.
Orientations are represented by 3D double precision Tait-Bryan (Euler) tuples called EulerAngles. The angles are in Z, Y', X" order that is often called intrinsic rotations, they are measured in radians. The default (unrotated) orientation is along the X axis. Conceptually, the Z axis rotation is heading, the Y' axis rotation is descending, the X" axis rotation is bank. For example, positive rotation along the Z axis rotates X into Y (turns left), positive rotation along the Y axis rotates Z into X (leans forward), positive rotation along the X axis rotates Y into Z (leans right).
|
pure virtual |
Returns the maximum position along each axes for.
Implemented in inet::MobilityBase, and inet::StationaryMobilityBase.
Referenced by inet::physicallayer::MediumLimitCache::computeMaxConstreaintArea().
|
pure virtual |
Returns the minimum position along each axes for.
Implemented in inet::MobilityBase, and inet::StationaryMobilityBase.
Referenced by inet::physicallayer::MediumLimitCache::computeMinConstraintArea().
|
pure virtual |
Returns the acceleration at the current simulation time.
Implemented in inet::MovingMobilityBase, inet::SuperpositioningMobility, inet::AttachedMobility, inet::FacingMobility, and inet::StationaryMobilityBase.
Referenced by inet::MobilityBase::DirectiveResolver::resolveDirective().
|
pure virtual |
Returns the angular acceleration at the current simulation time.
Implemented in inet::MovingMobilityBase, inet::SuperpositioningMobility, inet::CircleMobility, inet::AttachedMobility, inet::FacingMobility, and inet::StationaryMobilityBase.
Referenced by inet::MobilityBase::DirectiveResolver::resolveDirective().
|
pure virtual |
Returns the angular position at the current simulation time.
Implemented in inet::MovingMobilityBase, inet::RotatingMobilityBase, inet::SuperpositioningMobility, inet::AttachedMobility, inet::FacingMobility, and inet::StationaryMobilityBase.
Referenced by inet::physicallayer::ConstantTimePropagation::computeArrival(), inet::physicallayer::ConstantSpeedPropagation::computeArrival(), inet::physicallayer::ApskScalarTransmitter::createTransmission(), inet::physicallayer::Ieee802154NarrowbandScalarTransmitter::createTransmission(), inet::physicallayer::Ieee80211ScalarTransmitter::createTransmission(), inet::physicallayer::Ieee802154NarrowbandDimensionalTransmitter::createTransmission(), inet::physicallayer::ApskDimensionalTransmitter::createTransmission(), inet::physicallayer::Ieee80211DimensionalTransmitter::createTransmission(), inet::physicallayer::Ieee80211UnitDiskTransmitter::createTransmission(), inet::physicallayer::NoiseDimensionalTransmitter::createTransmission(), inet::physicallayer::Ieee802154UwbIrTransmitter::createTransmission(), inet::physicallayer::ApskLayeredTransmitter::createTransmission(), inet::physicallayer::Ieee80211LayeredOfdmTransmitter::createTransmission(), inet::visualizer::RadioCanvasVisualizer::refreshAntennaLobe(), inet::MobilityBase::DirectiveResolver::resolveDirective(), and inet::MobilityBase::updateDisplayStringFromMobilityState().
|
pure virtual |
Returns the angular velocity at the current simulation time.
Implemented in inet::MovingMobilityBase, inet::RotatingMobilityBase, inet::SuperpositioningMobility, inet::CircleMobility, inet::AttachedMobility, inet::FacingMobility, and inet::StationaryMobilityBase.
Referenced by inet::MobilityBase::DirectiveResolver::resolveDirective().
|
pure virtual |
Returns the position at the current simulation time.
Implemented in inet::MoBanLocal, inet::MovingMobilityBase, inet::SuperpositioningMobility, inet::AttachedMobility, inet::FacingMobility, and inet::StationaryMobilityBase.
Referenced by inet::physicallayer::GridNeighborCache::addRadio(), inet::physicallayer::QuadTreeNeighborCache::addRadio(), inet::physicallayer::ConstantTimePropagation::computeArrival(), inet::physicallayer::ConstantSpeedPropagation::computeArrival(), inet::physicallayer::ApskScalarTransmitter::createTransmission(), inet::physicallayer::Ieee802154NarrowbandScalarTransmitter::createTransmission(), inet::physicallayer::Ieee80211ScalarTransmitter::createTransmission(), inet::physicallayer::Ieee802154NarrowbandDimensionalTransmitter::createTransmission(), inet::physicallayer::ApskDimensionalTransmitter::createTransmission(), inet::physicallayer::Ieee80211DimensionalTransmitter::createTransmission(), inet::physicallayer::NoiseDimensionalTransmitter::createTransmission(), inet::physicallayer::Ieee80211UnitDiskTransmitter::createTransmission(), inet::physicallayer::UnitDiskTransmitter::createTransmission(), inet::physicallayer::Ieee802154UwbIrTransmitter::createTransmission(), inet::physicallayer::ApskLayeredTransmitter::createTransmission(), inet::physicallayer::Ieee80211LayeredOfdmTransmitter::createTransmission(), inet::physicallayer::GridNeighborCache::fillCubeVector(), inet::physicallayer::Radio::isListeningPossible(), inet::utils::filters::MobilityPosFilter::receiveSignal(), inet::visualizer::RadioCanvasVisualizer::refreshAntennaLobe(), inet::MobilityBase::DirectiveResolver::resolveDirective(), inet::physicallayer::GridNeighborCache::sendToNeighbors(), inet::physicallayer::QuadTreeNeighborCache::sendToNeighbors(), inet::MobilityBase::updateDisplayStringFromMobilityState(), and inet::physicallayer::NeighborListNeighborCache::updateNeighborList().
|
pure virtual |
Returns the velocity at the current simulation time.
Implemented in inet::MoBanLocal, inet::MovingMobilityBase, inet::SuperpositioningMobility, inet::AttachedMobility, inet::FacingMobility, and inet::StationaryMobilityBase.
Referenced by inet::MobilityBase::DirectiveResolver::resolveDirective().
|
pure virtual |
|
pure virtual |
Returns the maximum possible speed at any future time.
Implemented in inet::MoBanCoordinator, inet::MobilityBase, inet::MoBanLocal, inet::Ns2MotionMobility, inet::TurtleMobility, inet::AnsimMobility, inet::MassMobility, inet::BonnMotionMobility, inet::VehicleMobility, inet::CircleMobility, inet::GaussMarkovMobility, inet::RectangleMobility, inet::TractorMobility, inet::ChiangMobility, inet::RandomWaypointMobility, inet::LinearMobility, and inet::StationaryMobilityBase.
|
static |
A signal used to publish mobility state changes.
Referenced by inet::MobilityBase::emitMobilityStateChangedSignal(), inet::AttachedMobility::initialize(), inet::SuperpositioningMobility::initialize(), inet::AttachedMobility::receiveSignal(), inet::SuperpositioningMobility::receiveSignal(), inet::visualizer::MobilityVisualizerBase::receiveSignal(), inet::visualizer::MobilityVisualizerBase::subscribe(), inet::visualizer::MobilityVisualizerBase::unsubscribe(), and inet::StationaryMobility::updateMobilityStateFromDisplayString().