Allocate buildings on a rectangular 2d grid. More...
#include <building-allocator.h>
Public Member Functions | |
GridBuildingAllocator () | |
virtual | ~GridBuildingAllocator () |
BuildingContainer | Create (uint32_t n) const |
void | SetBuildingAttribute (std::string n, const AttributeValue &v) |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Private Member Functions | |
void | PushAttributes () const |
Private Attributes | |
ObjectFactory | m_buildingFactory |
uint32_t | m_current |
double | m_deltaX |
double | m_deltaY |
double | m_height |
enum GridPositionAllocator::LayoutType | m_layoutType |
double | m_lengthX |
double | m_lengthY |
Ptr< GridPositionAllocator > | m_lowerLeftPositionAllocator |
uint32_t | m_n |
Ptr< GridPositionAllocator > | m_upperRightPositionAllocator |
double | m_xMin |
double | m_yMin |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | DoDispose (void) |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
Allocate buildings on a rectangular 2d grid.
This class allows to create a set of buildings positioned on a rectangular 2D grid. Under the hood, this class uses two instances of GridPositionAllocator.
Doxygen introspection did not find any typical Config paths.
No TraceSources are defined for this type.
Definition at line 44 of file building-allocator.h.
ns3::GridBuildingAllocator::GridBuildingAllocator | ( | ) |
Definition at line 36 of file building-allocator.cc.
References m_buildingFactory, m_lowerLeftPositionAllocator, m_upperRightPositionAllocator, and ns3::ObjectFactory::SetTypeId().
|
virtual |
Definition at line 44 of file building-allocator.cc.
BuildingContainer ns3::GridBuildingAllocator::Create | ( | uint32_t | n | ) | const |
Create a set of buildings allocated on a grid
n | the number of buildings to create |
Definition at line 103 of file building-allocator.cc.
References ns3::BuildingContainer::Add(), ns3::ObjectFactory::Create(), ns3::GridPositionAllocator::GetNext(), m_buildingFactory, m_current, m_height, m_lowerLeftPositionAllocator, m_upperRightPositionAllocator, NS_LOG_FUNCTION, NS_LOG_LOGIC, PushAttributes(), ns3::ObjectFactory::Set(), ns3::Vector3D::x, and ns3::Vector3D::y.
Referenced by FemtocellBlockAllocator::Create().
|
static |
Reimplemented from ns3::Object.
Definition at line 49 of file building-allocator.cc.
References ns3::GridPositionAllocator::COLUMN_FIRST, m_deltaX, m_deltaY, m_height, m_layoutType, m_lengthX, m_lengthY, m_n, m_xMin, m_yMin, ns3::MakeEnumAccessor(), ns3::MakeEnumChecker(), ns3::GridPositionAllocator::ROW_FIRST, and ns3::TypeId::SetParent().
|
private |
Definition at line 124 of file building-allocator.cc.
References m_deltaX, m_deltaY, m_layoutType, m_lengthX, m_lengthY, m_lowerLeftPositionAllocator, m_n, m_upperRightPositionAllocator, m_xMin, m_yMin, NS_LOG_FUNCTION, ns3::GridPositionAllocator::SetDeltaX(), ns3::GridPositionAllocator::SetDeltaY(), ns3::GridPositionAllocator::SetLayoutType(), ns3::GridPositionAllocator::SetMinX(), ns3::GridPositionAllocator::SetMinY(), and ns3::GridPositionAllocator::SetN().
Referenced by Create().
void ns3::GridBuildingAllocator::SetBuildingAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
Set an attribute to be used for each new building to be created
n | attribute name |
v | attribute value |
Definition at line 96 of file building-allocator.cc.
References m_buildingFactory, NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().
Referenced by FemtocellBlockAllocator::Create().
|
mutableprivate |
Definition at line 84 of file building-allocator.h.
Referenced by Create(), GridBuildingAllocator(), and SetBuildingAttribute().
|
mutableprivate |
Definition at line 73 of file building-allocator.h.
Referenced by Create().
|
private |
Definition at line 80 of file building-allocator.h.
Referenced by GetTypeId(), and PushAttributes().
|
private |
Definition at line 81 of file building-allocator.h.
Referenced by GetTypeId(), and PushAttributes().
|
private |
Definition at line 82 of file building-allocator.h.
Referenced by Create(), and GetTypeId().
|
private |
Definition at line 74 of file building-allocator.h.
Referenced by GetTypeId(), and PushAttributes().
|
private |
Definition at line 78 of file building-allocator.h.
Referenced by GetTypeId(), and PushAttributes().
|
private |
Definition at line 79 of file building-allocator.h.
Referenced by GetTypeId(), and PushAttributes().
|
private |
Definition at line 85 of file building-allocator.h.
Referenced by Create(), GridBuildingAllocator(), and PushAttributes().
|
private |
Definition at line 77 of file building-allocator.h.
Referenced by GetTypeId(), and PushAttributes().
|
private |
Definition at line 86 of file building-allocator.h.
Referenced by Create(), GridBuildingAllocator(), and PushAttributes().
|
private |
Definition at line 75 of file building-allocator.h.
Referenced by GetTypeId(), and PushAttributes().
|
private |
Definition at line 76 of file building-allocator.h.
Referenced by GetTypeId(), and PushAttributes().