/*!\file point.c
 *
 * \author SOUPLET Antoine
 * \version 1.0
 * \date 09-01-2012 
 *
 * \brief Fichier contenant les fonctions traitant des points (initialisation...)
 *
 */

#include "point.h"
#include <stdlib.h>
#include <stdio.h>
#include "functionAdd.h"

//Crée et initialise un point à partir de deux rééls correspondants à l'abscisse et à l'ordonnée
Point pointInit(double d_x, double d_y) {
Point point_point;//Déclaration du point à retourner
point_point.x=d_x;//initialise l'abscisse du point
point_point.y=d_y;//initialise l'ordonnée du point
return point_point;//retourne le point
}

//Crée, alloue et initialise un pointeur vers un point à partir de deux rééls correspondants à l'abscisse et à l'ordonnée
Point* pointInitAndSet(double d_x, double d_y) {
Point *ppoint_point;//Déclaration du pointeur vers le point à retourner
ppoint_point=myMalloc(sizeof(Point));//alloue la mémoire correspond à un pointeur vers un point
(*ppoint_point).x=d_x;//initialise l'abscisse du point pointé
(*ppoint_point).y=d_y;//initialise l'ordonnée du point pointé
return ppoint_point;//retourne un pointeur vers un point
}

//Crée, alloue et initialise un pointeur vers un point à partir d'un autre point
Point* pointInitAndSetByPoint(Point point_point) {
Point *ppoint_point;//Déclaration du pointeur vers le point à retourner
ppoint_point=myMalloc(sizeof(Point));//alloue la mémoire correspondant à un pointeur vers un point
*ppoint_point=point_point;//initialise le point pointé avec le point en paramètre de la fonction
return ppoint_point;//retourne un pointeur vers un point
}

//Initialise un pointeur vers un point à partir de deux rééls correspondants à l'abscisse et à l'ordonnée
void pointSetValues(Point* ppoint_point, double d_x, double d_y) {
(*ppoint_point).x=d_x;//initialise l'abscisse du point pointé
(*ppoint_point).y=d_y;//initialise l'ordonnée du point pointé
}