20 #ifndef POSITION_ALLOCATOR_H
21 #define POSITION_ALLOCATOR_H
23 #include "ns3/object.h"
24 #include "ns3/random-variable-stream.h"
25 #include "ns3/vector.h"
81 mutable std::vector<Vector>::const_iterator
m_current;
133 void SetN (uint32_t n);
158 uint32_t
GetN (
void)
const;
235 void SetX (
double x);
236 void SetY (
double y);
280 void SetX (
double x);
285 void SetY (
double y);
In column-first mode, positions are allocated on the first column until N positions have been allocat...
Ptr< RandomVariableStream > m_y
Ptr< RandomVariableStream > m_y
double GetMinY(void) const
void SetDeltaX(double deltaX)
virtual Vector GetNext(void) const =0
static TypeId GetTypeId(void)
Ptr< RandomVariableStream > m_theta
void SetMinX(double xMin)
virtual ~PositionAllocator()
void SetZ(Ptr< RandomVariableStream > z)
double GetDeltaY(void) const
enum LayoutType GetLayoutType(void) const
virtual Vector GetNext(void) const
std::vector< Vector > m_positions
Ptr< RandomVariableStream > m_rho
void SetMinY(double yMin)
static TypeId GetTypeId(void)
virtual ~RandomBoxPositionAllocator()
double GetDeltaX(void) const
virtual int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
static TypeId GetTypeId(void)
std::vector< Vector >::const_iterator m_current
void SetRho(Ptr< RandomVariableStream > rho)
virtual Vector GetNext(void) const
virtual Vector GetNext(void) const
static TypeId GetTypeId(void)
void SetDeltaY(double deltaY)
Ptr< RandomVariableStream > m_x
void SetY(Ptr< RandomVariableStream > y)
virtual ~RandomRectanglePositionAllocator()
Allocate positions on a rectangular 2d grid.
void SetTheta(Ptr< RandomVariableStream > theta)
Allocate positions from a deterministic list specified by the user.
virtual Vector GetNext(void) const
void SetY(Ptr< RandomVariableStream > y)
virtual int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
RandomDiscPositionAllocator()
static TypeId GetTypeId(void)
virtual int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
RandomRectanglePositionAllocator()
enum LayoutType m_layoutType
static TypeId GetTypeId(void)
Allocate random positions within a rectangle according to a pair of random variables.
virtual int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
In row-first mode, positions are allocated on the first row until N positions have been allocated...
void SetLayoutType(enum LayoutType layoutType)
virtual Vector GetNext(void) const
uint32_t GetN(void) const
void SetX(Ptr< RandomVariableStream > x)
void SetX(Ptr< RandomVariableStream > x)
Allocate random positions within a 3D box according to a set of three random variables.
RandomBoxPositionAllocator()
a base class which provides memory management and object aggregation
a unique identifier for an interface.
Allocate random positions within a disc according to a given distribution for the polar coordinates o...
virtual int64_t AssignStreams(int64_t stream)
Assign a fixed random variable stream number to the random variables used by this model...
LayoutType
Determine whether positions are allocated row first or column first.
virtual ~RandomDiscPositionAllocator()
Ptr< RandomVariableStream > m_z
double GetMinX(void) const
Ptr< RandomVariableStream > m_x
Allocate a set of positions.
virtual int64_t AssignStreams(int64_t stream)=0
Assign a fixed random variable stream number to the random variables used by this model...