A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
FemtocellBlockAllocator Class Reference

Class that takes care of installing blocks of the buildings in a given area. More...

+ Collaboration diagram for FemtocellBlockAllocator:

Public Member Functions

 FemtocellBlockAllocator (Box area, uint32_t nApartmentsX, uint32_t nFloors)
 Constructor.
 
void Create ()
 Create function.
 
void Create (uint32_t n)
 Function that creates building blocks.
 

Private Member Functions

bool OverlapsWithAnyPrevious (Box box)
 Function that checks if the box area is overlapping with some of previously created building blocks.
 

Private Attributes

Box m_area
 Area.
 
uint32_t m_nApartmentsX
 X apartments.
 
uint32_t m_nFloors
 number of floors
 
std::list< Boxm_previousBlocks
 previous bocks
 
Ptr< UniformRandomVariablem_xMinVar
 X minimum variance.
 
double m_xSize
 X size.
 
Ptr< UniformRandomVariablem_yMinVar
 Y minimum variance.
 
double m_ySize
 Y size.
 

Detailed Description

Class that takes care of installing blocks of the buildings in a given area.

Buildings are installed in pairs as in dual stripe scenario.

Definition at line 52 of file lena-dual-stripe.cc.

Constructor & Destructor Documentation

◆ FemtocellBlockAllocator()

FemtocellBlockAllocator::FemtocellBlockAllocator ( Box area,
uint32_t nApartmentsX,
uint32_t nFloors )

Constructor.

Parameters
areathe total area
nApartmentsXthe number of apartments in the X direction
nFloorsthe number of floors

Definition at line 88 of file lena-dual-stripe.cc.

References ns3::CreateObject(), m_xMinVar, m_xSize, m_yMinVar, m_ySize, ns3::Box::xMax, ns3::Box::xMin, ns3::Box::yMax, and ns3::Box::yMin.

+ Here is the call graph for this function:

Member Function Documentation

◆ Create() [1/2]

void FemtocellBlockAllocator::Create ( )

Create function.

Definition at line 113 of file lena-dual-stripe.cc.

References ns3::CreateObject(), m_nApartmentsX, m_nFloors, m_previousBlocks, m_xMinVar, m_xSize, m_yMinVar, m_ySize, NS_ASSERT_MSG, NS_LOG_LOGIC, OverlapsWithAnyPrevious(), ns3::Box::xMax, ns3::Box::xMin, ns3::Box::yMax, and ns3::Box::yMin.

Referenced by Create().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Create() [2/2]

void FemtocellBlockAllocator::Create ( uint32_t n)

Function that creates building blocks.

Parameters
nthe number of blocks to create

Definition at line 104 of file lena-dual-stripe.cc.

References Create().

+ Here is the call graph for this function:

◆ OverlapsWithAnyPrevious()

bool FemtocellBlockAllocator::OverlapsWithAnyPrevious ( Box box)
private

Function that checks if the box area is overlapping with some of previously created building blocks.

Parameters
boxthe area to check
Returns
true if there is an overlap

Definition at line 148 of file lena-dual-stripe.cc.

References AreOverlapping(), and m_previousBlocks.

Referenced by Create().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_area

Box FemtocellBlockAllocator::m_area
private

Area.

Definition at line 78 of file lena-dual-stripe.cc.

◆ m_nApartmentsX

uint32_t FemtocellBlockAllocator::m_nApartmentsX
private

X apartments.

Definition at line 79 of file lena-dual-stripe.cc.

Referenced by Create().

◆ m_nFloors

uint32_t FemtocellBlockAllocator::m_nFloors
private

number of floors

Definition at line 80 of file lena-dual-stripe.cc.

Referenced by Create().

◆ m_previousBlocks

std::list<Box> FemtocellBlockAllocator::m_previousBlocks
private

previous bocks

Definition at line 81 of file lena-dual-stripe.cc.

Referenced by Create(), and OverlapsWithAnyPrevious().

◆ m_xMinVar

Ptr<UniformRandomVariable> FemtocellBlockAllocator::m_xMinVar
private

X minimum variance.

Definition at line 84 of file lena-dual-stripe.cc.

Referenced by FemtocellBlockAllocator(), and Create().

◆ m_xSize

double FemtocellBlockAllocator::m_xSize
private

X size.

Definition at line 82 of file lena-dual-stripe.cc.

Referenced by FemtocellBlockAllocator(), and Create().

◆ m_yMinVar

Ptr<UniformRandomVariable> FemtocellBlockAllocator::m_yMinVar
private

Y minimum variance.

Definition at line 85 of file lena-dual-stripe.cc.

Referenced by FemtocellBlockAllocator(), and Create().

◆ m_ySize

double FemtocellBlockAllocator::m_ySize
private

Y size.

Definition at line 83 of file lena-dual-stripe.cc.

Referenced by FemtocellBlockAllocator(), and Create().


The documentation for this class was generated from the following file: