A Discrete-Event Network Simulator
API
random-waypoint-mobility-model.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2007 INRIA
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
19  */
20 #ifndef RANDOM_WAYPOINT_MOBILITY_MODEL_H
21 #define RANDOM_WAYPOINT_MOBILITY_MODEL_H
22 
24 #include "mobility-model.h"
25 #include "position-allocator.h"
26 #include "ns3/ptr.h"
27 #include "ns3/random-variable-stream.h"
28 
29 namespace ns3 {
30 
53 {
54 public:
59  static TypeId GetTypeId (void);
60 protected:
61  virtual void DoInitialize (void);
62 private:
66  void BeginWalk (void);
70  void DoInitializePrivate (void);
71  virtual Vector DoGetPosition (void) const;
72  virtual void DoSetPosition (const Vector &position);
73  virtual Vector DoGetVelocity (void) const;
74  virtual int64_t DoAssignStreams (int64_t);
75 
81 };
82 
83 } // namespace ns3
84 
85 #endif /* RANDOM_WAYPOINT_MOBILITY_MODEL_H */
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:73
static TypeId GetTypeId(void)
Register this type with the TypeId system.
Ptr< PositionAllocator > m_position
pointer to position allocator
Ptr< RandomVariableStream > m_speed
random variable to generate speeds
Utility class used to move node with constant velocity.
Keep track of the current position and velocity of an object.
void DoInitializePrivate(void)
Begin current pause event, schedule future walk event.
ConstantVelocityHelper m_helper
helper for velocity computations
void BeginWalk(void)
Get next position, begin moving towards it, schedule future pause event.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual void DoSetPosition(const Vector &position)
Ptr< RandomVariableStream > m_pause
random variable to generate pauses
virtual void DoInitialize(void)
Initialize() implementation.
virtual int64_t DoAssignStreams(int64_t)
The default implementation does nothing but return the passed-in parameter.
An identifier for simulation events.
Definition: event-id.h:53
EventId m_event
event ID of next scheduled event
a unique identifier for an interface.
Definition: type-id.h:58