A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::RandomDirection2dMobilityModel Class Reference

Random direction mobility model. More...

#include <random-direction-2d-mobility-model.h>

+ Inheritance diagram for ns3::RandomDirection2dMobilityModel:
+ Collaboration diagram for ns3::RandomDirection2dMobilityModel:

Public Member Functions

 RandomDirection2dMobilityModel ()
- Public Member Functions inherited from ns3::MobilityModel
 MobilityModel ()
virtual ~MobilityModel ()=0
int64_t AssignStreams (int64_t stream)
double GetDistanceFrom (Ptr< const MobilityModel > position) const
Vector GetPosition (void) const
double GetRelativeSpeed (Ptr< const MobilityModel > other) const
Vector GetVelocity (void) const
void SetPosition (const Vector &position)
- Public Member Functions inherited from ns3::Object
 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 Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 SimpleRefCount (const SimpleRefCount &o)
uint32_t GetReferenceCount (void) const
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
- Public Member Functions inherited from ns3::ObjectBase
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)
 This method returns the TypeId associated to ns3::RandomDirection2dMobilityModel.

Private Member Functions

void BeginPause (void)
virtual int64_t DoAssignStreams (int64_t)
virtual void DoDispose (void)
virtual Vector DoGetPosition (void) const
virtual Vector DoGetVelocity (void) const
virtual void DoSetPosition (const Vector &position)
virtual void DoStart (void)
void DoStartPrivate (void)
void InitializeDirectionAndSpeed (void)
void ResetDirectionAndSpeed (void)
void SetDirectionAndSpeed (double direction)

Private Attributes

Rectangle m_bounds
Ptr< UniformRandomVariablem_direction
EventId m_event
ConstantVelocityHelper m_helper
Ptr< RandomVariableStreamm_pause
Ptr< RandomVariableStreamm_speed

Static Private Attributes

static const double PI = 3.14159265358979323846

Additional Inherited Members

- Protected Member Functions inherited from ns3::MobilityModel
void NotifyCourseChange (void) const

Detailed Description

Random direction mobility model.

The movement of objects is based on random directions: each object pauses for a specific delay, chooses a random direction and speed and then travels in the specific direction until it reaches one of the boundaries of the model. When it reaches the boundary, it pauses, selects a new direction and speed, aso.

Definition at line 44 of file random-direction-2d-mobility-model.h.

Constructor & Destructor Documentation

ns3::RandomDirection2dMobilityModel::RandomDirection2dMobilityModel ( )

Definition at line 60 of file random-direction-2d-mobility-model.cc.

References m_direction.

Member Function Documentation

void ns3::RandomDirection2dMobilityModel::BeginPause ( void  )
private
int64_t ns3::RandomDirection2dMobilityModel::DoAssignStreams ( int64_t  stream)
privatevirtual

Definition at line 159 of file random-direction-2d-mobility-model.cc.

References m_direction, m_pause, m_speed, and ns3::RandomVariableStream::SetStream().

+ Here is the call graph for this function:

void ns3::RandomDirection2dMobilityModel::DoDispose ( void  )
privatevirtual

Definition at line 66 of file random-direction-2d-mobility-model.cc.

Vector ns3::RandomDirection2dMobilityModel::DoGetPosition ( void  ) const
privatevirtual
Vector ns3::RandomDirection2dMobilityModel::DoGetVelocity ( void  ) const
privatevirtual

Definition at line 154 of file random-direction-2d-mobility-model.cc.

References ns3::ConstantVelocityHelper::GetVelocity(), and m_helper.

+ Here is the call graph for this function:

void ns3::RandomDirection2dMobilityModel::DoSetPosition ( const Vector position)
privatevirtual
void ns3::RandomDirection2dMobilityModel::DoStart ( void  )
privatevirtual

Definition at line 72 of file random-direction-2d-mobility-model.cc.

References DoStartPrivate().

+ Here is the call graph for this function:

void ns3::RandomDirection2dMobilityModel::DoStartPrivate ( void  )
private

Definition at line 79 of file random-direction-2d-mobility-model.cc.

References ns3::UniformRandomVariable::GetValue(), m_direction, PI, and SetDirectionAndSpeed().

Referenced by DoSetPosition(), and DoStart().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

This method returns the TypeId associated to ns3::RandomDirection2dMobilityModel.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/$ns3::MobilityModel/$ns3::RandomDirection2dMobilityModel

Attributes defined for this type:

Attributes defined in parent class ns3::MobilityModel:

  • Position: The current position of the mobility model.
  • Velocity: The current velocity of the mobility model.

No TraceSources defined for this type.
TraceSources defined in parent class ns3::MobilityModel:

  • CourseChange: The value of the position and/or velocity vector changed

Reimplemented from ns3::MobilityModel.

Definition at line 38 of file random-direction-2d-mobility-model.cc.

References m_bounds, m_pause, m_speed, and ns3::TypeId::SetParent().

+ Here is the call graph for this function:

void ns3::RandomDirection2dMobilityModel::InitializeDirectionAndSpeed ( void  )
private
void ns3::RandomDirection2dMobilityModel::ResetDirectionAndSpeed ( void  )
private

Member Data Documentation

Rectangle ns3::RandomDirection2dMobilityModel::m_bounds
private
Ptr<UniformRandomVariable> ns3::RandomDirection2dMobilityModel::m_direction
private
EventId ns3::RandomDirection2dMobilityModel::m_event
private
ConstantVelocityHelper ns3::RandomDirection2dMobilityModel::m_helper
private
Ptr<RandomVariableStream> ns3::RandomDirection2dMobilityModel::m_pause
private

Definition at line 67 of file random-direction-2d-mobility-model.h.

Referenced by BeginPause(), DoAssignStreams(), and GetTypeId().

Ptr<RandomVariableStream> ns3::RandomDirection2dMobilityModel::m_speed
private
const double ns3::RandomDirection2dMobilityModel::PI = 3.14159265358979323846
staticprivate

Definition at line 63 of file random-direction-2d-mobility-model.h.

Referenced by DoStartPrivate(), and ResetDirectionAndSpeed().


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