HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HUSD_RenderSettings Class Reference

#include <HUSD_RenderSettings.h>

+ Inheritance diagram for HUSD_RenderSettings:

Public Types

using ProductGroup = UT_Array< HUSD_RenderProduct * >
 

Public Member Functions

 HUSD_RenderSettings (const UT_StringHolder &prim_path, const UT_StringHolder &filename, time_t file_timestamp)
 
virtual ~HUSD_RenderSettings ()
 
virtual bool supportedDelegate (const UT_StringRef &name) const
 
virtual UT_UniquePtr
< HUSD_RenderProduct
newRenderProduct () const
 Allocate a new HUSD_RenderProduct for this subclass. More...
 
bool init (const HUSD_HuskEngine &engine, const UT_StringHolder &settings_path, HUSD_RenderSettingsContext &ctx)
 
bool resolveProducts (const HUSD_HuskEngine &engine, HUSD_RenderSettingsContext &ctx, bool create_dummy_raster_product)
 
bool updateFrame (HUSD_RenderSettingsContext &ctx, int frame, int product_group, bool make_product_directories, bool process_delegate_products, bool create_dummy_render_product)
 
HUSD_RenderSettingsContext::storeProperty writer ()
 Create a "writer" to store settings in this objects settings. More...
 
UT_StringHolder outputName (int product_group) const
 Return the output name for all the products in the product group. More...
 
void printSettings () const
 
exint productGroupSize () const
 
void productGroup (int product_group, ProductGroup &products) const
 Get a list of all the render products in a given product group. More...
 
exint productsInGroup (exint group) const
 Return the number of render products in a given render product group. More...
 
const HUSD_RenderProductproduct (exint prod_group, exint product) const
 Get access to a product inside a product group. More...
 
bool lookup (const char *token, int64 &val) const
 
bool lookup (const char *token, fpreal64 &val) const
 
bool lookup (const char *token, UT_Vector2i &val) const
 
bool lookup (const char *token, UT_StringHolder &val) const
 
UT_StringHolder renderer () const
 
void purpose (UT_StringArray &purposes) const
 
UT_StringHolder cameraPath (const HUSD_RenderProduct *p) const
 
double shutterOpen (const HUSD_RenderProduct *p) const
 
double shutterClose (const HUSD_RenderProduct *p) const
 
int xres (const HUSD_RenderProduct *p) const
 
int yres (const HUSD_RenderProduct *p) const
 
UT_Vector2i res (const HUSD_RenderProduct *p) const
 
fpreal pixelAspect (const HUSD_RenderProduct *p) const
 
UT_Vector4 dataWindowF (const HUSD_RenderProduct *p) const
 
UT_DimRect dataWindow (const HUSD_RenderProduct *p) const
 
bool disableMotionBlur (const HUSD_RenderProduct *p) const
 
UT_StringHolder cameraPath (int product_group) const
 
double shutterOpen (int product_group) const
 
double shutterClose (int product_group) const
 
int xres (int product_group) const
 
int yres (int product_group) const
 
UT_Vector2i res (int product_group) const
 
fpreal pixelAspect (int product_group) const
 
UT_Vector4 dataWindowF (int product_group) const
 
UT_DimRect dataWindow (int product_group) const
 
bool disableMotionBlur (int product_group) const
 
void dump () const
 
void dump (UT_JSONWriter &w) const
 

Static Public Member Functions

static bool makeFilePathDirs (const char *path)
 
static const char * huskNullRasterName ()
 

Protected Member Functions

bool expandProducts (const HUSD_RenderSettingsContext &ctx, int fnum, int product_group)
 
const HUSD_RenderProductproductInGroup (int product_group) const
 
exint totalProductCount () const
 
void allProducts (ProductGroup &group) const
 
bool addProduct (UT_UniquePtr< HUSD_RenderProduct > p, int prod_group)
 
void removeProduct (exint i)
 
- Protected Member Functions inherited from UT_NonCopyableNS::UT_NonCopyable
 UT_NonCopyable ()=default
 
 ~UT_NonCopyable ()=default
 
 UT_NonCopyable (const UT_NonCopyable &)=delete
 
