Index: /orxonox/trunk/src/lib/math/curve.cc
===================================================================
--- /orxonox/trunk/src/lib/math/curve.cc	(revision 4471)
+++ /orxonox/trunk/src/lib/math/curve.cc	(revision 4472)
@@ -64,4 +64,9 @@
 }
 
+/**
+   \brief adds a new Node to the bezier Curve
+   \param newNode a Vector to the position of the new node
+   \param insertPosition after the n-th node the new node will be inserted
+*/
 void Curve::addNode(const Vector& newNode, unsigned int insertPosition)
 {
@@ -253,15 +258,20 @@
 /**
    \brief Calulates the direction of the Curve at time t.
-   \param The time at which to evaluate the curve.
-   \returns The vvaluated Vector.
+   \param t The time at which to evaluate the curve.
+   \returns The valuated Vector.
 */
 Vector BezierCurve::calcDir (float t)
 {
-  return dirCurve->calcPos(t);
-}
-
+  return this->dirCurve->calcPos(t);
+}
+
+/**
+   \brief Calulates the acceleration (second derivate) of the Curve at time t.
+   \param t The time at which to evaluate the curve.
+   \returns The valuated Vector.
+*/
 Vector BezierCurve::calcAcc (float t)
 {
-  return dirCurve->dirCurve->calcPos(t);
+  return this->dirCurve->getDirCurve()->calcPos(t);
 }
 
Index: /orxonox/trunk/src/lib/math/curve.h
===================================================================
--- /orxonox/trunk/src/lib/math/curve.h	(revision 4471)
+++ /orxonox/trunk/src/lib/math/curve.h	(revision 4472)
@@ -20,41 +20,52 @@
 {
  protected:
-  int nodeCount;         //!< The count of nodes the Curve has.
-  Vector curvePoint;     //!< The point on the Cureve at a local Time.
-  float localTime;       //!< If the time of one point is asked more than once the programm will not calculate it again.
-  int derivation;        //!< Which derivation of a Curve is this.
-
   //! Handles the curve-points (dynamic List)
   struct PathNode
   {
-    int number;          //!< The N-th node of this curve.
-    float factor;        //!< Curve specific multiplier factor.
-    Vector vFactor;      //!< A Vector-factor for multipliing.
-    Vector position;     //!< Vector Pointung to this curve-point.
-    PathNode* next;      //!< Pointer to the next Node.
+    int          number;       //!< The N-th node of this curve.
+    float        factor;       //!< Curve specific multiplier factor.
+    Vector       vFactor;      //!< A Vector-factor for multipliing.
+    Vector       position;     //!< Vector Pointung to this curve-point.
+    PathNode*    next;         //!< Pointer to the next Node.
   };
 
-  PathNode* firstNode;   //!< First node of the curve.
-  PathNode* currentNode; //!< The node we are working with (the Last node).
-
-
- private:
-  virtual void rebuild(void) = 0;
  public:
   Curve(void);
 
-  Curve* dirCurve;       //!< The derivation-curve of this Curve.
   void addNode(const Vector& newNode);
   void addNode(const Vector& newNode, unsigned int insertPosition);
   Vector getNode(unsigned int nodeToFind);
-  inline int getNodeCount(void) { return this->nodeCount;}
+  /** \returns the count of nodes in this curve */
+  inline int getNodeCount(void) const { return this->nodeCount; };
+  /** \returns the directional Curve */
+  Curve* getDirCurve(void) const { return this->dirCurve; };
 
+  /** \param t the value on the curve [0-1] \returns Vector to the position */
   virtual Vector calcPos(float t) = 0;
+  /** \param t the value on the curve [0-1] \returns the direction */
   virtual Vector calcDir(float t) = 0;
+  /** \param t the value on the curve [0-1] \returns the acceleration */
   virtual Vector calcAcc(float t) = 0;
+  /** \param t the value on the curve [0-1] \returns quaternion of the rotation */
   virtual Quaternion calcQuat(float t) = 0;
  
   // DEBUG
   void debug(void);
+
+ private:
+  /** \brief rebuilds the curve */
+  virtual void rebuild(void) = 0;
+
+ protected:
+  int         nodeCount;       //!< The count of nodes the Curve has.
+  Vector      curvePoint;      //!< The point on the Cureve at a local Time.
+  float       localTime;       //!< If the time of one point is asked more than once the programm will not calculate it again.
+  int         derivation;      //!< Which derivation of a Curve is this.
+
+  Curve*      dirCurve;        //!< The derivation-curve of this Curve.
+
+  PathNode*   firstNode;       //!< First node of the curve.
+  PathNode*   currentNode;     //!< The node we are working with (the Last node).
+
 };
 
@@ -66,6 +77,4 @@
 class BezierCurve : public Curve
 {
- private:
-  void rebuild(void);
  public:
   BezierCurve(void);
@@ -73,11 +82,14 @@
   virtual ~BezierCurve(void);
 
-  Vector calcPos(float t);
-  Vector calcDir(float t);
-  Vector calcAcc(float t);
-  Quaternion calcQuat(float t);
+  virtual Vector calcPos(float t);
+  virtual Vector calcDir(float t);
+  virtual Vector calcAcc(float t);
+  virtual Quaternion calcQuat(float t);
   
   
   Vector getPos(void) const;
+
+ private:
+  void rebuild(void);
 };
 
