A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
main-random-topology.cc
Go to the documentation of this file.
1/*
2 * Copyright (c) 2006,2007 INRIA
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 */
7
8#include "ns3/core-module.h"
9#include "ns3/mobility-module.h"
10
11using namespace ns3;
12
13/**
14 * Function called when there is a course change
15 * \param context event context
16 * \param position a pointer to the mobility model
17 */
18static void
19CourseChange(std::string context, Ptr<const MobilityModel> position)
20{
21 Vector pos = position->GetPosition();
22 std::cout << Simulator::Now() << ", pos=" << position << ", x=" << pos.x << ", y=" << pos.y
23 << ", z=" << pos.z << std::endl;
24}
25
26int
27main(int argc, char* argv[])
28{
29 CommandLine cmd(__FILE__);
30 cmd.Parse(argc, argv);
31
33 c.Create(10000);
34
36 mobility.SetPositionAllocator("ns3::RandomDiscPositionAllocator",
37 "X",
38 StringValue("100.0"),
39 "Y",
40 StringValue("100.0"),
41 "Rho",
42 StringValue("ns3::UniformRandomVariable[Min=0|Max=30]"));
43 mobility.SetMobilityModel("ns3::ConstantPositionMobilityModel");
44 mobility.Install(c);
45
46 Config::Connect("/NodeList/*/$ns3::MobilityModel/CourseChange", MakeCallback(&CourseChange));
47
49
51
53 return 0;
54}
Parse command-line arguments.
Helper class used to assign positions and mobility models to nodes.
keep track of a set of node pointers.
void Create(uint32_t n)
Create n nodes and append pointers to them to the end of this NodeContainer.
Smart pointer class similar to boost::intrusive_ptr.
static void Destroy()
Execute the events scheduled with ScheduleDestroy().
Definition simulator.cc:131
static Time Now()
Return the current simulation virtual time.
Definition simulator.cc:197
static void Run()
Run the simulation.
Definition simulator.cc:167
static void Stop()
Tell the Simulator the calling event should be the last one executed.
Definition simulator.cc:175
Hold variables of type string.
Definition string.h:45
void Connect(std::string path, const CallbackBase &cb)
Definition config.cc:967
Time Seconds(double value)
Construct a Time in the indicated unit.
Definition nstime.h:1308
static void CourseChange(std::string context, Ptr< const MobilityModel > position)
Function called when there is a course change.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Callback< R, Args... > MakeCallback(R(T::*memPtr)(Args...), OBJ objPtr)
Build Callbacks for class method members which take varying numbers of arguments and potentially retu...
Definition callback.h:684
mobility
Definition third.py:92