UT_NonCopyableoperator= (const UT_NonCopyable &)=delete
 

Detailed Description

Definition at line 321 of file HUSD_RenderSettings.h.

Member Typedef Documentation

Constructor & Destructor Documentation

HUSD_RenderSettings::HUSD_RenderSettings ( const UT_StringHolder prim_path,
const UT_StringHolder filename,
time_t  file_timestamp 
)
virtual HUSD_RenderSettings::~HUSD_RenderSettings ( )
virtual

Member Function Documentation

bool HUSD_RenderSettings::addProduct ( UT_UniquePtr< HUSD_RenderProduct p,
int  prod_group 
)
protected
void HUSD_RenderSettings::allProducts ( ProductGroup group) const
protected
UT_StringHolder HUSD_RenderSettings::cameraPath ( const HUSD_RenderProduct p) const

Query settings which can be overridden by products

UT_StringHolder HUSD_RenderSettings::cameraPath ( int  product_group) const
inline

Query settings which can be overridden by products

Definition at line 414 of file HUSD_RenderSettings.h.

UT_DimRect HUSD_RenderSettings::dataWindow ( const HUSD_RenderProduct p) const

Query settings which can be overridden by products

UT_DimRect HUSD_RenderSettings::dataWindow ( int  product_group) const
inline

Query settings which can be overridden by products

Definition at line 430 of file HUSD_RenderSettings.h.

UT_Vector4 HUSD_RenderSettings::dataWindowF ( const HUSD_RenderProduct p) const

Query settings which can be overridden by products

UT_Vector4 HUSD_RenderSettings::dataWindowF ( int  product_group) const
inline

Query settings which can be overridden by products

Definition at line 428 of file HUSD_RenderSettings.h.

bool HUSD_RenderSettings::disableMotionBlur ( const HUSD_RenderProduct p) const

Query settings which can be overridden by products

bool HUSD_RenderSettings::disableMotionBlur ( int  product_group) const
inline

Query settings which can be overridden by products

Definition at line 432 of file HUSD_RenderSettings.h.

void HUSD_RenderSettings::dump ( ) const

For debugging

void HUSD_RenderSettings::dump ( UT_JSONWriter w) const

For debugging

bool HUSD_RenderSettings::expandProducts ( const HUSD_RenderSettingsContext ctx,
int  fnum,
int  product_group 
)
protected
static const char* HUSD_RenderSettings::huskNullRasterName ( )
static

Return the name for the dummy render product name when there are no raster products being rendered.

bool HUSD_RenderSettings::init ( const HUSD_HuskEngine &  engine,
const UT_StringHolder settings_path,
HUSD_RenderSettingsContext ctx 
)

Initialize the settings, loading the settings, products and render vars from the path given. The context is able to override settings during initialization.

bool HUSD_RenderSettings::lookup ( const char *  token,
int64 val 
) const

Query settings on the underlying render setting

bool HUSD_RenderSettings::lookup ( const char *  token,
fpreal64 val 
) const

Query settings on the underlying render setting

bool HUSD_RenderSettings::lookup ( const char *  token,
UT_Vector2i val 
) const

Query settings on the underlying render setting

bool HUSD_RenderSettings::lookup ( const char *  token,
UT_StringHolder val 
) const

Query settings on the underlying render setting

static bool HUSD_RenderSettings::makeFilePathDirs ( const char *  path)
static
virtual UT_UniquePtr<HUSD_RenderProduct> HUSD_RenderSettings::newRenderProduct ( ) const
virtual

Allocate a new HUSD_RenderProduct for this subclass.

UT_StringHolder HUSD_RenderSettings::outputName ( int  product_group) const

Return the output name for all the products in the product group.

fpreal HUSD_RenderSettings::pixelAspect ( const HUSD_RenderProduct p) const

Query settings which can be overridden by products

fpreal HUSD_RenderSettings::pixelAspect ( int  product_group) const
inline

Query settings which can be overridden by products

