User guide

115
NOTE: This has been aliased to Attr in the example code:
args = { "fileName" : SAttr.Attr("StringAttr", [abcAsset]),
"addForceExpand" : SAttr.Attr("IntAttr",...),
"fps" : SAttr.Attr("FloatAttr", [fps]),
"addBounds" : SAttr.Attr("StringAttr", [addBounds]),
}
Calling GeoAPI Helper Function
The final stage is to call the helper function within the GeoAPI BuildResolvedScenegraphGenerator(), which calls
your SGG Plug-in. It takes the following arguments:
Argument Description
historyName Pass in self.getName(), this allows attribute changes to be traced under the
scene graph.
scenegraphLocationPath The location in the scene graph the SGG Plug-in should be resolved to.
sggPluginName The name of the SGG plug-in that is called.
sggArguments The arguments that is passed to the SGG plug-in.
timeArguments Time dependent arguments also passed to the SGG plug-in.
variableNames Used internally by Katana, should always pass self.getVariableName
(port,frameTime).
The arguments are built as follows:
BuildResolvedSGG = GeoAPI.CFilters.BuildResolvedScenegraphGenerator
scenegraphLocationPath = self.getParameter('name').getValue(frameTime)
sggPluginName = 'Alembic_In'
timeArgs = GetProceduralTimeArgs(modifiedFrameTime)
return BuildResolvedSGG(self.getName(),
scenegraphLocationPath,
sggPluginName,
args,
timeArgs,
self.getVariableName(port,frameTime))
15 WRAPPING SGG PLUG-INS IN A CUSTOM NODE | SPECIFYING UI HINTS