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

Static Public Member Functions

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

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 175 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.

◆ 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_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 ns3::GeoCoordinate::GetAltitude(), ns3::GeoCoordinate::GetLatitude(), ns3::GeoCoordinate::GetLongitude(), m_center, m_radius, m_rand, and ns3::GeoCoordinate::polarRadius_sphere.

+ Here is the call graph for this function:

◆ 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.

◆ 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

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

Referenced by GetNextGeoPosition(), and SetCenter().

◆ m_radius

uint32_t ns3::SatRandomCirclePositionAllocator::m_radius
private

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

Referenced by GetNextGeoPosition(), and SetRadius().

◆ m_rand

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

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