Newer
Older
/*
* Copyright (c) 2015 Tricoire Sebastien 3dsman@free.fr
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
* 3. This notice may not be removed or altered from any source distribution.
*
*/
#include "OE_document.h"
#include <string>
#include <iostream>
OE_document::OE_document()
{
void OE_document::getBound(float* xMin, float* yMin, float* xMax, float* yMax)
{
float tmpXMin, tmpYMin, tmpXMax, tmpYMax;
if (curves.size())
{
curves.at(0)->getBound(xMin, yMin, xMax, yMax);
for (unsigned i=0; i<curves.size(); i++)
{
curves.at(i)->getBound(&tmpXMin, &tmpYMin, &tmpXMax, &tmpYMax);
*xMin = minf(*xMin,tmpXMin);
*yMin = minf(*yMin,tmpYMin);
*xMax = maxf(*xMax,tmpXMax);
*yMax = maxf(*yMax,tmpYMax);
}
for (unsigned i=0; i<stitchs.size(); i++)
{
stitchs.at(i)->getBound(&tmpXMin, &tmpYMin, &tmpXMax, &tmpYMax);
*xMin = minf(*xMin,tmpXMin);
*yMin = minf(*yMin,tmpYMin);
*xMax = maxf(*xMax,tmpXMax);
*yMax = maxf(*yMax,tmpYMax);
}
}
}
bool OE_document::addCurve(OE_curve * curve)
curves.push_back(curve);
return true;
}
bool OE_document::addStitch(OE_stitchs * stitch)
{
stitchs.push_back(stitch);
return true;
}
bool OE_document::addThread(OE_thread * thread)
{
threads.push_back(thread);
return true;
}
for (unsigned i=0; i<curves.size(); i++)
{
curves.at(i).draw(dpi);
}
for (unsigned i=0; i<stitchs.size(); i++)
{
stitchs.at(i)->draw();
}
return true;