#include "wireframe.hpp"

void wireframe::_copyWireframe(const wireframe& l)
{
    _wireframe = l._wireframe;
    _brush = l._brush;
}

wireframe::wireframe()
{
    _brush = color();
}

wireframe::wireframe(const wireframe& l)
{
    _copyWireframe(l);
}

const wireframe & wireframe::operator=(const wireframe & l)
{
    _copyWireframe(l);
    return *this;
}

const color& wireframe::getLineColor(int i)const
{
    assert(i<_wireframe.size());
    return _wireframe[i].c;
}

int wireframe::numLine()const
{
    return _wireframe.size();
}


const wire& wireframe::getLine(int i)const
{
    assert(i < numLine());
    return _wireframe[i];
}
//
const point& wireframe::getLinePointA(int i)const
{
    assert(i < numLine());
    return getPoint(_wireframe[i].a+1);
}

const point& wireframe::getLinePointB(int i)const
{
    assert(i < numLine());
    return getPoint(_wireframe[i].b+1);
}

void wireframe::addLine(const wire& l)
{
    _wireframe.push_back(l);
    _wireframe.back().c = _brush;
}

void wireframe::setBrush(const color& c)
{
    _brush = c;
}
