DD::Image::Info2D Class Reference

Inherits DD::Image::GeneralInfo, and DD::Image::Box.

Inherited by DD::Image::DeepInfo, and DD::Image::IopInfo.

Public Member Functions

 Info2D ()
 
void setFormats (const FormatPair &formats)
 
FormatPair formats () const
 
const Formatformat () const
 
void format (const Format &v)
 
const Formatfull_size_format () const
 
void full_size_format (const Format &v)
 
const DD::Image::Boxbox () const
 
DD::Image::Boxbox ()
 
void setBox (const DD::Image::Box &box)
 
- Public Member Functions inherited from DD::Image::GeneralInfo
int firstFrame () const
 get the first frame in the range
 
int first_frame () const
 get the first frame in the range More...
 
int lastFrame () const
 get the last frame in the range
 
int last_frame () const
 get the last frame in the range More...
 
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)
 
- Public Member Functions inherited from DD::Image::Box
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
 
int area () const
 

Additional Inherited Members

- Public Types inherited from DD::Image::Box
typedef iterator const_iterator
 

Detailed Description

This structure contains some of the information that Iop::_validate() and DeepOp::_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.

Constructor & Destructor Documentation

DD::Image::Info2D::Info2D ( )

constructor

Member Function Documentation

void DD::Image::Info2D::format ( const Format f)
inline

Sets info_.format() to the given format. Some operators expect this to tell them how to size their output. Most operators will overwrite this in their _validate() method.

const Format & DD::Image::Info2D::full_size_format ( ) const
inline

If the output of this operator is a proxy for a full size image, this is the full size. Nuke assumes all coordinates are given in the full size and scales them to the format() when storing them into the knob locations. Because Nuke does the scaling most operators can ignore this, it is occasionally useful for undoing the scaling to get the user's original numbers.

If this is not a proxy then this should point at the same location as format().

Referenced by DD::Image::Black::Black(), DD::Image::Reader::full_size_format(), DD::Image::Iop::Iop(), and DD::Image::Reader::Reader().

void DD::Image::Info2D::full_size_format ( const Format f)
inline

Sets info_.full_size_format() to the given format. Some operators expect this to tell them how to size their output. Most operators will overwrite this in their _validate() method.



©2021 The Foundry Visionmongers, Ltd. All Rights Reserved.
www.thefoundry.co.uk