#include <image.h>
Inheritance diagram for mudbox::ImageAccessorBase< ChannelType, nch >:

Public Member Functions |
|
| ImageAccessorBase (Image *parent) | |
| u_int | Width () const |
| u_int | Height () const |
| u_int | ChannelCount () const |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| Set value for a specified texel. |
|
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| Get the value at a given coordinate.
|
|
| void | SetColorAt (u_int X, u_int Y, const Color &cColor) |
| Set value for a specified texel. |
|
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void * | AddrAt (u_int X, u_int Y, u_int Ch) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| void | SetColorAt (u_int X, u_int Y, const Color &c) |
| template<> | |
| void | SetColorAt (u_int X, u_int Y, const Color &c) |
| template<> | |
| void | SetColorAt (u_int X, u_int Y, const Color &c) |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| float | ValueAt (u_int X, u_int Y, u_int Ch) const |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetValueAt (u_int X, u_int Y, u_int Ch, float fVal) |
| template<> | |
| void | SetColorAt (u_int X, u_int Y, const Color &c) |
| template<> | |
| void | SetColorAt (u_int X, u_int Y, const Color &c) |
|
||||||||||
02165 {
02166 m_Stride = parent->Width();
02167 m_Height = parent->Height();
02168 m_chans = parent->ChannelCount();
02169 m_Image = parent;
02170 m_pData = (ChannelType *)parent->Data();
02171 }
|
|
|||||||||
02173 { return m_Stride; }
|
|
|||||||||
02174 { return m_Height; }
|
|
|||||||||
02175 { return m_chans; }
|
|
||||||||||||||||||||||||
|
Set value for a specified texel. For integer maps 1 should be mapped for the maximum value (255 for 8 bit images and 65535 for 16 bit images) |
|
||||||||||||||||||||
|
Get the value at a given coordinate. |
|
||||||||||||||||||||
|
Set value for a specified texel. For integer maps 1 should be mapped for the maximum value (255 for 8 bit images and 65535 for 16 bit images) |
|
||||||||||||||||||||
|
||||||||||||||||||||
02209 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) )]; }
|
|
||||||||||||||||||||
02212 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) * 2)]; }
|
|
||||||||||||||||||||
02215 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) * 3)]; }
|
|
||||||||||||||||||||
02218 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) * 4)]; }
|
|
||||||||||||||||||||
02222 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) )]; }
|
|
||||||||||||||||||||
02225 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) * 2)]; }
|
|
||||||||||||||||||||
02228 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) * 3)]; }
|
|
||||||||||||||||||||
02231 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) * 4)]; }
|
|
||||||||||||||||||||
02236 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) )]; }
|
|
||||||||||||||||||||
02239 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) * 2)]; }
|
|
||||||||||||||||||||
02242 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) * 3)]; }
|
|
||||||||||||||||||||
02245 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) * 4)]; }
|
|
||||||||||||||||||||
02249 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) )]; }
|
|
||||||||||||||||||||
02252 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) * 2)]; }
|
|
||||||||||||||||||||
02255 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) * 3)]; }
|
|
||||||||||||||||||||
02258 { return (void *)&m_pData[Ch + ((X + m_Stride * Y) * 4)]; }
|
|
||||||||||||||||||||||||
02263 { m_pData[Ch + ((X + m_Stride * Y) )] = (u_char)(255.0f * fVal); }
|
|
||||||||||||||||||||||||
02266 { m_pData[Ch + ((X + m_Stride * Y) * 2)] = (u_char)(255.0f * fVal); }
|
|
||||||||||||||||||||||||
02269 { m_pData[Ch + ((X + m_Stride * Y) * 3)] = (u_char)(255.0f * fVal); }
|
|
||||||||||||||||||||||||
02272 { m_pData[Ch + ((X + m_Stride * Y) * 4)] = (u_char)(255.0f * fVal); }
|
|
||||||||||||||||||||||||
02276 { m_pData[Ch + ((X + m_Stride * Y) )] = (u_short)(65535.0f * fVal); }
|
|
||||||||||||||||||||||||
02279 { m_pData[Ch + ((X + m_Stride * Y) * 2)] = (u_short)(65535.0f * fVal); }
|
|
||||||||||||||||||||||||
02282 { m_pData[Ch + ((X + m_Stride * Y) * 3)] = (u_short)(65535.0f * fVal); }
|
|
||||||||||||||||||||||||
02285 { m_pData[Ch + ((X + m_Stride * Y) * 4)] = (u_short)(65535.0f * fVal); }
|
|
||||||||||||||||||||||||
02290 { m_pData[Ch + ((X + m_Stride * Y) )] = (u_int)(0xffffffff * fVal); }
|
|
||||||||||||||||||||||||
02293 { m_pData[Ch + ((X + m_Stride * Y) * 2)] = (u_int)(0xffffffff * fVal); }
|
|
||||||||||||||||||||||||
02296 { m_pData[Ch + ((X + m_Stride * Y) * 3)] = (u_int)(0xffffffff * fVal); }
|
|
||||||||||||||||||||||||
02299 { m_pData[Ch + ((X + m_Stride * Y) * 4)] = (u_int)(0xffffffff * fVal); }
|
|
||||||||||||||||||||||||
02303 { m_pData[Ch + ((X + m_Stride * Y) )] = fVal; }
|
|
||||||||||||||||||||||||
02306 { m_pData[Ch + ((X + m_Stride * Y) * 2)] = fVal; }
|
|
||||||||||||||||||||||||
02309 { m_pData[Ch + ((X + m_Stride * Y) * 3)] = fVal; }
|
|
||||||||||||||||||||||||
02312 { m_pData[Ch + ((X + m_Stride * Y) * 4)] = fVal; }
|
|
||||||||||||||||||||
02316 { return m_pData[Ch + ((X + m_Stride * Y) )] * (1.0f/255.0f); }
|
|
||||||||||||||||||||
02319 { return m_pData[Ch + ((X + m_Stride * Y) * 2)] * (1.0f/255.0f); }
|
|
||||||||||||||||||||
02322 { return m_pData[Ch + ((X + m_Stride * Y) * 3)] * (1.0f/255.0f); }
|
|
||||||||||||||||||||
02325 { return m_pData[Ch + ((X + m_Stride * Y) * 4)] * (1.0f/255.0f); }
|
|
||||||||||||||||||||
02329 { return m_pData[Ch + ((X + m_Stride * Y) )] * (1.0f/65535.0f); }
|
|
||||||||||||||||||||
02332 { return m_pData[Ch + ((X + m_Stride * Y) * 2)] * (1.0f/65535.0f); }
|
|
||||||||||||||||||||
02335 { return m_pData[Ch + ((X + m_Stride * Y) * 3)] * (1.0f/65535.0f); }
|
|
||||||||||||||||||||
02338 { return m_pData[Ch + ((X + m_Stride * Y) * 4)] * (1.0f/65535.0f); }
|
|
||||||||||||||||||||
02342 { return m_pData[Ch + ((X + m_Stride * Y) )] * (1.0f/float(0xffffffff)); }
|
|
||||||||||||||||||||
02345 { return m_pData[Ch + ((X + m_Stride * Y) * 2)] * (1.0f/float(0xffffffff)); }
|
|
||||||||||||||||||||
02348 { return m_pData[Ch + ((X + m_Stride * Y) * 3)] * (1.0f/float(0xffffffff)); }
|
|
||||||||||||||||||||
02351 { return m_pData[Ch + ((X + m_Stride * Y) * 4)] * (1.0f/float(0xffffffff)); }
|
|
||||||||||||||||||||
02355 { return m_pData[Ch + ((X + m_Stride * Y) )]; }
|
|
||||||||||||||||||||
02358 { return m_pData[Ch + ((X + m_Stride * Y) * 2)]; }
|
|
||||||||||||||||||||
02361 { return m_pData[Ch + ((X + m_Stride * Y) * 3)]; }
|
|
||||||||||||||||||||
02364 { return m_pData[Ch + ((X + m_Stride * Y) * 4)]; }
|
|
||||||||||||||||||||
02369 {
02370 SetValueAt(X, Y, 0, c.r);
02371 SetValueAt(X, Y, 1, c.g);
02372 SetValueAt(X, Y, 2, c.b);
02373 SetValueAt(X, Y, 3, c.a);
02374 };
|
|
||||||||||||||||||||
02379 {
02380 SetValueAt(X, Y, 0, c.r);
02381 SetValueAt(X, Y, 1, c.g);
02382 SetValueAt(X, Y, 2, c.b);
02383 };
|
|
||||||||||||||||||||
02388 {
02389 SetValueAt(X, Y, 0, c.r);
02390 SetValueAt(X, Y, 1, c.g);
02391 SetValueAt(X, Y, 2, c.b);
02392 SetValueAt(X, Y, 3, c.a);
02393 };
|
|
||||||||||||||||||||
02440 { return float(m_pData[Ch + ((X + m_Stride * Y) * 3)]); }
|
|
||||||||||||||||||||
02445 { return float(m_pData[Ch + ((X + m_Stride * Y) * 4)]); }
|
|
||||||||||||||||||||||||
02450 { m_pData[Ch + ((X + m_Stride * Y) * 3)] = fVal; }
|
|
||||||||||||||||||||||||
02455 { m_pData[Ch + ((X + m_Stride * Y) * 4)] = fVal; }
|
|
||||||||||||||||||||
02461 {
02462 SetValueAt(X, Y, 0, c.r);
02463 SetValueAt(X, Y, 1, c.g);
02464 SetValueAt(X, Y, 2, c.b);
02465 SetValueAt(X, Y, 3, c.a);
02466 };
|
|
||||||||||||||||||||
02471 {
02472 SetValueAt(X, Y, 0, c.r);
02473 SetValueAt(X, Y, 1, c.g);
02474 SetValueAt(X, Y, 2, c.b);
02475 };
|