Class that takes care of installing blocks of the buildings in a given area. More...
Public Member Functions | |
FemtocellBlockAllocator (Box area, uint32_t nApartmentsX, uint32_t nFloors) | |
Constructor. More... | |
void | Create (uint32_t n) |
Function that creates building blocks. More... | |
void | Create () |
Create function. 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< Box > | m_previousBlocks |
previous bocks More... | |
Ptr< UniformRandomVariable > | m_xMinVar |
X minimum variance. More... | |
double | m_xSize |
X size. More... | |
Ptr< UniformRandomVariable > | m_yMinVar |
Y minimum variance. More... | |
double | m_ySize |
Y size. More... | |
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.
FemtocellBlockAllocator::FemtocellBlockAllocator | ( | Box | area, |
uint32_t | nApartmentsX, | ||
uint32_t | nFloors | ||
) |
Constructor.
area | the total area |
nApartmentsX | the number of apartments in the X direction |
nFloors | the 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.
void FemtocellBlockAllocator::Create | ( | uint32_t | n | ) |
Function that creates building blocks.
n | the number of blocks to create |
Definition at line 107 of file lena-dual-stripe.cc.
References Create(), and sample-rng-plot::n.
void FemtocellBlockAllocator::Create | ( | void | ) |
Create function.
Definition at line 116 of file lena-dual-stripe.cc.
References ns3::GridBuildingAllocator::Create(), 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::ObjectBase::SetAttribute(), ns3::GridBuildingAllocator::SetBuildingAttribute(), ns3::Box::xMax, ns3::Box::xMin, ns3::Box::yMax, and ns3::Box::yMin.
Referenced by Create().
|
private |
Function that checks if the box area is overlapping with some of previously created building blocks.
box | the area to check |
Definition at line 150 of file lena-dual-stripe.cc.
References AreOverlapping(), and m_previousBlocks.
Referenced by Create().
|
private |
Area.
Definition at line 80 of file lena-dual-stripe.cc.
|
private |
|
private |
previous bocks
Definition at line 83 of file lena-dual-stripe.cc.
Referenced by Create(), and OverlapsWithAnyPrevious().
|
private |
X minimum variance.
Definition at line 86 of file lena-dual-stripe.cc.
Referenced by Create(), and FemtocellBlockAllocator().
|
private |
X size.
Definition at line 84 of file lena-dual-stripe.cc.
Referenced by Create(), and FemtocellBlockAllocator().
|
private |
Y minimum variance.
Definition at line 87 of file lena-dual-stripe.cc.
Referenced by Create(), and FemtocellBlockAllocator().
|
private |
Y size.
Definition at line 85 of file lena-dual-stripe.cc.
Referenced by Create(), and FemtocellBlockAllocator().