21 #include "ns3/core-module.h"
22 #include "ns3/network-module.h"
23 #include "ns3/mobility-module.h"
24 #include "ns3/config-store.h"
25 #include <ns3/buildings-helper.h>
26 #include <ns3/hybrid-buildings-propagation-loss-model.h>
27 #include <ns3/constant-position-mobility-model.h>
37 main (
int argc,
char *argv[])
42 bool enbIndoor =
false;
43 bool ueIndoor =
false;
46 cmd.
AddValue(
"hEnb",
"Height of the eNB", hEnb);
47 cmd.
AddValue(
"hUe",
"Height of UE", hUe);
48 cmd.
AddValue(
"enbIndoor",
"Boolean for eNB Indoor/Outdoor selection", enbIndoor);
49 cmd.
AddValue(
"ueIndoor",
"Boolean for UE Indoor/Outdoor selection", ueIndoor);
50 cmd.
Parse(argc, argv);
57 cmd.
Parse (argc, argv);
60 std::ofstream outFile;
61 outFile.open (
"buildings-pathloss-profiler.out");
62 if (!outFile.is_open ())
71 Ptr<Building> building1 = CreateObject<Building> (-2, 2, -2, 2, 0.0, 20.0);
89 for (uint32_t i = 1; i < 2300; i++)
96 double loss = propagationLossModel->
GetLoss (mmEnb, mmUe);
Introspection did not find any typical Config paths.
Smart pointer class similar to boost::intrusive_ptr.
virtual double GetLoss(Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
void AggregateObject(Ptr< Object > other)
Aggregate two Objects together.
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
static void MakeConsistent(Ptr< MobilityModel > bmm)
Make the given mobility model consistent, by determining whether its position falls inside any of the...
Parse command-line arguments.
static void Destroy(void)
Execute the events scheduled with ScheduleDestroy().
void ConfigureDefaults(void)
Configure the default values.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void SetPosition(const Vector &position)
void AddValue(const std::string &name, const std::string &help, T &value)
Add a program argument, assigning to POD.
void Parse(int argc, char *argv[])
Parse the program arguments.
This class can be used to hold variables of floating point type such as 'double' or 'float'...
void SetAttribute(std::string name, const AttributeValue &value)
Set a single attribute, raising fatal errors if unsuccessful.