From a2ca638f471bfa43a8661a60bd9816e01a9cd4a1 Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Mon, 2 Jul 2007 11:29:54 +0200 Subject: [PATCH] add cid support to position subclasses --- src/node/static-position.cc | 5 +++++ src/node/static-position.h | 10 ++++++++++ src/node/static-speed-position.cc | 13 +++++++++++++ src/node/static-speed-position.h | 11 +++++++++++ 4 files changed, 39 insertions(+) diff --git a/src/node/static-position.cc b/src/node/static-position.cc index 9c6c06233..024c5151e 100644 --- a/src/node/static-position.cc +++ b/src/node/static-position.cc @@ -23,10 +23,15 @@ namespace ns3 { const InterfaceId StaticPosition::iid = MakeInterfaceId ("StaticPosition", Position::iid); +const ClassId StaticPosition::cid = MakeClassId ("StaticPosition", + StaticPosition::iid); StaticPosition::StaticPosition () : m_x (0.0), m_y (0.0), m_z (0.0) {} +StaticPosition::StaticPosition (double x, double y) + : m_x (x), m_y (y), m_z (0.0) +{} StaticPosition::StaticPosition (double x, double y, double z) : m_x (x), m_y (y), m_z (z) {} diff --git a/src/node/static-position.h b/src/node/static-position.h index bf6ee6e78..67e6bd7fd 100644 --- a/src/node/static-position.h +++ b/src/node/static-position.h @@ -21,6 +21,7 @@ #ifndef STATIC_POSITION_H #define STATIC_POSITION_H +#include "ns3/component-manager.h" #include "position.h" namespace ns3 { @@ -34,10 +35,19 @@ class StaticPosition : public Position { public: static const InterfaceId iid; + static const ClassId cid; /** * Create a position located at coordinates (0,0,0) */ StaticPosition (); + /** + * \param x x coordinate + * \param y y coordinate + * + * Create a position located at coordinates (x,y,0). + * Unit is meters + */ + StaticPosition (double x, double y); /** * \param x x coordinate * \param y y coordinate diff --git a/src/node/static-speed-position.cc b/src/node/static-speed-position.cc index 4fc077795..fd2b45f15 100644 --- a/src/node/static-speed-position.cc +++ b/src/node/static-speed-position.cc @@ -24,6 +24,10 @@ namespace ns3 { const InterfaceId StaticSpeedPosition::iid = MakeInterfaceId ("StaticSpeedPosition", Position::iid); +const ClassId StaticSpeedPosition::cid = + MakeClassId ("StaticSpeedPosition", + StaticSpeedPosition::iid); + StaticSpeedPosition::StaticSpeedPosition () : m_x (0.0), @@ -43,6 +47,15 @@ StaticSpeedPosition::StaticSpeedPosition (double x, double y, double z) m_dz (0.0), m_prevTime (Simulator::Now ()) {} +StaticSpeedPosition::StaticSpeedPosition (double x, double y) + : m_x (x), + m_y (y), + m_z (0.0), + m_dx (0.0), + m_dy (0.0), + m_dz (0.0), + m_prevTime (Simulator::Now ()) +{} StaticSpeedPosition::StaticSpeedPosition (double x, double y, double z, double dx, double dy, double dz) : m_x (x), diff --git a/src/node/static-speed-position.h b/src/node/static-speed-position.h index 8771337f3..ed8d48e64 100644 --- a/src/node/static-speed-position.h +++ b/src/node/static-speed-position.h @@ -24,6 +24,7 @@ #include #include "position.h" #include "ns3/nstime.h" +#include "ns3/component-manager.h" namespace ns3 { @@ -31,11 +32,21 @@ class StaticSpeedPosition : public Position { public: static const InterfaceId iid; + static const ClassId cid; /** * Create position located at coordinates (0,0,0) with * speed (0,0,0). */ StaticSpeedPosition (); + /** + * \param x x coordinate + * \param y y coordinate + * + * Create a position located at coordinates (x,y,0) with + * speed (0,0,0). + * Unit is meters + */ + StaticSpeedPosition (double x, double y); /** * \param x x coordinate * \param y y coordinate