A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
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
11
using 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
*/
18
static
void
19
CourseChange
(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
26
int
27
main(
int
argc,
char
* argv[])
28
{
29
CommandLine
cmd
(__FILE__);
30
cmd
.Parse(argc, argv);
31
32
NodeContainer
c;
33
c.
Create
(10000);
34
35
MobilityHelper
mobility
;
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
48
Simulator::Stop
(
Seconds
(100.0));
49
50
Simulator::Run
();
51
52
Simulator::Destroy
();
53
return
0;
54
}
ns3::CommandLine
Parse command-line arguments.
Definition
command-line.h:221
ns3::MobilityHelper
Helper class used to assign positions and mobility models to nodes.
Definition
mobility-helper.h:33
ns3::NodeContainer
keep track of a set of node pointers.
Definition
node-container.h:29
ns3::NodeContainer::Create
void Create(uint32_t n)
Create n nodes and append pointers to them to the end of this NodeContainer.
Definition
node-container.cc:73
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition
mpi-test-fixtures.h:37
ns3::Simulator::Destroy
static void Destroy()
Execute the events scheduled with ScheduleDestroy().
Definition
simulator.cc:131
ns3::Simulator::Now
static Time Now()
Return the current simulation virtual time.
Definition
simulator.cc:197
ns3::Simulator::Run
static void Run()
Run the simulation.
Definition
simulator.cc:167
ns3::Simulator::Stop
static void Stop()
Tell the Simulator the calling event should be the last one executed.
Definition
simulator.cc:175
ns3::StringValue
Hold variables of type string.
Definition
string.h:45
ns3::Config::Connect
void Connect(std::string path, const CallbackBase &cb)
Definition
config.cc:967
ns3::Seconds
Time Seconds(double value)
Construct a Time in the indicated unit.
Definition
nstime.h:1308
CourseChange
static void CourseChange(std::string context, Ptr< const MobilityModel > position)
Function called when there is a course change.
Definition
main-random-topology.cc:19
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::MakeCallback
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
second.cmd
cmd
Definition
second.py:29
third.mobility
mobility
Definition
third.py:92
src
mobility
examples
main-random-topology.cc
Generated on Fri Nov 8 2024 13:59:04 for ns-3 by
1.11.0