1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3 * Copyright (c) 2012 University of Washington
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation;
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 */
18
19 // Test that mobility tracing works
20
21 #include "ns3/core-module.h"
22 #include "ns3/mobility-module.h"
23 #include "ns3/network-module.h"
24
25 using namespace ns3;
26
main(int argc,char * argv[])27 int main (int argc, char *argv[])
28 {
29 CommandLine cmd (__FILE__);
30 cmd.Parse (argc, argv);
31
32 NodeContainer sta;
33 sta.Create (4);
34 MobilityHelper mobility;
35 mobility.SetPositionAllocator ("ns3::GridPositionAllocator",
36 "MinX", DoubleValue (1.0),
37 "MinY", DoubleValue (1.0),
38 "DeltaX", DoubleValue (5.0),
39 "DeltaY", DoubleValue (5.0),
40 "GridWidth", UintegerValue (3),
41 "LayoutType", StringValue ("RowFirst"));
42 mobility.SetMobilityModel ("ns3::RandomWalk2dMobilityModel",
43 "Mode", StringValue ("Time"),
44 "Time", StringValue ("2s"),
45 "Speed", StringValue ("ns3::ConstantRandomVariable[Constant=1.0]"),
46 "Bounds", RectangleValue (Rectangle (0.0, 20.0, 0.0, 20.0)));
47 mobility.Install (sta);
48 // Set mobility random number streams to fixed values
49 mobility.AssignStreams (sta, 0);
50
51 AsciiTraceHelper ascii;
52 MobilityHelper::EnableAsciiAll (ascii.CreateFileStream ("mobility-trace-example.mob"));
53
54 Simulator::Stop (Seconds (5.0));
55 Simulator::Run ();
56 Simulator::Destroy ();
57 }
58