A Discrete-Event Network Simulator
API
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. More...
 
void Create ()
 Create function. More...
 
void Create (uint32_t n)
 Function that creates building blocks. More...
 

Private Member Functions

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

Private Attributes

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

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 55 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 91 of file lena-dual-stripe.cc.

References m_xMinVar, m_xSize, m_yMinVar, m_ySize, ns3::ObjectBase::SetAttribute(), 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 ( void  )

Create function.

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

References ns3::UniformRandomVariable::GetValue(), 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 107 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 150 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 80 of file lena-dual-stripe.cc.

◆ m_nApartmentsX

uint32_t FemtocellBlockAllocator::m_nApartmentsX
private

X apartments.

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

Referenced by Create().

◆ m_nFloors

uint32_t FemtocellBlockAllocator::m_nFloors
private

number of floors

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

Referenced by Create().

◆ m_previousBlocks

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

previous bocks

Definition at line 83 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 86 of file lena-dual-stripe.cc.

Referenced by FemtocellBlockAllocator(), and Create().

◆ m_xSize

double FemtocellBlockAllocator::m_xSize
private

X size.

Definition at line 84 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 87 of file lena-dual-stripe.cc.

Referenced by FemtocellBlockAllocator(), and Create().

◆ m_ySize

double FemtocellBlockAllocator::m_ySize
private

Y size.

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

Referenced by FemtocellBlockAllocator(), and Create().


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