//  Objectif : Implantation de la classe SegmentComposant

#include "SegmentComposant.h"

SegmentComposant :: SegmentComposant(const Point &p1, const Point &p2)
:
    _e1(p1),
    _e2(p2)
{}

const Point & SegmentComposant :: e1() const
{
    return _e1;
}

const Point & SegmentComposant :: e2() const
{
    return _e2;
}

double SegmentComposant :: longueur() const
{
    return e1().distance(e2());
}

void SegmentComposant :: translater(double dx, double dy)
{
    _e1.translater(dx, dy);
    _e2.translater(dx, dy);
}

void SegmentComposant :: afficher(std::ostream &out) const
{
    out << "[" << e1() << " ; " << e2() << "]";
}

SegmentComposant :: ~SegmentComposant()
{
    std::cerr << "**** DESTRUCTEUR " << "SegmentComposant :: ~SegmentComposant() // " << *this
	    << " @ " << this << std::endl;
}
