A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
main-random-topology.cc
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2006,2007 INRIA
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
20
#include "ns3/core-module.h"
21
#include "ns3/mobility-module.h"
22
23
using namespace
ns3;
24
25
static
void
26
CourseChange
(std::string context,
Ptr<const MobilityModel>
position)
27
{
28
Vector
pos = position->
GetPosition
();
29
std::cout <<
Simulator::Now
() <<
", pos="
<< position <<
", x="
<< pos.
x
<<
", y="
<< pos.
y
30
<<
", z="
<< pos.
z
<< std::endl;
31
}
32
33
int
main
(
int
argc,
char
*argv[])
34
{
35
CommandLine
cmd;
36
cmd.
Parse
(argc, argv);
37
38
39
NodeContainer
c;
40
c.
Create
(10000);
41
42
MobilityHelper
mobility;
43
mobility.
SetPositionAllocator
(
"ns3::RandomDiscPositionAllocator"
,
44
"X"
,
StringValue
(
"100.0"
),
45
"Y"
,
StringValue
(
"100.0"
),
46
"Rho"
,
StringValue
(
"ns3::UniformRandomVariable[Min=0|Max=30]"
));
47
mobility.
SetMobilityModel
(
"ns3::ConstantPositionMobilityModel"
);
48
mobility.
Install
(c);
49
50
Config::Connect
(
"/NodeList/*/$ns3::MobilityModel/CourseChange"
,
51
MakeCallback
(&
CourseChange
));
52
53
Simulator::Stop
(Seconds (100.0));
54
55
Simulator::Run
();
56
57
Simulator::Destroy
();
58
return
0;
59
}
ns3::Vector3D::x
double x
Definition:
vector.h:49
ns3::Ptr
smart pointer class similar to boost::intrusive_ptr
Definition:
ptr.h:59
ns3::StringValue
hold variables of type string
Definition:
string.h:19
ns3::Simulator::Run
static void Run(void)
Definition:
simulator.cc:157
ns3::MobilityModel::GetPosition
Vector GetPosition(void) const
Definition:
mobility-model.cc:62
ns3::Config::Connect
void Connect(std::string path, const CallbackBase &cb)
Definition:
config.cc:728
ns3::Vector3D
a 3d vector
Definition:
vector.h:31
ns3::MobilityHelper::Install
void Install(Ptr< Node > node) const
"Layout" a single node according to the current position allocator type.
Definition:
mobility-helper.cc:130
ns3::MakeCallback
Callback< R > MakeCallback(R(T::*memPtr)(void), OBJ objPtr)
Definition:
callback.h:1238
ns3::CommandLine
Parse command-line arguments.
Definition:
command-line.h:152
ns3::Simulator::Destroy
static void Destroy(void)
Definition:
simulator.cc:121
ns3::NodeContainer
keep track of a set of node pointers.
Definition:
node-container.h:38
ns3::MobilityHelper::SetMobilityModel
void SetMobilityModel(std::string type, std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue(), std::string n6="", const AttributeValue &v6=EmptyAttributeValue(), std::string n7="", const AttributeValue &v7=EmptyAttributeValue(), std::string n8="", const AttributeValue &v8=EmptyAttributeValue(), std::string n9="", const AttributeValue &v9=EmptyAttributeValue())
Definition:
mobility-helper.cc:79
ns3::Vector3D::y
double y
Definition:
vector.h:53
ns3::Simulator::Now
static Time Now(void)
Definition:
simulator.cc:180
ns3::MobilityHelper
Helper class used to assign positions and mobility models to nodes.
Definition:
mobility-helper.h:42
main
int main(int argc, char *argv[])
Definition:
energy-model-example.cc:113
CourseChange
static void CourseChange(std::string context, Ptr< const MobilityModel > position)
Definition:
main-random-topology.cc:26
ns3::Simulator::Stop
static void Stop(void)
Definition:
simulator.cc:165
ns3::CommandLine::Parse
void Parse(int argc, char *argv[])
Definition:
command-line.cc:104
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:93
ns3::MobilityHelper::SetPositionAllocator
void SetPositionAllocator(Ptr< PositionAllocator > allocator)
Definition:
mobility-helper.cc:47
ns3::Vector3D::z
double z
Definition:
vector.h:57
src
mobility
examples
main-random-topology.cc
Generated on Sat Nov 16 2013 16:17:48 for ns-3 by
1.8.5