HDK
|
#include <HUSD_RenderSettings.h>
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, HUSD_CustomProductAction custom_product_action) |
bool | updateFrame (HUSD_RenderSettingsContext &ctx, int frame, int product_group, bool make_product_directories, bool process_delegate_products, HUSD_CustomProductAction custom_product_action) |
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_RenderProduct * | product (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_RenderProduct * | productInGroup (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) |
![]() | |
UT_NonCopyable ()=default | |
~UT_NonCopyable ()=default | |
UT_NonCopyable (const UT_NonCopyable &)=delete | |
UT_NonCopyable & | operator= (const UT_NonCopyable &)=delete |
Definition at line 325 of file HUSD_RenderSettings.h.
Definition at line 329 of file HUSD_RenderSettings.h.
HUSD_RenderSettings::HUSD_RenderSettings | ( | const UT_StringHolder & | prim_path, |
const UT_StringHolder & | filename, | ||
time_t | file_timestamp | ||
) |
|
virtual |
|
protected |
|
protected |
UT_StringHolder HUSD_RenderSettings::cameraPath | ( | const HUSD_RenderProduct * | p | ) | const |
Query settings which can be overridden by products
|
inline |
Query settings which can be overridden by products
Definition at line 418 of file HUSD_RenderSettings.h.
UT_DimRect HUSD_RenderSettings::dataWindow | ( | const HUSD_RenderProduct * | p | ) | const |
Query settings which can be overridden by products
|
inline |
Query settings which can be overridden by products
Definition at line 434 of file HUSD_RenderSettings.h.
UT_Vector4 HUSD_RenderSettings::dataWindowF | ( | const HUSD_RenderProduct * | p | ) | const |
Query settings which can be overridden by products
|
inline |
Query settings which can be overridden by products
Definition at line 432 of file HUSD_RenderSettings.h.
bool HUSD_RenderSettings::disableMotionBlur | ( | const HUSD_RenderProduct * | p | ) | const |
Query settings which can be overridden by products
|
inline |
Query settings which can be overridden by products
Definition at line 436 of file HUSD_RenderSettings.h.
void HUSD_RenderSettings::dump | ( | ) | const |
For debugging
void HUSD_RenderSettings::dump | ( | UT_JSONWriter & | w | ) | const |
For debugging
|
protected |
|
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 |
|
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
Query settings which can be overridden by products
Definition at line 430 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.
|
protected |
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
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
|
inline |
Query settings which can be overridden by products
Definition at line 428 of file HUSD_RenderSettings.h.
bool HUSD_RenderSettings::resolveProducts | ( | const HUSD_HuskEngine & | engine, |
HUSD_RenderSettingsContext & | ctx, | ||
HUSD_CustomProductAction | custom_product_action | ||
) |
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
|
inline |
Query settings which can be overridden by products
Definition at line 422 of file HUSD_RenderSettings.h.
double HUSD_RenderSettings::shutterOpen | ( | const HUSD_RenderProduct * | p | ) | const |
Query settings which can be overridden by products
|
inline |
Query settings which can be overridden by products
Definition at line 420 of file HUSD_RenderSettings.h.
|
virtual |
|
protected |
bool HUSD_RenderSettings::updateFrame | ( | HUSD_RenderSettingsContext & | ctx, |
int | frame, | ||
int | product_group, | ||
bool | make_product_directories, | ||
bool | process_delegate_products, | ||
HUSD_CustomProductAction | custom_product_action | ||
) |
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
Query settings which can be overridden by products
Definition at line 424 of file HUSD_RenderSettings.h.
int HUSD_RenderSettings::yres | ( | const HUSD_RenderProduct * | p | ) | const |
Query settings which can be overridden by products
Query settings which can be overridden by products
Definition at line 426 of file HUSD_RenderSettings.h.