A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::Ns2MobilityHelper Class Reference

Helper class which can read ns-2 movement files and configure nodes mobility. More...

#include <ns2-mobility-helper.h>

Classes

class  ObjectStore
 

Public Member Functions

 Ns2MobilityHelper (std::string filename)
 
void Install (void) const
 
template<typename T >
void Install (T begin, T end) const
 

Private Member Functions

void ConfigNodesMovements (const ObjectStore &store) const
 
Ptr
< ConstantVelocityMobilityModel
GetMobilityModel (std::string idString, const ObjectStore &store) const
 

Private Attributes

std::string m_filename
 

Detailed Description

Helper class which can read ns-2 movement files and configure nodes mobility.

This implementation is based on the ns2 movement documentation of ns2 as described in http://www.isi.edu/nsnam/ns/doc/node172.html

Valid trace files use the following ns2 statements:

  $node set X_ x1
  $node set Y_ y1
  $node set Z_ z1
  $ns at $time $node setdest x2 y2 speed
  $ns at $time $node set X_ x1
  $ns at $time $node set Y_ Y1
  $ns at $time $node set Z_ Z1

Note that initial position statements may also appear at the end of the mobility file like this:

  $ns at $time $node setdest x2 y2 speed
  $ns at $time $node set X_ x1
  $ns at $time $node set Y_ Y1
  $ns at $time $node set Z_ Z1
  $node set X_ x1
  $node set Y_ y1
  $node set Z_ z1

The following tools are known to support this format:

See usage example in examples/mobility/ns2-mobility-trace.cc

Bug:
Rounding errors may cause movement to diverge from the mobility pattern in ns-2 (using the same trace). See https://www.nsnam.org/bugzilla/show_bug.cgi?id=1316

Definition at line 76 of file ns2-mobility-helper.h.

Constructor & Destructor Documentation

ns3::Ns2MobilityHelper::Ns2MobilityHelper ( std::string  filename)
Parameters
filenamefilename of file which contains the ns2 movement trace.

Definition at line 150 of file ns2-mobility-helper.cc.

References NS_FATAL_ERROR.

Member Function Documentation

void ns3::Ns2MobilityHelper::Install ( void  ) const

Read the ns2 trace file and configure the movement patterns of all nodes contained in the global ns3::NodeList whose nodeId is matches the nodeId of the nodes in the trace file.

Definition at line 776 of file ns2-mobility-helper.cc.

References ns3::NodeList::Begin(), and ns3::NodeList::End().

Referenced by ns3::Ns2MobilityHelperTest::DoRun().

template<typename T >
void ns3::Ns2MobilityHelper::Install ( begin,
end 
) const
Parameters
beginan iterator which points to the start of the input object array.
endan iterator which points to the end of the input object array.

Read the ns2 trace file and configure the movement patterns of all input objects. Each input object is identified by a unique node id which reflects the index of the object in the input array.

Definition at line 124 of file ns2-mobility-helper.h.


The documentation for this class was generated from the following files: