DD::Image::OutputContext Class Reference

Inherits DD::Image::ProxyContext.

Public Types

enum  LineReadPreference { eScanlineAlways, ePreferScanline, ePreferAllLines }
typedef ProxyContext::ProxySetting ProxySetting
- Public Types inherited from DD::Image::ProxyContext
enum  ProxySetting {

Public Member Functions

double frame () const
void setFrame (double v)
int view () const
void setView (int v)
void view (int v)
void setLineReadPreference (LineReadPreference linePreference)
LineReadPreference lineReadPreference () const
void append (Hash &) const
bool operator== (const OutputContext &other) const
bool operator!= (const OutputContext &other) const
bool operator< (const OutputContext &other) const
bool operator> (const OutputContext &other) const
const std::string & viewname () const
const Formatto_proxy_rel (const Format &from, Format &to, const OutputContext &rel) const
bool sameProxy (const DD::Image::OutputContext &other) const
- Public Member Functions inherited from DD::Image::ProxyContext
ProxySetting proxy () const
void setProxy (ProxySetting v)
float scale_x () const
float scale_y () const
float translate_x () const
float translate_y () const
void setProxyscale (float scale)
void setProxyscale (float sx, float sy)
void setProxyscale (const Format &fullsize, const Format &proxysize)
void setProxyscale (const Matrix4 &)
void scale (float scale)
void scale (float sx, float sy)
void translate (float x, float y)
bool isIdentity () const
void to_proxy (Matrix4 &) const
void to_proxy_wh (double &w, double &h) const
void to_proxy_wh (float &w, float &h) const
double to_proxy_w (double w) const
double to_proxy_h (double w) const
void to_proxy_xy (double &x, double &y) const
void to_proxy_xy (float &x, float &y) const
double to_proxy_x (double w) const
double to_proxy_y (double w) const
double from_proxy_x (double x) const
double from_proxy_y (double y) const
void to_proxy_box (DD::Image::Box &box) const
void to_proxy_area (double &w, double &h) const
double to_proxy_area (double area) const
void to_proxy (const Format &from, Format &to) const
const Formatto_proxy_rel (const Format &from, Format &to, const ProxyContext &) const
double to_proxy_pixel_aspect (double pa) const
void from_proxy (Matrix4 &) const
void from_proxy_xy (double &x, double &y) const
void from_proxy_wh (double &w, double &h) const
void from_proxy_xy (float &x, float &y) const
void from_proxy_wh (float &w, float &h) const
double from_proxy_area (double area) const
double from_proxy_pixel_aspect (double pa) const
void appendProxy (Hash &hash) const
 Append the values affecting proxy scaling to the hash (i.e. not frame or view)

Static Public Member Functions

static const OutputContextdefaultContext ()
static const std::string & viewname (int v)
static const std::string & viewshort (int v)
static int viewcount ()
static bool MultiView ()
static int lookup_view (const std::string &viewname)
static void set_viewnames (const std::string &s)

Static Public Attributes

static const OutputContext default_
static void(* create_view )(const std::string &s)
static int(* viewIndex )(const std::string &viewName, Op *op)
static void(* createView )(const std::string &viewName, const std::string &color, Op *op)
static const std::string &(* viewName )(int index, Op *op)
static std::string(* viewShortName )(int index, Op *op)
static void(* setViewNames )(const std::vector< std::string > &viewNames, Op *op)
 Sets the op's root node to have view's named viewNames.
static int(* viewCount )(Op *op)
 Returns the number of views on the op's root node.
static bool(* hasMultipleViews )(Op *op)
 Returns true if op's root node has more than one view.


std::ostream & operator<< (std::ostream &o, const OutputContext &)

Additional Inherited Members

- Protected Member Functions inherited from DD::Image::ProxyContext
 ProxyContext ()
bool isEqualTo (const ProxyContext &other) const
bool isLessThan (const ProxyContext &other) const

Detailed Description

This is a block of data that is passed up the Op tree. The context modifies the values that are stored by knobs. An Op can further use information from it (such as the frame number) to modify it's behavior, by implementing Op::setOutputContext(). And an Op can modify the context that is used by each input, by implementing Op::inputContext().

Member Enumeration Documentation

Preferences which can be used to influence how files are read by Readers. eScanlineAlways - upstream Reader should always read frames line by line. ePreferScanline - prefer line-by-line reads, but allow other nodes upstream to override this preference. ePreferAllLines - prefer to read the whole of the requested area at once, but allow other nodes upstream to override this preference.

Member Function Documentation

void OutputContext::setLineReadPreference ( LineReadPreference  linePreference)

By default readers read frames line by line (ePreferScanline). Some formats support reading the entire frame in one go. Setting the lineReadPreference can be used to switch between the two modes for these formats.

Referenced by DD::Image::Write::inputContext().

void OutputContext::append ( Hash hash) const

Add the contents of this to the hash, thus producing a different hash for any different setting of OutputContext.

int OutputContext::viewcount ( )

how many views exist. View 0 is always an extra view called 'default'. If there is one view, this is will be view 1.

Referenced by MultiView().

bool OutputContext::MultiView ( )

whether or not there are more than one actual view (not counting the hidden 'default' view)

References viewcount().

Member Data Documentation

int(* OutputContext::viewIndex)(const std::string &viewName, Op *op)

If a view exists with name viewName on op's root node then that view's index is returned, otherwise -1 is returned.

void(* OutputContext::createView)(const std::string &viewName, const std::string &color, Op *op)

Creates a new view with name viewName and color on op's root node.

const std::string &(* OutputContext::viewName)(int index, Op *op)

If a view exists at index on op's root node then that view's name is returned, otherwise an empty string is returned.

std::string(* OutputContext::viewShortName)(int index, Op *op)

If a view exists at index on op's root node then that view's short name is returned, otherwise an empty string is returned.

©2022 The Foundry Visionmongers, Ltd. All Rights Reserved.