BlinkenArea - GitList
Repositories
Blog
Wiki
libetherpix
Code
Commits
Branches
Tags
Search
Tree:
4ef7955
Branches
Tags
master
libetherpix
config_gen
src
chain.cpp
update copyright year
Stefan Schuermans
commited
4ef7955
at 2017-05-20 16:55:59
chain.cpp
Blame
History
Raw
/* * EtherPix config file generator * * Copyright 2010-2017 Stefan Schuermans <stefan schuermans info> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, version 3 of the License. * * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <iostream> #include <vector> #include "chain.h" #include "pixel.h" #include "point.h" Chain::Chain(unsigned int pixelCnt): mPixelCnt(pixelCnt) { } int Chain::pixCoord(const Point &pix0, const Point &pixSz, unsigned int width, unsigned int height, unsigned int distriNo, unsigned int chainNo) { bool err = false; if (mPixels.size() > mPixelCnt) { std::cerr << "too many pixels (" << mPixels.size() << "/" << mPixelCnt << ") for distributor " << std::hex << distriNo << " chain " << std::dec << chainNo << std::endl; err = true; } std::vector<Pixel>::iterator itP; for (itP = mPixels.begin(); itP != mPixels.end(); ++itP) if (itP->pixCoord(pix0, pixSz, width, height) != 0) err = true; return err ? -1 : 0; } void Chain::writePixels(std::ostream & strm) const { std::vector<Pixel>::const_iterator itP; for (itP = mPixels.begin(); itP != mPixels.end(); ++itP) itP->writePixel(strm); }