|
ChannelSet & | channels () |
|
ChannelMask | channels () const |
|
void | channels (ChannelSetInit v) |
|
void | channels (ChannelMask v) |
|
void | channels (Channel v) |
|
bool | black_outside () const |
|
void | black_outside (bool v) |
|
void | turn_on (ChannelSetInit m) |
|
void | turn_on (ChannelMask m) |
|
void | turn_on (Channel c) |
|
void | turn_off (ChannelSetInit m) |
|
void | turn_off (ChannelMask m) |
|
void | turn_off (Channel c) |
|
bool | is_constant () const |
|
void | clipmove (int dx, int dy, int dr, int dt) |
|
void | operator= (const DeepInfo &deepInfo) |
| copy over the subset of DeepInfo and IopInfo onto this
|
|
| Info2D () |
|
void | setFormats (const FormatPair &formats) |
|
FormatPair | formats () const |
|
const Format & | format () const |
|
void | format (const Format &v) |
|
const Format & | full_size_format () const |
|
void | full_size_format (const Format &v) |
|
const DD::Image::Box & | box () const |
|
DD::Image::Box & | box () |
|
void | setBox (const DD::Image::Box &box) |
|
int | ydirection () const |
|
void | ydirection (int v) |
|
void | setAccessPreference (AccessPreference ap) |
|
const AccessPreference & | accessPreference () const |
|
int | firstFrame () const |
| get the first frame in the range
|
|
int | first_frame () const |
| get the first frame in the range
|
|
int | lastFrame () const |
| get the last frame in the range
|
|
int | last_frame () const |
| get the last frame in the range
|
|
void | setFirstFrame (int v) |
| set the first frame in the range
|
|
void | setLastFrame (int v) |
| set the last frame in the range
|
|
void | first_frame (int v) |
| set the first frame in the range
|
|
void | last_frame (int v) |
| set the last frame in the range
|
|
void | setFrameRange (FrameRange frameRange) |
|
iterator | begin () const |
|
iterator | end () const |
|
| Box (int x, int y, int r, int t) |
|
| Box (const Box &b) |
|
int | x () const |
|
void | x (int v) |
|
int | y () const |
|
void | y (int v) |
|
int | r () const |
|
void | r (int v) |
|
int | t () const |
|
void | t (int v) |
|
int | w () const |
|
void | w (int v) |
|
int | h () const |
|
void | h (int v) |
|
float | center_x () const |
|
float | center_y () const |
|
void | set (int x, int y, int r, int t) |
|
void | set (const Box &b) |
|
bool | is_constant () const |
|
void | clear () |
|
void | move (int dx, int dy) |
|
void | pad (int dx, int dy, int dr, int dt) |
|
void | pad (int dx, int dy) |
|
void | pad (int d) |
|
int | clampx (int x) const |
|
int | clampy (int y) const |
|
void | merge (const Box &) |
|
void | merge (int x, int y) |
|
void | merge (int x, int y, int r, int t) |
|
void | expand (int amount) |
|
void | expand (int widthAmount, int heightAmount) |
|
void | scale (float scaleAmount) |
|
void | intersect (const Box &) |
|
void | intersect (int x, int y, int r, int t) |
|
bool | intersects (const Box &other) const |
|
bool | intersects (int x, int y, int r, int t) const |
|
bool | contains (const Box &other) const |
|
int64_t | area () const |
|
This structure contains information that Iop::_validate() must calculate. Because this information is often copied unchanged or with tiny variations from the input operator, it is put into this structure so that it can be copied with a single assignment.
This is a subclass of Box and that provides x,y,r,t values that describe the bounding box around all the interesting pixels (that is, the region of definition). It also provides a merge and intersect operators that are useful when _validate is combining the info from two inputs.
void DD::Image::IopInfo::clipmove |
( |
int |
dx, |
|
|
int |
dy, |
|
|
int |
dr, |
|
|
int |
dt |
|
) |
| |
Expand the bounding box by dx,dy,dr,dt but do not expand it outside the box determined by 0,0,format().width(),format().height() if it is at or inside this. This is used by filter operations, and stops them from expanding their data outside the current format. This clipping is usually what is expected and avoids keeping unnecessary data in the cache buffers, and avoids random-sized caches which fragment memory.
If bounding box is 1 pixel wide in either direction it leaves it unchanged, since this indicates a constant value.