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

#include <COP_SlapCompProgramManager.h>

+ Inheritance diagram for COP_SlapCompProgramManager:

Public Types

using Callbacks = COP_SlapCompManager::Callbacks
 

Public Member Functions

 COP_SlapCompProgramManager ()
 
 COP_SlapCompProgramManager (const COP_SlapCompProgramManager &)=delete
 
 COP_SlapCompProgramManager (COP_SlapCompProgramManager &&)
 
COP_SlapCompProgramManageroperator= (const COP_SlapCompProgramManager &)=delete
 
COP_SlapCompProgramManageroperator= (COP_SlapCompProgramManager &&)
 
void setStage (const UT_Span< const int > &target_node_id, const OP_Context &) override
 Enable and set up the slapcomp program. More...
 
void setViewport (const OP_Node *node, const OP_Context &ctx) override
 Enable and set up the slapcomp program for the viewportj. More...
 
void updateEnableState () override
 Called when slapcomp is enabled disabled. More...
 
bool hasStageFilters () const override
 Returns whether the viewport slapcomp is enabled. More...
 
bool hasViewportFilters () const override
 Returns whether the viewport slapcomp is enabled. More...
 
bool hasErrors () const override
 Returns true if the last run of slapcomp had errors. More...
 
UT_Array< intgetStageTargetNodes () const override
 
int getViewportTargetNode () const override
 Return the viewport target node. More...
 
bool buildForInputs (const COP_CableStructure &, const OP_Context &) override
 
void runSlapCompImpl (COP_SlapCompInputFetcher &, const OP_Context &) override
 
IMX_LayerPtr getOutputLayer (const UT_StringHolder &name) const override
 Returns the specified slapcomp output. More...
 
bool isSlapCompAOV (const UT_StringHolder &name) const override
 
bool expectsLayerCameras () const override
 
COP_CableStructure getOutputStructure () const override
 Should return the outputs that this slapcomp produces. More...
 
const COP_ApexProgramgetProgram (exint i=0) const
 Get the managed slapcomp program. More...
 
bool hasStateChanged () const override
 
int getVersion () const override
 
void setErrorCallback (void(*cb)(void *, const char *), void *data) override
 Sets a callback that gets called when reporting errors. More...
 
void setWarningCallback (void(*cb)(void *, const char *), void *data) override
 Sets a callback that gets called when reporting warnings. More...
 
void setRunCallback (void(*cb)(void *), void *data) override
 Sets a callback that gets called when the slapcomp program is run. More...
 
void setUpdateCallback (void(*cb)(void *), void *data) override
 Sets a callback that gets called when the slapcomp program is updated. More...
 
void update (const OP_Context &)
 Called by the slapcomp program callback when it is updated. More...
 
void setVersion (int version) override
 
- Public Member Functions inherited from COP_SlapCompManager
 COP_SlapCompManager ()=default
 
 COP_SlapCompManager (const COP_SlapCompManager &)=delete
 
 COP_SlapCompManager (COP_SlapCompManager &&)=default
 
COP_SlapCompManageroperator= (const COP_SlapCompManager &)=delete
 
COP_SlapCompManageroperator= (COP_SlapCompManager &&)=default
 
virtual ~COP_SlapCompManager ()=default
 
void clearAllFilters ()
 Clear all filters. More...
 
void enable ()
 
void disable ()
 Disable all slapcomp. More...
 
void setEnabled (bool state)
 
bool isEnabled () const
 Returns the on-off state of slapcomp. More...
 
bool getEnableState () const
 Returns the enable state. More...
 
bool runSlapComp (COP_SlapCompInputFetcher &input_fetcher, const OP_Context &context, bool should_build=true)
 
bool build (const COP_SlapCompInputFetcher &input_fetcher, const OP_Context &context)
 Prepares for applying slapcomp for the provided set of inputs. More...
 
UT_StringMap< OutputgetOutputs () const
 
void setCallbacks (const Callbacks &cbs)
 Set all callbacks using a struct. More...
 

Protected Member Functions

void reportError (const char *message) override
 Reports an error (through the callback if possible). More...
 
void reportWarning (const char *message) override
 Reports a warning (through the callback if possible). More...
 
- Protected Member Functions inherited from COP_SlapCompManager
void reportAllErrorManagerErrors (const UT_ErrorManager &)
 Relays all warnings and messages from the error manager. More...
 

Detailed Description

Manages building and running a slapcomp program from a block, including handling of errors.

Definition at line 214 of file COP_SlapCompProgramManager.h.

Member Typedef Documentation

Constructor & Destructor Documentation

COP_SlapCompProgramManager::COP_SlapCompProgramManager ( )
COP_SlapCompProgramManager::COP_SlapCompProgramManager ( const COP_SlapCompProgramManager )
delete
COP_SlapCompProgramManager::COP_SlapCompProgramManager ( COP_SlapCompProgramManager &&  )

Member Function Documentation

bool COP_SlapCompProgramManager::buildForInputs ( const COP_CableStructure ,
const OP_Context  
)
overridevirtual

Rebuilds the slapcomp program if necessary. Any errors or warnings are reported through the callbacks.

See Also
setErrorCallback
setWarningCallback

Implements COP_SlapCompManager.

bool COP_SlapCompProgramManager::expectsLayerCameras ( ) const
overridevirtual

Should return true if this slapcomp requires the input layers to bring in their cameras.

Reimplemented from COP_SlapCompManager.

IMX_LayerPtr COP_SlapCompProgramManager::getOutputLayer ( const UT_StringHolder name) const
overridevirtual

