BlinkenArea - GitList
Repositories
Blog
Wiki
libetherpix
Code
Commits
Branches
Tags
Search
Tree:
646a131
Branches
Tags
master
libetherpix
config_gen
src
chain.h
implement simulator config file
Stefan Schuermans
commited
646a131
at 2017-06-04 18:03:13
chain.h
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/>. */ #ifndef INC_CHAIN_H #define INC_CHAIN_H #include <iostream> #include <vector> #include "pixel.h" #include "point.h" class Chain { public: Chain(unsigned int pixelCnt); void addPixel(Pixel const &pixel); /** * @brief compute coordinates of pixels and check them * @param[in] pix0 position of logical pixel origin * (top left corner of 0,0 of video frame) * @param[in] pixSz size of one logcal pixel (in video frame) * @param[in] width of video frame in pixels * @param[in] height of video frame in pixels * @param[in] distriNo distributor number (for error messages) * @param[in] chainNo chain number (for error messages) */ int pixCoord(const Point &pix0, const Point &pixSz, unsigned int width, unsigned int height, unsigned int distriNo, unsigned int chainNo); void writePixels(std::ostream & strm) const; void writeSimPixels(std::ostream & strm, const Box & boundsVideo) const; size_t countPixels() const; private: unsigned int mPixelCnt; std::vector<Pixel> mPixels; }; #endif // #ifndef INC_CHAIN_H