Loading...
Searching...
No Matches
ns3::SatRandomCirclePositionAllocator Class Reference

Allocate random positions within a circle (center and radius), uniformly distributed. More...

#include "satellite-position-allocator.h"

Inheritance diagram for ns3::SatRandomCirclePositionAllocator:
Collaboration diagram for ns3::SatRandomCirclePositionAllocator:

Public Member Functions

 SatRandomCirclePositionAllocator ()
 Default constructor.
 SatRandomCirclePositionAllocator (GeoCoordinate center, uint32_t radius)
 Constructor with parameters.
virtual ~SatRandomCirclePositionAllocator ()
 Destructor for SatRandomCirclePositionAllocator.
virtual int64_t AssignStreams (int64_t stream)
virtual GeoCoordinate GetNextGeoPosition (uint32_t satId=0) const
 Get next position.
void SetCenter (GeoCoordinate center)
void SetRadius (uint32_t radius)
Public Member Functions inherited from ns3::SatPositionAllocator
 SatPositionAllocator ()
 Default constructor.
virtual ~SatPositionAllocator ()
 Destructor for SatPositionAllocator.
virtual Vector GetNext (void) const

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID.
Static Public Member Functions inherited from ns3::SatPositionAllocator
static TypeId GetTypeId (void)
 Get the type ID.

Private Attributes

GeoCoordinate m_center
uint32_t m_radius
Ptr< RandomVariableStream > m_rand

Detailed Description

Allocate random positions within a circle (center and radius), uniformly distributed.

Definition at line 178 of file satellite-position-allocator.h.

Constructor & Destructor Documentation

◆ SatRandomCirclePositionAllocator() [1/2]

ns3::SatRandomCirclePositionAllocator::SatRandomCirclePositionAllocator ( )

Default constructor.

Definition at line 229 of file satellite-position-allocator.cc.

References m_rand.

Referenced by GetTypeId().

Here is the caller graph for this function:

◆ SatRandomCirclePositionAllocator() [2/2]

ns3::SatRandomCirclePositionAllocator::SatRandomCirclePositionAllocator ( GeoCoordinate center,
uint32_t radius )

Constructor with parameters.

Parameters
centerCenter of the circle
radiusRadius in meters

Definition at line 234 of file satellite-position-allocator.cc.

References m_center, m_radius, and m_rand.

◆ ~SatRandomCirclePositionAllocator()

ns3::SatRandomCirclePositionAllocator::~SatRandomCirclePositionAllocator ( )
virtual

Destructor for SatRandomCirclePositionAllocator.

Definition at line 242 of file satellite-position-allocator.cc.

Member Function Documentation

◆ AssignStreams()

int64_t ns3::SatRandomCirclePositionAllocator::AssignStreams ( int64_t stream)
virtual

Reimplemented from ns3::SatPositionAllocator.

Definition at line 287 of file satellite-position-allocator.cc.

References m_rand.

◆ GetNextGeoPosition()

GeoCoordinate ns3::SatRandomCirclePositionAllocator::GetNextGeoPosition ( uint32_t satId = 0) const
virtual

Get next position.

Returns
The next chosen position.

Implements ns3::SatPositionAllocator.

Definition at line 263 of file satellite-position-allocator.cc.

References m_center, m_radius, m_rand, and ns3::GeoCoordinate::polarRadius_sphere.

◆ GetTypeId()

TypeId ns3::SatRandomCirclePositionAllocator::GetTypeId ( void )
static

Get the type ID.

Returns
the object TypeId

Definition at line 220 of file satellite-position-allocator.cc.

References ns3::SatPositionAllocator::SatPositionAllocator(), and SatRandomCirclePositionAllocator().

Here is the call graph for this function:

◆ SetCenter()

void ns3::SatRandomCirclePositionAllocator::SetCenter ( GeoCoordinate center)

Definition at line 247 of file satellite-position-allocator.cc.

References m_center.

◆ SetRadius()

void ns3::SatRandomCirclePositionAllocator::SetRadius ( uint32_t radius)

Definition at line 255 of file satellite-position-allocator.cc.

References m_radius.

Member Data Documentation

◆ m_center

GeoCoordinate ns3::SatRandomCirclePositionAllocator::m_center
private

◆ m_radius

uint32_t ns3::SatRandomCirclePositionAllocator::m_radius
private

◆ m_rand

Ptr<RandomVariableStream> ns3::SatRandomCirclePositionAllocator::m_rand
private

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