Returns the specified slapcomp output.

Implements COP_SlapCompManager.

COP_CableStructure COP_SlapCompProgramManager::getOutputStructure ( ) const
overridevirtual

Should return the outputs that this slapcomp produces.

Implements COP_SlapCompManager.

const COP_ApexProgram& COP_SlapCompProgramManager::getProgram ( exint  i = 0) const
inline

Get the managed slapcomp program.

Definition at line 269 of file COP_SlapCompProgramManager.h.

UT_Array<int> COP_SlapCompProgramManager::getStageTargetNodes ( ) const
overridevirtual

Return target nodes the slapcomp programs this was built for (typically size==1, but may be mode if there are chained programs).

Implements COP_SlapCompManager.

int COP_SlapCompProgramManager::getVersion ( ) const
inlineoverridevirtual

SlapComp program version number that is incremented each time the program is sucessfully rebuilt.

Implements COP_SlapCompManager.

Definition at line 279 of file COP_SlapCompProgramManager.h.

int COP_SlapCompProgramManager::getViewportTargetNode ( ) const
overridevirtual

Return the viewport target node.

Implements COP_SlapCompManager.

bool COP_SlapCompProgramManager::hasErrors ( ) const
inlineoverridevirtual

Returns true if the last run of slapcomp had errors.

Implements COP_SlapCompManager.

Definition at line 236 of file COP_SlapCompProgramManager.h.

bool COP_SlapCompProgramManager::hasStageFilters ( ) const
overridevirtual

Returns whether the viewport slapcomp is enabled.

Implements COP_SlapCompManager.

bool COP_SlapCompProgramManager::hasStateChanged ( ) const
inlineoverridevirtual

If this returns true, then the last attempted application of slapcomp may have changed the possible outputs. This flag is reset before each application of slapcomp.

Implements COP_SlapCompManager.

Definition at line 274 of file COP_SlapCompProgramManager.h.

bool COP_SlapCompProgramManager::hasViewportFilters ( ) const
overridevirtual

Returns whether the viewport slapcomp is enabled.

Implements COP_SlapCompManager.

bool COP_SlapCompProgramManager::isSlapCompAOV ( const UT_StringHolder name) const
overridevirtual

Returns true if the slapcomp program ouputs an AOV with the given name. Accepts "color" as an alias for the "C" AOV.

Implements COP_SlapCompManager.

COP_SlapCompProgramManager& COP_SlapCompProgramManager::operator= ( const COP_SlapCompProgramManager )
delete
COP_SlapCompProgramManager& COP_SlapCompProgramManager::operator= ( COP_SlapCompProgramManager &&  )
void COP_SlapCompProgramManager::reportError ( const char *  message)
overrideprotectedvirtual

Reports an error (through the callback if possible).

Implements COP_SlapCompManager.

void COP_SlapCompProgramManager::reportWarning ( const char *  message)
overrideprotectedvirtual

Reports a warning (through the callback if possible).

Implements COP_SlapCompManager.

void COP_SlapCompProgramManager::runSlapCompImpl ( COP_SlapCompInputFetcher ,
const OP_Context  
)
overridevirtual

Run the slapcomp program using the latest build. It is likely you want to rebuild the program prior to running it. Any errors or warnings are reported through the callbacks.

See Also
buildProgram
setErrorCallback
setWarningCallback

Implements COP_SlapCompManager.

void COP_SlapCompProgramManager::setErrorCallback ( void(*)(void *, const char *)  cb,
void data 
)
inlineoverridevirtual

Sets a callback that gets called when reporting errors.

Implements COP_SlapCompManager.

Definition at line 283 of file COP_SlapCompProgramManager.h.

void COP_SlapCompProgramManager::setRunCallback ( void(*)(void *)  cb,
void data 
)
inlineoverridevirtual

Sets a callback that gets called when the slapcomp program is run.

Implements COP_SlapCompManager.

Definition at line 297 of file COP_SlapCompProgramManager.h.

void COP_SlapCompProgramManager::setStage ( const UT_Span< const int > &  target_node_id,
const OP_Context  
)
overridevirtual

Enable and set up the slapcomp program.

Implements COP_SlapCompManager.

void COP_SlapCompProgramManager::setUpdateCallback ( void(*)(void *)  cb,
void data 
)
inlineoverridevirtual

Sets a callback that gets called when the slapcomp program is updated.

Implements COP_SlapCompManager.

Definition at line 303 of file COP_SlapCompProgramManager.h.

void COP_SlapCompProgramManager::setVersion ( int  version)
inlineoverridevirtual

This should really be private, but due to difficult visibility rules, we just settle for this... This should only be called by higher-level managers that interface with other managers.

Implements COP_SlapCompManager.

Definition at line 313 of file COP_SlapCompProgramManager.h.

void COP_SlapCompProgramManager::setViewport ( const OP_Node node,
const OP_Context ctx 
)
overridevirtual

Enable and set up the slapcomp program for the viewportj.

Implements COP_SlapCompManager.

void COP_SlapCompProgramManager::setWarningCallback ( void(*)(void *, const char *)  cb,
void data 
)
inlineoverridevirtual

Sets a callback that gets called when reporting warnings.

Implements COP_SlapCompManager.

Definition at line 290 of file COP_SlapCompProgramManager.h.

void COP_SlapCompProgramManager::update ( const OP_Context )

Called by the slapcomp program callback when it is updated.

void COP_SlapCompProgramManager::updateEnableState ( )
overridevirtual

Called when slapcomp is enabled disabled.

Implements COP_SlapCompManager.


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