BlinkenArea - GitList
Repositories
Blog
Wiki
libetherpix
Code
Commits
Branches
Tags
Search
Tree:
a3a92ab
Branches
Tags
master
libetherpix
config_gen
src
pixel.cpp
rename "FlexiPix" to "EtherPix"
Stefan Schuermans
commited
a3a92ab
at 2017-05-20 16:55:59
pixel.cpp
Blame
History
Raw
/* * EtherPix config file generator * * Copyright 2010 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 "box.h" #include "object.h" #include "pixel.h" #include "point.h" Pixel::Pixel(const Object *pObjPixel): mpObjPixel(pObjPixel), mX(0), mY(0) { } int Pixel::pixCoord(const Point &pix0, const Point &pixSz, unsigned int width, unsigned int height) { // get center of pixel Box bounds; mpObjPixel->getBounds(bounds); Point pt; bounds.getCenter(pt); // get coordinates of pixel Point delta = pt - pix0; mX = (unsigned int)(delta.mX / pixSz.mX); mY = (unsigned int)(delta.mY / pixSz.mY); // check pixel coordinates if (mX >= width || mY >= height) { std::cerr << "pixel at " << pt.mX << "," << pt.mY << " is out of video frame (" << mX << "," << mY << ")" << std::endl; return -1; } else return 0; } void Pixel::writePixel(std::ostream & strm) const { strm << " " << mX << "," << mY; }