more dox
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Thu, 19 Jul 2007 11:31:17 +0200
changeset 1633 4d40e18b5ce3
parent 1632 b1a532cc4e9f
child 1634 2bf997301257
more dox
src/node/random-position.h
src/node/random-topology.h
--- a/src/node/random-position.h	Thu Jul 19 11:31:07 2007 +0200
+++ b/src/node/random-position.h	Thu Jul 19 11:31:17 2007 +0200
@@ -9,20 +9,42 @@
 
 class RandomVariable;
 
+/**
+ * \brief choose a position at random.
+ *
+ * This is a pure abstract base class.
+ */
 class RandomPosition : public Object
 {
 public:
   static const InterfaceId iid;
   RandomPosition ();
   virtual ~RandomPosition ();
+  /**
+   * \returns the next randomly-choosen position.
+   */
   virtual Position Get (void) const = 0;
 };
 
+/**
+ * \brief allocate random positions within a rectangle
+ * according to a pair of random variables.
+ */
 class RandomRectanglePosition : public RandomPosition
 {
 public:
   static const ClassId cid;
+  /**
+   * Create a random position model based on the
+   * Bind default values.
+   */
   RandomRectanglePosition ();
+  /**
+   * \param x the random variable which is used to choose
+   *        the x coordinates.
+   * \param y the random variable which is used to choose
+   *        the y coordinates.
+   */
   RandomRectanglePosition (const RandomVariable &x,
 			   const RandomVariable &y);
   virtual ~RandomRectanglePosition ();
@@ -32,11 +54,31 @@
   RandomVariable *m_y;
 };
 
+/**
+ * \brief allocate random positions within a disc
+ * according to a pair of random variables.
+ */
 class RandomDiscPosition : public RandomPosition
 {
 public:
   static const ClassId cid;
+  /**
+   * Create a random position model based on the
+   * Bind default values.
+   */
   RandomDiscPosition ();
+  /**
+   * \param theta the random variable used to pick
+   *        the angle of the random position in polar
+   *        coordinates.
+   * \param rho the random variable used to pick the
+   *        radius of the random position in polar
+   *        coordinates.
+   * \param x the x coordinate of the center of the
+   *        polar coodinate system.
+   * \param y the y coordinate of the center of the
+   *        polar coodinate system.
+   */
   RandomDiscPosition (const RandomVariable &theta,
 		      const RandomVariable &rho,
 		      double x, double y);
--- a/src/node/random-topology.h	Thu Jul 19 11:31:07 2007 +0200
+++ b/src/node/random-topology.h	Thu Jul 19 11:31:17 2007 +0200
@@ -29,20 +29,63 @@
 
 class RandomPosition;
 
+/**
+ * \brief layout objects randomly in 3d space.
+ *
+ * This assigns an initial position to each object
+ * according to its position model and assigns
+ * an instance of a mobility model to each object
+ * according to its mobility model class id.
+ */
 class RandomTopology
 {
  public:
+  /**
+   * Create a default random topology based
+   * on Bind configuration.
+   */
   RandomTopology ();
+  /**
+   * \param positionModel model to set the initial position
+   *        of each object.
+   * \param type of mobility model to attach to each object.
+   *
+   * Create a random topology based on the
+   * specified position and mobility models.
+   */
   RandomTopology (Ptr<RandomPosition> positionModel,
                   ClassId mobilityModel);
 
   ~RandomTopology ();
 
+  /**
+   * \param classId the type of mobility model attached to each
+   *        input object if it does not have one already.
+   */
   void SetMobilityModel (ClassId classId);
+  /**
+   * \param positionModel the position model used to initialize
+   *        the position of each object.
+   */
   void SetPositionModel (Ptr<RandomPosition> positionModel);
 
+  /**
+   * \param object the object to layout
+   *
+   * Assign an initial position and a mobility model
+   * to the object.
+   */
   void LayoutOne (Ptr<Object> object);
 
+  /**
+   * \param begin iterator which identifies the first
+   *        object to configure.
+   * \param end iterator which identifies the last
+   *        object to configure.
+   *
+   * Assign an initial position and a mobility model
+   * to the objects.
+   */
   template <typename T>
   void Layout (const T &begin, const T &end);
  private: