ifd_handler

Hook class to handle Houdini Mantra nodes.

Designed to inherit base_render_handler i.e. define the hook attribute in your project configuration settings with the following inheritance:

env/includes/settings/tk-houdini_node_handlers.yml
node_handlers.shot_step:
- node_type: ifd
  node_category: Driver
  hook: "{self}/node_handlers/base_export_handler.py:{self}/node_handlers/base_render_handler.py:{self}/node_handlers/ifd_handler.py"
  work_template: houdini_shot_render
  publish_template: houdini_shot_publish_render
  extra_args:
    aov_work_template: houdini_shot_work_extra_plane
    aov_publish_template: houdini_shot_publish_extra_plane
    dcm_work_template: houdini_shot_work_dcm
    dcm_publish_template: houdini_shot_publish_dcm
    dsm_work_template: houdini_shot_work_dsm
    dsm_publish_template: houdini_shot_publish_dsm
    ifd_work_template: houdini_shot_ifd
    ifd_publish_template: houdini_shot_publish_ifd
    manifest_name_template: houdini_cryptomatte_json_name

Module Contents

Classes

IfdNodeHandler

Node handler for mantra renders in Houdini.

HookBaseClass[source]
class IfdNodeHandler[source]

Bases: HookBaseClass

Node handler for mantra renders in Houdini.

AOV_COUNT = vm_numaux[source]
AOV_ERROR = Channel Name not defined[source]
AOV_FILE_TMPL = vm_filename_plane{}[source]
AOV_NAME_TMPL = vm_channel_plane{}[source]
AOV_USE_FILE_TMPL = vm_usefile_plane{}[source]
ARCHIVE_ENABLED = soho_outputmode[source]
ARCHIVE_OUTPUT = soho_diskfile[source]
ARCHIVE_PUBLISH_TEMPLATE = ifd_publish_template[source]
ARCHIVE_WORK_TEMPLATE = ifd_work_template[source]
DCM_PUBLISH_TEMPLATE = dcm_publish_template[source]
DCM_WORK_TEMPLATE = dcm_work_template[source]
DSM_PUBLISH_TEMPLATE = dsm_publish_template[source]
DSM_WORK_TEMPLATE = dsm_work_template[source]
MANIFEST_NAME_TEMPLATE = manifest_name_template[source]
NODE_CATEGORY = Driver[source]
NODE_TYPE = ifd[source]
OUTPUT_PARM = vm_picture[source]
SGTK_AOV_NAME_TMPL = sgtk_channel_plane{}[source]
SGTK_CRYPTOLAYERNAME_TMPL = sgtk_cryptolayername{}[source]
SGTK_DEEP_EXT = sgtk_deep_extension[source]
VM_CRYPTOLAYERNAME_TMPL = vm_cryptolayername{}[source]
VM_CRYPTOLAYEROUTPUTENABLE_TMPL = vm_cryptolayeroutputenable{}[source]
VM_CRYPTOLAYEROUTPUT_TMPL = vm_cryptolayeroutput{}[source]
VM_CRYPTOLAYERS = vm_cryptolayers[source]
VM_CRYPTOLAYERSIDECAR_TMPL = vm_cryptolayersidecar{}[source]
VM_DCMFILENAME = vm_dcmfilename[source]
VM_DSMFILENAME = vm_dsmfilename[source]
_customise_parameter_group(self, node, parameter_group, sgtk_folder)[source]

Here is where you define where the sgtk folder is to be placed, but also any other parameters that you wish to add to the node.

Parameters
  • node – A hou.Node instance.

  • parameter_group – The node’s ParmGroup.

  • sgtk_folder – A hou.ParmFolderTemplate containing sgtk parameters.

_get_output_paths_and_templates(self, node)[source]

Go through the node’s specified parameters and get the output paths, work and publish templates.

Returns a list of dictionaries, each containing, at least: - work template - publish template - file name

and optionally: - any sequence paths - whether the output is a deep image

Parameters

node – A hou.Node instance.

Return type

list(dict)

_lock_crypto_parms(self, node, lock)[source]

Lock the cryptomatte output path parms.

Parameters
  • node – A hou.Node instance.

  • lock (bool) – Lock parms if True.

_lock_parms(self, node, lock)[source]

Lock parms on the node is shotgun is enabled.

Parameters
  • node – A hou.Node instance.

  • lock (bool) – Lock parms if True.

_populate_from_fields(self, node, fields)[source]

Populate the node from template fields.

Parameters
  • node – A hou.Node instance.

  • fields (dict) – The template fields.

_refresh_file_path(self, node)[source]

Refresh the file paths generated by the node handler.

Parameters

node – A hou.Node instance.

_remove_sgtk_items_from_parm_group(self, parameter_group)[source]

Remove all sgtk parameters from the node’s parameter template group.

Parameters

parameter_group (ParmGroup) – The parameter group containing sgtk parameters.

_restore_sgtk_parms(self, node)[source]

Restore any removed sgtk parameters onto the given node.

Parameters

node – A hou.Node instance containing sgtk parameters.

_update_aov_paths(self, node)[source]

Update all the aov output paths on the node.

Parameters

node – A hou.Node instance.

_update_crypto_layer_path(self, node, index)[source]

Update cryptomatte later output paths.

Parameters
  • node – A hou.Node instance.

  • index (int) – The index of the aov parm.

Raises

FieldInputError on invalid input.

_update_deep_paths(self, node)[source]

Update the output path for deep images.

Parameters

node – A hou.Node instance.

lock_crypto_parms(self, kwargs)[source]

Callback to lock the cryptomatte output path parms.

Parameters
  • node – A hou.Node instance.

  • lock (bool) – Lock parms if True.

update_crypto_layer_path(self, kwargs)[source]

Callback to update cryptomatte later output paths.

update_deep_paths(self, kwargs)[source]

Callback to update the output path for deep images.