A Discrete-Event Network Simulator
API
waypoint.cc
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2009 Phillip Sitbon
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: Phillip Sitbon <phillip@sitbon.net>
19  */
20 #include "waypoint.h"
21 
22 namespace ns3 {
23 
25 
26 Waypoint::Waypoint (const Time &waypointTime, const Vector &waypointPosition)
27  : time (waypointTime),
28  position (waypointPosition)
29 {
30 }
32  : time (Seconds (0.0)),
33  position (0,0,0)
34 {
35 }
36 
44 std::ostream &operator << (std::ostream &os, const Waypoint &waypoint)
45 {
46  os << waypoint.time.GetSeconds () << "$" << waypoint.position;
47  return os;
48 }
49 
57 std::istream &operator >> (std::istream &is, Waypoint &waypoint)
58 {
59  char separator;
60  is >> waypoint.time >> separator >> waypoint.position;
61  if (separator != '$')
62  {
63  is.setstate (std::ios_base::failbit);
64  }
65  return is;
66 }
67 
68 } // namespace ns3
69 
std::istream & operator>>(std::istream &is, Angles &a)
initialize a struct Angles from input
Definition: angles.cc:48
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:103
Time time
The waypoint time.
Definition: waypoint.h:53
#define ATTRIBUTE_HELPER_CPP(type)
Define the attribute value, accessor and checkers for class type
double GetSeconds(void) const
Get an approximation of the time stored in this instance in the indicated unit.
Definition: nstime.h:379
Vector position
The position of the waypoint.
Definition: waypoint.h:57
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output
Definition: angles.cc:42
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Waypoint()
Create a waypoint at time 0 and position (0,0,0).
Definition: waypoint.cc:31
Time Seconds(double value)
Construct a Time in the indicated unit.
Definition: nstime.h:1288
a (time, location) pair.
Definition: waypoint.h:35