1 /***************************************************************************
2 * This file is part of Tecorrec. *
3 * Copyright 2008 James Hogan <james@albanarts.com> *
5 * Tecorrec is free software: you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation, either version 2 of the License, or *
8 * (at your option) any later version. *
10 * Tecorrec is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 * You should have received a copy of the GNU General Public License *
16 * along with Tecorrec. If not, write to the Free Software Foundation, *
17 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
18 ***************************************************************************/
25 * @brief Performs a pixel operation on a set of input channels.
28 #include "tcChannel.h"
32 /// Performs a pixel operation on a set of input channels.
33 class tcPixelOp
: public tcChannel
51 * Constructors + destructor
54 /// Primary constructor.
55 tcPixelOp(Op op
, const QList
<tcChannel
*>& inputChannels
, float scale
= 1.0f
);
57 /// Primary constructor.
58 tcPixelOp(Op op
, const QList
<tcChannel
*>& inputChannels
, bool radiance
);
66 * Interface for derived class to implement
70 virtual void roundPortion(double* x1
, double* y1
, double* x2
, double* y2
);
73 virtual tcAbstractPixelData
* loadPortion(double x1
, double y1
, double x2
, double y2
, bool changed
);
82 QList
<tcChannel
*> m_inputChannels
;
87 /// Automatically scale to [,1].
90 /// Whether to use radiance.