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

Satellite mobility model for which the current position change based on values read from a file. More...

#include "satellite-traced-mobility-model.h"

Inheritance diagram for ns3::SatTracedMobilityModel:
Collaboration diagram for ns3::SatTracedMobilityModel:

Public Member Functions

 SatTracedMobilityModel ()
 Default constructor.
 SatTracedMobilityModel (uint32_t satId, const std::string &filename, Ptr< SatAntennaGainPatternContainer > agp)
 Constructor.
virtual ~SatTracedMobilityModel ()
 Destructor for SatMobilityModel.
Ptr< MobilityModel > Copy () const override
 Copy function allows one to copy the underlying MobilityModel from a MobilityModel pointer, by calling each children Copy implementation.
virtual void DoDispose ()
 Dispose of this class instance.
uint32_t GetBestBeamId (bool ignoreNan=false) const
 Return the best beam ID based on the current position.
uint32_t GetSatId (void) const
 Return the satellite ID linked to this node.
void SetSatId (uint32_t satId)
 Set the satellite ID linked to this node.
Public Member Functions inherited from ns3::SatMobilityModel
 SatMobilityModel ()
 Default constructor.
virtual ~SatMobilityModel ()=0
 Destructor for SatMobilityModel.
double GetDistanceFrom (Ptr< const SatMobilityModel > position) const
GeoCoordinate GetGeoPosition (void) const
void NotifyGeoCourseChange (void) const
void SetGeoPosition (const GeoCoordinate &position)

Static Public Member Functions

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

Private Member Functions

virtual GeoCoordinate DoGetGeoPosition (void) const
virtual Vector DoGetPosition (void) const
virtual Vector DoGetVelocity (void) const
virtual void DoSetGeoPosition (const GeoCoordinate &position)
virtual void DoSetPosition (const Vector &position)
void UpdateGeoPositionFromFile (void)

Private Attributes

Ptr< SatAntennaGainPatternContainerm_antennaGainPatterns
GeoCoordinate m_geoPosition
GeoCoordinate::ReferenceEllipsoid_t m_refEllipsoid
uint32_t m_satId
std::string m_traceFilename
Time m_updateInterval
Vector m_velocity

Additional Inherited Members

Public Types inherited from ns3::SatMobilityModel
typedef void(* CourseChangeCallback) (const Ptr< const SatMobilityModel > model)
 Callback signature for SatCourseChange trace source.

Detailed Description

Satellite mobility model for which the current position change based on values read from a file.

Definition at line 41 of file satellite-traced-mobility-model.h.

Constructor & Destructor Documentation

◆ SatTracedMobilityModel() [1/2]

ns3::SatTracedMobilityModel::SatTracedMobilityModel ( )

Default constructor.

Unused.

Definition at line 74 of file satellite-traced-mobility-model.cc.

◆ SatTracedMobilityModel() [2/2]

ns3::SatTracedMobilityModel::SatTracedMobilityModel ( uint32_t satId,
const std::string & filename,
Ptr< SatAntennaGainPatternContainer > agp )

Constructor.

Definition at line 79 of file satellite-traced-mobility-model.cc.

References m_antennaGainPatterns, m_geoPosition, m_refEllipsoid, m_satId, m_traceFilename, m_updateInterval, m_velocity, and UpdateGeoPositionFromFile().

Here is the call graph for this function:

◆ ~SatTracedMobilityModel()

ns3::SatTracedMobilityModel::~SatTracedMobilityModel ( )
virtual

Destructor for SatMobilityModel.

Definition at line 95 of file satellite-traced-mobility-model.cc.

Member Function Documentation

◆ Copy()

Ptr< MobilityModel > ns3::SatTracedMobilityModel::Copy ( ) const
inlineoverridevirtual

Copy function allows one to copy the underlying MobilityModel from a MobilityModel pointer, by calling each children Copy implementation.

This is primarily used by wraparound models for the spectrum channel.

Returns
a copy of the current mobility model

Implements ns3::SatMobilityModel.

Definition at line 73 of file satellite-traced-mobility-model.h.

◆ DoDispose()

void ns3::SatTracedMobilityModel::DoDispose ( )
virtual

Dispose of this class instance.

Definition at line 67 of file satellite-traced-mobility-model.cc.

References m_antennaGainPatterns.

◆ DoGetGeoPosition()

GeoCoordinate ns3::SatTracedMobilityModel::DoGetGeoPosition ( void ) const
privatevirtual
Returns
the current position.

