A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 
24 ATTRIBUTE_HELPER_CPP (Waypoint);
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 
37 std::ostream &operator << (std::ostream &os, const Waypoint &waypoint)
38 {
39  os << waypoint.time.GetSeconds () << "$" << waypoint.position;
40  return os;
41 }
42 std::istream &operator >> (std::istream &is, Waypoint &waypoint)
43 {
44  char separator;
45  is >> waypoint.time >> separator >> waypoint.position;
46  if (separator != '$')
47  {
48  is.setstate (std::ios_base::failbit);
49  }
50  return is;
51 }
52 
53 } // namespace ns3
54 
std::istream & operator>>(std::istream &is, Angles &a)
initialize a struct Angles from input
Definition: angles.cc:49
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:79
a 3d vector
Definition: vector.h:31
double GetSeconds(void) const
Definition: nstime.h:272
Vector position
Definition: waypoint.h:52
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output
Definition: angles.cc:43
Waypoint()
Create a waypoint at time 0 and position (0,0,0).
Definition: waypoint.cc:31
ATTRIBUTE_HELPER_CPP(ObjectFactory)
a (time, location) pair.
Definition: waypoint.h:34