def add_aovs_to_ifd(self, wrangler, cam, now): """Add auto_aovs to the ifd. :param wrangler: A SOHO wrangler. :type wrangler: object :param cam: A SOHO camera. :type cam: soho.SohoObject :param now: The evaluation time. :type now: float :return: """ import IFDapi import IFDsettings import soho # The parameter that defines which automatic aovs to add. parms = { "enable": soho.SohoParm( "enable_auto_aovs", "int", [1], skipdefault=False ), "auto_aovs": soho.SohoParm( "auto_aovs", "str", [""], skipdefault=False ), } # Attempt to evaluate the parameter. plist = cam.wrangle(wrangler, parms, now) if plist: # Adding is disabled so bail out. if plist["enable_auto_aovs"].Value[0] == 0: return aov_str = plist["auto_aovs"].Value[0] # Parse the string to get any aovs/groups. aov_items = self.get_aovs_from_string(aov_str) # Write any found items to the ifd. for item in aov_items: item.write_to_ifd(wrangler, cam, now) # If we are generating the "Op_Id" plane we will need to tell SOHO # to generate these properties when outputting object. Look for # the "Op_Id" variable being exported and if so enable operator id # generation. for aov in flatten_aov_items(aov_items): if aov.variable == "Op_Id": IFDapi.ray_comment("Forcing object id generation") IFDsettings._GenerateOpId = True break
def addAOVsToIfd(wrangler, cam, now): """Add auto_aovs to the ifd.""" import IFDapi import IFDsettings import soho # The parameter that defines which automatic aovs to add. parms = { "enable": soho.SohoParm( "enable_auto_aovs", "int", [1], skipdefault=False ), "auto_aovs": soho.SohoParm( "auto_aovs", "str", [""], skipdefault=False ), } # Attempt to evaluate the parameter. plist = cam.wrangle(wrangler, parms, now) if plist: # Adding is disabled so bail out. if plist["enable_auto_aovs"].Value[0] == 0: return aov_str = plist["auto_aovs"].Value[0] # Construct a manager-laf manager = findOrCreateSessionAOVManager() # Parse the string to get any aovs/groups. aovs = manager.getAOVsFromString(aov_str) # Write any found items to the ifd. for aov in aovs: aov.writeToIfd(wrangler, cam, now) # If we are generating the "Op_Id" plane we will need to tell SOHO # to generate these properties when outputting object. Look for # the "Op_Id" variable being exported and if so enable operator id # generation for aov in flattenedList(aovs): if aov.variable == "Op_Id": IFDapi.ray_comment("Forcing object id generation") IFDsettings._GenerateOpId = True break
def addAOVsToIfd(wrangler, cam, now): """Add auto_aovs to the ifd.""" import IFDapi import IFDsettings import soho # The parameter that defines which automatic aovs to add. parms = { "enable": soho.SohoParm("enable_auto_aovs", "int", [1], skipdefault=False), "auto_aovs": soho.SohoParm("auto_aovs", "str", [""], skipdefault=False), } # Attempt to evaluate the parameter. plist = cam.wrangle(wrangler, parms, now) if plist: # Adding is disabled so bail out. if plist["enable_auto_aovs"].Value[0] == 0: return aov_str = plist["auto_aovs"].Value[0] # Construct a manager-laf manager = findOrCreateSessionAOVManager() # Parse the string to get any aovs/groups. aovs = manager.getAOVsFromString(aov_str) # Write any found items to the ifd. for aov in aovs: aov.writeToIfd(wrangler, cam, now) # If we are generating the "Op_Id" plane we will need to tell SOHO # to generate these properties when outputting object. Look for # the "Op_Id" variable being exported and if so enable operator id # generation for aov in flattenedList(aovs): if aov.variable == "Op_Id": IFDapi.ray_comment("Forcing object id generation") IFDsettings._GenerateOpId = True break