Implements ns3::SatMobilityModel.

Definition at line 101 of file satellite-traced-mobility-model.cc.

References m_geoPosition.

Referenced by DoGetPosition().

Here is the caller graph for this function:

◆ DoGetPosition()

Vector ns3::SatTracedMobilityModel::DoGetPosition ( void ) const
privatevirtual
Returns
cartesian format position as vector

Reimplemented from ns3::SatMobilityModel.

Definition at line 125 of file satellite-traced-mobility-model.cc.

References DoGetGeoPosition(), and ns3::GeoCoordinate::ToVector().

Here is the call graph for this function:

◆ DoGetVelocity()

Vector ns3::SatTracedMobilityModel::DoGetVelocity ( void ) const
privatevirtual
Returns
the current velocity.

Definition at line 141 of file satellite-traced-mobility-model.cc.

References m_velocity.

◆ DoSetGeoPosition()

void ns3::SatTracedMobilityModel::DoSetGeoPosition ( const GeoCoordinate & position)
privatevirtual
Parameters
positionthe position to set.

Implements ns3::SatMobilityModel.

Definition at line 109 of file satellite-traced-mobility-model.cc.

References m_geoPosition, m_updateInterval, m_velocity, ns3::SatMobilityModel::NotifyGeoCourseChange(), and ns3::GeoCoordinate::ToVector().

Referenced by DoSetPosition(), and UpdateGeoPositionFromFile().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DoSetPosition()

void ns3::SatTracedMobilityModel::DoSetPosition ( const Vector & position)
privatevirtual
Parameters
positionposition in Cartesian format to set

Reimplemented from ns3::SatMobilityModel.

Definition at line 133 of file satellite-traced-mobility-model.cc.

References DoSetGeoPosition().

Here is the call graph for this function:

◆ GetBestBeamId()

uint32_t ns3::SatTracedMobilityModel::GetBestBeamId ( bool ignoreNan = false) const

Return the best beam ID based on the current position.

Parameters
ignoreNanDo not crash if a NaN value is returned
Returns
best beam id in the specified geo coordinate

Definition at line 174 of file satellite-traced-mobility-model.cc.

References m_antennaGainPatterns, m_geoPosition, and m_satId.

◆ GetSatId()

uint32_t ns3::SatTracedMobilityModel::GetSatId ( void ) const

Return the satellite ID linked to this node.

Definition at line 168 of file satellite-traced-mobility-model.cc.

References m_satId.

◆ GetTypeId()

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

Get the type ID.

Returns
the object TypeId

Definition at line 40 of file satellite-traced-mobility-model.cc.

References ns3::SatMobilityModel::SatMobilityModel(), ns3::GeoCoordinate::GRS80, m_refEllipsoid, m_updateInterval, ns3::GeoCoordinate::SPHERE, and ns3::GeoCoordinate::WGS84.

Here is the call graph for this function:

◆ SetSatId()

void ns3::SatTracedMobilityModel::SetSatId ( uint32_t satId)

Set the satellite ID linked to this node.

Definition at line 162 of file satellite-traced-mobility-model.cc.

References m_satId.

◆ UpdateGeoPositionFromFile()

void ns3::SatTracedMobilityModel::UpdateGeoPositionFromFile ( void )
private

Definition at line 149 of file satellite-traced-mobility-model.cc.

References DoSetGeoPosition(), m_refEllipsoid, m_traceFilename, m_updateInterval, and UpdateGeoPositionFromFile().

Referenced by SatTracedMobilityModel(), and UpdateGeoPositionFromFile().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_antennaGainPatterns

Ptr<SatAntennaGainPatternContainer> ns3::SatTracedMobilityModel::m_antennaGainPatterns
private

◆ m_geoPosition

GeoCoordinate ns3::SatTracedMobilityModel::m_geoPosition
private

◆ m_refEllipsoid

GeoCoordinate::ReferenceEllipsoid_t ns3::SatTracedMobilityModel::m_refEllipsoid
private

◆ m_satId

uint32_t ns3::SatTracedMobilityModel::m_satId
private

◆ m_traceFilename

std::string ns3::SatTracedMobilityModel::m_traceFilename
private

◆ m_updateInterval

Time ns3::SatTracedMobilityModel::m_updateInterval
private

◆ m_velocity

Vector ns3::SatTracedMobilityModel::m_velocity
private

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