Definition at line 426 of file HUSD_RenderSettings.h.

void HUSD_RenderSettings::printSettings ( ) const
const HUSD_RenderProduct* HUSD_RenderSettings::product ( exint  prod_group,
exint  product 
) const

Get access to a product inside a product group.

void HUSD_RenderSettings::productGroup ( int  product_group,
ProductGroup products 
) const

Get a list of all the render products in a given product group.

exint HUSD_RenderSettings::productGroupSize ( ) const

HUSD_RenderSettings will partition the HUSD_RenderProducts into "groups". Each group has similar properties, for example, the same rendering camera. This method returns the number of distinct product groups.

const HUSD_RenderProduct* HUSD_RenderSettings::productInGroup ( int  product_group) const
protected
exint HUSD_RenderSettings::productsInGroup ( exint  group) const

Return the number of render products in a given render product group.

void HUSD_RenderSettings::purpose ( UT_StringArray purposes) const

Query settings that are shared with all products

void HUSD_RenderSettings::removeProduct ( exint  i)
protected
UT_StringHolder HUSD_RenderSettings::renderer ( ) const

Query settings that are shared with all products

UT_Vector2i HUSD_RenderSettings::res ( const HUSD_RenderProduct p) const

Query settings which can be overridden by products

UT_Vector2i HUSD_RenderSettings::res ( int  product_group) const
inline

Query settings which can be overridden by products

Definition at line 424 of file HUSD_RenderSettings.h.

bool HUSD_RenderSettings::resolveProducts ( const HUSD_HuskEngine &  engine,
HUSD_RenderSettingsContext ctx,
bool  create_dummy_raster_product 
)

Resolve products defined in the engine. This is called separately from initialization to allow the client to initialize the engine and check for valid products. Resolving will bind the render var AOVs and set up all the settings associated with the product. After products are resolved, the products are partitioned into product groups.

If there are no "raster" products, but there are delegate render products, create a dummy raster product so that delegates will function properly. Creation of the dummy product will set the product name to huskNullRaster(). The dummy product will pick a render var referenced by the delegate render products, and will fail if there are no render vars on any delegate render products.

double HUSD_RenderSettings::shutterClose ( const HUSD_RenderProduct p) const

Query settings which can be overridden by products

double HUSD_RenderSettings::shutterClose ( int  product_group) const
inline

Query settings which can be overridden by products

Definition at line 418 of file HUSD_RenderSettings.h.

double HUSD_RenderSettings::shutterOpen ( const HUSD_RenderProduct p) const

Query settings which can be overridden by products

double HUSD_RenderSettings::shutterOpen ( int  product_group) const
inline

Query settings which can be overridden by products

Definition at line 416 of file HUSD_RenderSettings.h.

virtual bool HUSD_RenderSettings::supportedDelegate ( const UT_StringRef name) const
virtual
exint HUSD_RenderSettings::totalProductCount ( ) const
protected
bool HUSD_RenderSettings::updateFrame ( HUSD_RenderSettingsContext ctx,
int  frame,
int  product_group,
bool  make_product_directories,
bool  process_delegate_products,
bool  create_dummy_render_product 
)

Set up to render the given frame and product_group. This will update the husk engine contained in the settings context, expand all the product filenames and optionally create output directories for the products.

See resolveProducts() for help on create_dummy_render_product

HUSD_RenderSettingsContext::storeProperty HUSD_RenderSettings::writer ( )

Create a "writer" to store settings in this objects settings.

int HUSD_RenderSettings::xres ( const HUSD_RenderProduct p) const

Query settings which can be overridden by products

int HUSD_RenderSettings::xres ( int  product_group) const
inline

Query settings which can be overridden by products

Definition at line 420 of file HUSD_RenderSettings.h.

int HUSD_RenderSettings::yres ( const HUSD_RenderProduct p) const

Query settings which can be overridden by products

int HUSD_RenderSettings::yres ( int  product_group) const
inline

Query settings which can be overridden by products

Definition at line 422 of file HUSD_RenderSettings.h.


The documentation for this class was generated from the following file: