src/helper/mobility-helper.h
author Tom Henderson <tomh@tomh.org>
Sat, 30 May 2009 15:20:56 -0700
changeset 4481 9250a25ee683
parent 4201 511a086fde07
child 5362 d31f56c9b7cb
permissions -rw-r--r--
Doxygen cleanup
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2833
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
     2
/*
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
     3
 * Copyright (c) 2008 INRIA
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
     4
 *
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
     7
 * published by the Free Software Foundation;
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
     8
 *
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
    12
 * GNU General Public License for more details.
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
    13
 *
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
    14
 * You should have received a copy of the GNU General Public License
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
    15
 * along with this program; if not, write to the Free Software
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
    17
 *
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
    18
 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
f3474fd850b2 add missing license headers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2701
diff changeset
    19
 */
3848
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
    20
2399
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    21
#ifndef MOBILITY_HELPER_H
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    22
#define MOBILITY_HELPER_H
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    23
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    24
#include <vector>
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    25
#include "ns3/object-factory.h"
2438
e2ac9f9aeeb9 value.h -> attribute.h
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2433
diff changeset
    26
#include "ns3/attribute.h"
2700
c54fbae72e8f change signature of MobilityHelper::Layout and MobilityHelper::LayoutAll.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2603
diff changeset
    27
#include "ns3/position-allocator.h"
c54fbae72e8f change signature of MobilityHelper::Layout and MobilityHelper::LayoutAll.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2603
diff changeset
    28
#include "node-container.h"
2399
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    29
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    30
namespace ns3 {
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    31
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    32
class PositionAllocator;
2401
281ea8b13525 add hierarchical support to MobilityHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2399
diff changeset
    33
class MobilityModel;
2399
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    34
2700
c54fbae72e8f change signature of MobilityHelper::Layout and MobilityHelper::LayoutAll.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2603
diff changeset
    35
/**
c54fbae72e8f change signature of MobilityHelper::Layout and MobilityHelper::LayoutAll.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2603
diff changeset
    36
 * \brief assign positions and mobility models to nodes.
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    37
 *
2995
b72805b3ca69 Align helper API use of Install()
Tom Henderson <tomh@tomh.org>
parents: 2897
diff changeset
    38
 * MobilityHelper::Install is the most important method here.
2700
c54fbae72e8f change signature of MobilityHelper::Layout and MobilityHelper::LayoutAll.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2603
diff changeset
    39
 */
2399
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    40
class MobilityHelper
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    41
{
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    42
public:
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    43
  MobilityHelper ();
2897
cb427d45a011 avoid compilation warning about undefined MobilityModel class.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2834
diff changeset
    44
  ~MobilityHelper ();
2399
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    45
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    46
  /**
3848
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
    47
   * Set the position allocator which will be used to allocate the initial 
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
    48
   * position of every node initialized during MobilityModel::Install.
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    49
   *
3848
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
    50
   * \param allocator allocate initial node positions
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    51
   */
2399
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    52
  void SetPositionAllocator (Ptr<PositionAllocator> allocator);
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    53
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    54
  /**
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    55
   * \param type the type of mobility model to use.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    56
   * \param n1 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    57
   * \param v1 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    58
   * \param n2 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    59
   * \param v2 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    60
   * \param n3 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    61
   * \param v3 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    62
   * \param n4 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    63
   * \param v4 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    64
   * \param n5 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    65
   * \param v5 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    66
   * \param n6 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    67
   * \param v6 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    68
   * \param n7 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    69
   * \param v7 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    70
   * \param n8 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    71
   * \param v8 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    72
   * \param n9 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    73
   * \param v9 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    74
   */
2399
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    75
  void SetPositionAllocator (std::string type,
3786
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
    76
                             std::string n1 = "", const AttributeValue &v1 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
    77
                             std::string n2 = "", const AttributeValue &v2 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
    78
                             std::string n3 = "", const AttributeValue &v3 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
    79
                             std::string n4 = "", const AttributeValue &v4 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
    80
                             std::string n5 = "", const AttributeValue &v5 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
    81
                             std::string n6 = "", const AttributeValue &v6 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
    82
                             std::string n7 = "", const AttributeValue &v7 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
    83
                             std::string n8 = "", const AttributeValue &v8 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
    84
                             std::string n9 = "", const AttributeValue &v9 = EmptyAttributeValue ());
2399
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    85
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    86
  /**
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    87
   * \param type the type of mobility model to use.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    88
   * \param n1 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    89
   * \param v1 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    90
   * \param n2 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    91
   * \param v2 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    92
   * \param n3 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    93
   * \param v3 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    94
   * \param n4 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    95
   * \param v4 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    96
   * \param n5 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    97
   * \param v5 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    98
   * \param n6 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
    99
   * \param v6 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   100
   * \param n7 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   101
   * \param v7 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   102
   * \param n8 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   103
   * \param v8 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   104
   * \param n9 the name of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   105
   * \param v9 the value of the attribute to set in the mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   106
   *
2995
b72805b3ca69 Align helper API use of Install()
Tom Henderson <tomh@tomh.org>
parents: 2897
diff changeset
   107
   * Calls to MobilityHelper::Install will create an instance of a matching 
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   108
   * mobility model for each node.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   109
   */
2399
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   110
  void SetMobilityModel (std::string type,
3786
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
   111
                         std::string n1 = "", const AttributeValue &v1 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
   112
                         std::string n2 = "", const AttributeValue &v2 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
   113
                         std::string n3 = "", const AttributeValue &v3 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
   114
                         std::string n4 = "", const AttributeValue &v4 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
   115
                         std::string n5 = "", const AttributeValue &v5 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
   116
                         std::string n6 = "", const AttributeValue &v6 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
   117
                         std::string n7 = "", const AttributeValue &v7 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
   118
                         std::string n8 = "", const AttributeValue &v8 = EmptyAttributeValue (),
9f384deadb46 replace \t with 8 spaces.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3491
diff changeset
   119
                         std::string n9 = "", const AttributeValue &v9 = EmptyAttributeValue ());
2399
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   120
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   121
  /**
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   122
   * \param reference item to push.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   123
   *
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   124
   * Push an item on the top of the stack of "reference mobility models".
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   125
   * The input item should be a node instance to which a mobility model
2995
b72805b3ca69 Align helper API use of Install()
Tom Henderson <tomh@tomh.org>
parents: 2897
diff changeset
   126
   * has already been aggregated (usually by a call to Install).
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   127
   *
4481
9250a25ee683 Doxygen cleanup
Tom Henderson <tomh@tomh.org>
parents: 4201
diff changeset
   128
   * If this stack is not empty when MobilityHelper::Install
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   129
   * is called, the model from the top of the stack is used
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   130
   * to create a ns3::HierarchicalMobilityModel to make the
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   131
   * newly-created models define their positions relative to that
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   132
   * of the parent mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   133
   *
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   134
   * This method is typically used to create hierarchical mobility
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   135
   * patterns and positions by starting with the large-scale mobility
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   136
   * features, and, then, defining the smaller-scale movements relative
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   137
   * to a few reference points in the large-scale model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   138
   */
2401
281ea8b13525 add hierarchical support to MobilityHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2399
diff changeset
   139
  void PushReferenceMobilityModel (Ptr<Object> reference);
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   140
  /**
4481
9250a25ee683 Doxygen cleanup
Tom Henderson <tomh@tomh.org>
parents: 4201
diff changeset
   141
   * \param referenceName named item to push.
4140
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   142
   *
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   143
   * Push an item on the top of the stack of "reference mobility models".
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   144
   * The input item should be a node instance to which a mobility model
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   145
   * has already been aggregated (usually by a call to Install).
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   146
   *
4481
9250a25ee683 Doxygen cleanup
Tom Henderson <tomh@tomh.org>
parents: 4201
diff changeset
   147
   * If this stack is not empty when MobilityHelper::Install
4140
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   148
   * is called, the model from the top of the stack is used
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   149
   * to create a ns3::HierarchicalMobilityModel to make the
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   150
   * newly-created models define their positions relative to that
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   151
   * of the parent mobility model.
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   152
   *
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   153
   * This method is typically used to create hierarchical mobility
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   154
   * patterns and positions by starting with the large-scale mobility
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   155
   * features, and, then, defining the smaller-scale movements relative
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   156
   * to a few reference points in the large-scale model.
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   157
   */
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   158
  void PushReferenceMobilityModel (std::string referenceName);
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   159
  /**
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   160
   * Remove the top item from the top of the stack of
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   161
   * "reference mobility models".
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   162
   */
2401
281ea8b13525 add hierarchical support to MobilityHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2399
diff changeset
   163
  void PopReferenceMobilityModel (void);
281ea8b13525 add hierarchical support to MobilityHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2399
diff changeset
   164
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   165
  /**
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   166
   * \returns a string which contains the TypeId of the currently-selected
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   167
   *          mobility model.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   168
   */
2399
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   169
  std::string GetMobilityModelType (void) const;
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   170
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   171
  /**
3848
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   172
   * \brief "Layout" a single node according to the current position allocator
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   173
   * type.
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   174
   *
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   175
   * This method creates an instance of a ns3::MobilityModel subclass (the 
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   176
   * type of which was set with MobilityHelper::SetMobilityModel), aggregates
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   177
   * it to the provided node, and sets an initial position based on the current
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   178
   * position allocator (set through MobilityHelper::SetPositionAllocator). 
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   179
   *
3848
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   180
   * \param node The node to "layout."
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   181
   */
3848
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   182
  void Install (Ptr<Node> node) const;
4140
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   183
  /**
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   184
   * \brief "Layout" a single node according to the current position allocator
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   185
   * type.
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   186
   *
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   187
   * This method creates an instance of a ns3::MobilityModel subclass (the 
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   188
   * type of which was set with MobilityHelper::SetMobilityModel), aggregates
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   189
   * it to the provided node, and sets an initial position based on the current
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   190
   * position allocator (set through MobilityHelper::SetPositionAllocator). 
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   191
   *
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   192
   * \param nodeName The name of the node to "layout."
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   193
   */
6bbf05bf4826 Brute force all of the helpers to use object name service
Craig Dowell <craigdo@ee.washington.edu>
parents: 3848
diff changeset
   194
  void Install (std::string nodeName) const;
3848
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   195
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   196
  /**
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   197
   * \brief Layout a collection of nodes according to the current position allocator
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   198
   * type.
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   199
   *
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   200
   * For each node in the provided NodeContainer, this method creates an instance 
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   201
   * of a ns3::MobilityModel subclass (the type of which was set with 
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   202
   * MobilityHelper::SetMobilityModel), aggregates it to the node, and sets an 
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   203
   * initial position based on the current position allocator (set through 
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   204
   * MobilityHelper::SetPositionAllocator). 
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   205
   *
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   206
   * \param container The set of nodes to layout.
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   207
   */
affd0834debc address bug 393 (need to overload Install methods for python)
Craig Dowell <craigdo@ee.washington.edu>
parents: 3786
diff changeset
   208
  void Install (NodeContainer container) const;
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   209
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   210
  /**
2995
b72805b3ca69 Align helper API use of Install()
Tom Henderson <tomh@tomh.org>
parents: 2897
diff changeset
   211
   * Perform the work of MobilityHelper::Install on _all_ nodes which
2701
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   212
   * exist in the simulation.
11e0e961ac86 doxygen
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2700
diff changeset
   213
   */
2995
b72805b3ca69 Align helper API use of Install()
Tom Henderson <tomh@tomh.org>
parents: 2897
diff changeset
   214
  void InstallAll (void);
3491
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   215
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   216
  /**
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   217
   * \param os output stream
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   218
   * \param nodeid the id of the node to generate ascii output for.
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   219
   *
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   220
   * Enable ascii output on the mobility model associated to the
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   221
   * specified nodeid and dump that to the specified stdc++ output 
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   222
   * stream.
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   223
   */
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   224
  static void EnableAscii (std::ostream &os, uint32_t nodeid);
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   225
  /**
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   226
   * \param os output stream
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   227
   * \param n node container
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   228
   *
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   229
   * Enable ascii output on the mobility model associated each of
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   230
   * the nodes in the input container and dump that to the 
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   231
   * specified stdc++ output stream.
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   232
   */
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   233
  static void EnableAscii (std::ostream &os, NodeContainer n);
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   234
  /**
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   235
   * \param os output stream
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   236
   *
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   237
   * Enable ascii output on the mobility model associated
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   238
   * every node in the system and dump that to the specified 
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   239
   * stdc++ output stream.
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   240
   */
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   241
  static void EnableAsciiAll (std::ostream &os);
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   242
2399
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   243
private:
3491
b2de71af0e3f bug 251: mobility helper has no ascii output
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 3021
diff changeset
   244
  static void CourseChanged (std::ostream *os, Ptr<const MobilityModel> mobility);
2401
281ea8b13525 add hierarchical support to MobilityHelper
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2399
diff changeset
   245
  std::vector<Ptr<MobilityModel> > m_mobilityStack;
2399
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   246
  ObjectFactory m_mobility;
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   247
  Ptr<PositionAllocator> m_position;
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   248
};
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   249
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   250
} // namespace ns3
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   251
fd9d94d518d2 convert Mobility subsystem to Value framework
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   252
#endif /* MOBILITY_HELPER_H */