src/mobility/mobility.h
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Mon, 23 Jul 2007 15:53:54 +0200
changeset 968 70d02500c9d5
child 1642 8d5707931bb4
child 2217 0b4567d545de
permissions -rw-r--r--
mobility models

/**
 * \defgroup mobility Mobility
 *
 * The mobility support includes:
 *  - a set of mobility models which are used to track and maintain
 *    the "current" cartesian position and speed of an object.
 *
 *  - a "course change notifier" which can be used to register listeners
 *    to the course changes of a mobility model: ns3::MobilityModelNotifier.
 *
 *  - a set of topology constructors which are used to set the initial
 *    position and associate a specific mobility model to a set of objects.
 *
 * The mobility models themselves are:
 *   - ns3::StaticMobilityModel: a model which maintains a constant position
 *     until it is changed by the user.
 *
 *   - ns3::StaticSpeedMobilityModel: a model which maintains a constant speed
 *     until it is changed by the user.
 *
 *   - ns3::HierarchicalMobilityModel: a model which calculates the current 
 *     absolute position from a "reference" (parent) mobility model
 *     and a "relative" (child) mobility model. This allows users to
 *     compose mobility models.
 *
 *   - ns3::RandomWalk2dMobilityModel: a 2d "brownian" motion mobility model
 *     where the bounds of the mobility area are a rectangle.
 *
 *   - ns3::RandomWaypointMobilityModel: a 3d random waypoint mobility model.
 *
 *   - ns3::RandomDirection2dMobilityModel: a 2d random direction mobility
 *     model where the bounds of the mobility are are a rectangle.
 *
 * The topology constructors:
 *   - ns3::GridTopology: layout objects in a 2d grid.
 *
 *   - ns3::RandomTopology: layout objects in a 3d space, according to a 
 *     RandomPosition model.
 *
 *   - ns3::Ns2MobilityFileTopology: layout objects in a 3d space according
 *     to an ns2 CMU mobility file (as generated by the setdest tool).
 */