Simplified and unified implementation of RocketfuelWeightReader
diff --git a/model/annotated-topology-reader.h b/model/annotated-topology-reader.h
index d97209b..06bbe2a 100644
--- a/model/annotated-topology-reader.h
+++ b/model/annotated-topology-reader.h
@@ -22,23 +22,18 @@
 #define __ANNOTATED_TOPOLOGY_READER_H__
 
 #include "ns3/topology-reader.h"
+#include "ns3/random-variable.h"
 
 namespace ns3 
 {
     
 /**
-* \brief This class reads annotated topology and apply settings to the corresponding nodes and links
-* Input File Format
-* 1st line is     NumberOfNodes    TAB     NumberofLinks
-* Nth line is     NodeID1  TAB    NodeID2   TAB  DataRateKBPS TAB OSPF   TAB    DelayMiliseconds   TAB   QueueSizeInPacketsNode1     TAB    QueueSizeInPacketsNode2    TAB    X-coordinate-node1     TAB    Y-coordinate-node1  TAB    X-coordinate-node2     TAB    Y-coordinate-node2
-*
-*/
+ * \brief This class reads annotated topology and apply settings to the corresponding nodes and links
+ *
+ */
 class AnnotatedTopologyReader : public TopologyReader
 {
 public:
-    typedef std::list< Link >::iterator LinksIterator;
-    static TypeId GetTypeId (void);
-        
   /**
    * \brief Constructor
    *
@@ -47,24 +42,18 @@
    * \see ns3::Names class
    */
   AnnotatedTopologyReader (const std::string &path="");
-    virtual ~AnnotatedTopologyReader ();
+  virtual ~AnnotatedTopologyReader ();
         
-    /**
-    * \brief Main annotated topology reading function.
-    *
-    * This method opens an input stream and reads topology file with annotations.
-    *
-    * \return the container of the nodes created (or empty container if there was an error)
-    */
+  /**
+   * \brief Main annotated topology reading function.
+   *
+   * This method opens an input stream and reads topology file with annotations.
+   *
+   * \return the container of the nodes created (or empty container if there was an error)
+   */
   virtual
   NodeContainer Read (void);
     
-  // /**
-  //  * \brief Set bounding box for the nodes
-  //  */
-  // void
-  // SetBoundingBox (double ulx, double uly, double lrx, double lry);
-
   /**
    * \brief Assign IPv4 addresses to all links
    *
@@ -76,28 +65,38 @@
    */
   void
   AssignIpv4Addresses (Ipv4Address base);
+
+  void
+  SetBoundingBox (double ulx, double uly, double lrx, double lry);
+
+protected:
+  Ptr<Node>
+  CreateNode (const std::string name);
+
+  Ptr<Node>
+  CreateNode (const std::string name, double posX, double posY);
   
 private:
   /**
-     * \brief This method applies setting to corresponding nodes and links
-     * NetDeviceContainer must be allocated
-     * NodeContainer from Read method
-     */
+   * \brief This method applies setting to corresponding nodes and links
+   * NetDeviceContainer must be allocated
+   * NodeContainer from Read method
+   */
   void ApplySettings ();
   void ApplyOspfMetric ();
     
+protected:
+  std::string m_path;
+
 private:
   AnnotatedTopologyReader (const AnnotatedTopologyReader&);
   AnnotatedTopologyReader& operator= (const AnnotatedTopologyReader&);
 
-  std::string m_path;
-  // double m_ulx;
-  // double m_uly;
-  // double m_lrx;
-  // double m_lry;
+  UniformVariable m_randX;
+  UniformVariable m_randY;
 };
-}
 
+}
 
 #endif