SceneGraphNode¶
-
class
guerilla.
SceneGraphNode
¶ Bases:
guerilla.HostNode
Base class of all the objects that can be stored in the scene graph like primitives and groups
-
FreezeTransform
¶ Indicate if the SceneGraphNode’s parameters are to be frozen
Type: types.bool
-
Hidden
¶ The visibility state.
If true, the primitive and its children are hidden from all the layers, the shadow maps and the trace sets.
Type: bool
-
HierarchyMode
¶ Indicates the transform mode of the node (local, world as PRMan, Maya or Max)
Type: types.enum
-
Instances
¶ The dpendencies on instanced SceneGraphNodes
Type: None
-
InvWBounds
¶ Invalidated when the world transform and/or bounds of the object has changed.
This plug is used to invalidate data the depends on the hierarchy rendering aspect. Notably, this plug is invalidated whenever a parent or child has its own InvWBounds invalidated.
Type: None
-
IsHidden
¶ The visibility state. This plug tells if this node is visible, regarding its state and the state of its parents.
Type: bool
-
Mermbership
¶ The list of tags the node owns
Type: types.string
-
RibAttributes
¶ The dependency on the additional Rib Attributes to be assigned
Type: None
-
Transform
¶ The SceneGraphNode’s local to world transform
Type: transform
-
createinstance
(instance)¶ Create an instance at this node
Parameters: instance ( SceneGraphNode
) – The SceneGraphNode to instanciate
-
fillanimationtemplate
(template)¶ Fill a template table with the “Animation” attributes
Parameters: template (table) – The template table to fill
-
fillarealighttemplate
(template)¶ Fill a template table with the “Area Light” attributes
Parameters: template (table) – The template table to fill
-
fillcurvestemplate
(template)¶ Fill a template table with the “Curves” attributes
Parameters: template (table) – The template table to fill
-
fillgeometrytemplate
(template)¶ Fill a template table with the “Geometry” attributes
Parameters: template (table) – The template table to fill
-
filllinkingtemplate
(template)¶ Fill a template table with the “Linking” attributes
Parameters: template (table) – The template table to fill
-
fillopengltemplate
(template)¶ Fill a template table with the “OpenGL” attributes
Parameters: template (table) – The template table to fill
-
fillparticlestemplate
(template)¶ Fill a template table with the “Particles” attributes
Parameters: template (table) – The template table to fill
-
fillraytracingtemplate
(template)¶ Fill a template table with the “Raytracing” attributes
Parameters: template (table) – The template table to fill
-
fillsamplingtemplate
(template)¶ Fill a template table with the “Sampling” attributes
Parameters: template (table) – The template table to fill
-
fillscenenodetemplate
(template)¶ Fill a template table with the “Primitive” attributes
Parameters: template (table) – The template table to fill
-
fillshadertemplate
(template)¶ Fill a template table with the “Surface” attributes
Parameters: template (table) – The template table to fill
-
fillshadingtemplate
(template)¶ Fill a template table with the “Shading” attributes
Parameters: template (table) – The template table to fill
-
fillsubdivtemplate
(template)¶ Fill a template table with the “Subdivision” attributes
Parameters: template (table) – The template table to fill
-
filltransformtemplate
(template)¶ Fill a template table with the “Transform” attributes
Parameters: template (table) – The template table to fill
-
fillvolumetrictemplate
(template)¶ Fill a template table with the “Volumetric” attributes
Parameters: template (table) – The template table to fill
-
getmaterial
()¶ Get the Material assigned to this primitive
Example :LUA{ local material = MyPrimitive:getmaterial () if material then
– show object to material connection print (MyPrimitive:getpath () .. ” <– ” .. material:getpath ())else end }
return: The assigned material (or None if none) rtype: Material
-
getmatrix
()¶ Returns the node’s first transform matrix.
Returns the node’s first transform matrix. Note that the result is possibly only a part of the whole node transform. The matrix is given in the space of the node, that is is either local or world, depending on the HierarchyMode plug value.
Returns: The node matrix Return type: matrix
-
getparentworldmatrix
()¶ Returns the exclusive world matrix of the node
Returns: The parent world matrix Return type: matrix
-
getparentworldtransform
()¶ Returns the exclusive world transform of the node
Returns: The parent world transform Return type: transform
-
getposition
()¶ Returns the node’s position.
Returns the node’s position. Note that the result is possibly only a part of the whole node transform. The position is given in the space of the node, that is is either local or world, depending on the HierarchyMode plug value.
Returns: The node position Return type: point3
-
static
getrenderattributes
(path, origin)¶ Get the rendering attributes of a node/path
>>> result = guerilla.SceneGraphNode.getrenderattributes ("Group|Object", False) >>> attributes = result['attributes'] >>> for name, value in attributes.iteritems (): ... if isinstance (value, guerilla.subshader): ... print (name, value.getname ()) ... for k, v in value.getparameters ().iteritems (): ... print (k, v) ... else: ... print (name, value)
Parameters: Returns: The resulting attributes
Return type: dictionary
-
getsgparent
()¶ Returns the node’s hierarchical parent.
This method returns the parent SceneGraphNode in case the parent is not a SceneGraphNode.For instance, ShaderNodeGizmo may be contained in a ShaderNodeMacro, which is not a SceneGraphNode, although the ShaderNodeShadow may still inherits from the parent transform.
return: The node parent rtype: SceneGraphNode
-
gettransform
()¶ Return the top
Transform
node of the transform stack of thisSceneGraphNode
or this if the stack is emptyReturn type: Node
-
getworldmatrix
()¶ Returns the node’s world transform first matrix.
Returns: The node world matrix Return type: matrix
-
getworldposition
()¶ Returns the node’s world position.
Returns: The node world position Return type: point3
-
getworldtolocalmatrix
()¶ Returns the inverse of the world matrix
Returns: The node world to local matrix Return type: matrix
-
getworldtolocaltransform
()¶ Returns the inverse of the world transform
Returns: The node world to local transform Return type: transform
-
getworldtransform
()¶ Returns the node’s world transform.
Returns: The node transform Return type: transform
-
isinstance
(path)¶ Returns true if the given path contains an instance
Parameters: path (str) – The path from this node
-
isleafinstance
(path)¶ Returns true if the lath item of the path is an instance
Parameters: path (str) – The path from this node
List children nodes (include self) that have specified tags
Available arguments:
Parameters: tags (str or {string}) – The tag or list of tags to check Returns: The list of SceneGraphNode
that have this tag.Return type: { SceneGraphNode
}or
Parameters: tags (str or {string}) – The tags to match, as a list of string or a single string to match a single tag Returns: The list of SceneGraphNode
children that share the input tagsReturn type: { SceneGraphNode
}
-
pathtonode
(path)¶ Returns a node from a path, this path can contain instances
Parameters: path (str) – The path to the node Returns: The result node, or None if the path doesn’t represent a valid node Return type: result
-
removeinstance
(path)¶ Remove an instance
Parameters: path (The) – path to the instance
-
setmaterial
(material)¶ Assign a Material to this primitive
Parameters: material ( Material
or None) – The new material to assign to this primitive, or nil is none
-
setmatrix
(m)¶ Set the local matrix of the node
Parameters: m ( matrix
) – The new local matrix of the node
-
setworldmatrix
(world)¶ Set the world matrix of the node
Parameters: world ( matrix
) – The new world matrix of the node
-
setworldposition
(position)¶ Set the world position of the node, leaving the rest of the transform unchanged
Parameters: position ( point3
) – The new world position of the node
-
traverse
(map, *args)¶ Traverse the hierarchy and call a map function on every node
Parameters: - map (function) – a function called at every node of the hierarchy
- *args –
optional parameters given back to the map function
-
traverserender
(traversal, *args)¶ Traverse the hierarchy with a traversal object
The traverserender method calls the traversal traverse method on each childand instance of this node. The traverse method of the traversal, in turn, can call the traverserender on the passed node.
-