Houdini 18.5 Python scripting hou

hou.Vector4 class

A sequence of 4 floating point values, with associated mathematical operations.

A Vector4 could be used to represent a position or direction in 4D space. In 3D math, however, it is more commonly used to represent either a position or a vector, depending on the value of the fourth component. Positions have a fourth component of 1.0, and vectors have a fourth component of 0.0. Subtracting a position from another yields a vector, adding two vectors together yields a vector, and adding a point and a vector yields a point. Operations that yield a fourth component value other than 0 or 1, like adding two points together, are not valid. Similarly, is makes sense to speak about a vector’s length but not a position’s length. The fourth component also affects how the position/vector is transformed; see hou.Vector3.__mul__() for more information.

See also hou.Vector2 and hou.Vector3.

Methods

hou

Animation

Digital assets

  • hou.HDADefinition

    Represents the definition of a houdini digital asset (HDA).

  • hou.HDAModule

    User-defined Python module containing functions, classes, and constants that are stored with and accessed from a digital asset.

  • hou.HDAOptions

    Stores miscellaneous options about a houdini digital asset (HDA).

  • hou.HDASection

    Represents a "section" of data stored along with a digital asset.

  • hou.HDAViewerStateModule

    User-defined Python module containing the implementation and registration code of a python viewer state stored in a digital asset.

  • hou.hda

    Module containing functions related to Houdini Digital Assets.

  • hou.hdaDefinition()

    Given a node type category, operator name and digital asset library path, return an HDADefinition object. Return None if no such installed digital asset definition matches the arguments.

  • hou.hdaEventType

    Enumeration of types of events that can happen for digital asset libraries.

  • hou.hdaLicenseType

    Enumeration of digital asset license permission levels.

Channels

  • hou.ChannelEditorPane

  • hou.ChannelGraph

  • hou.ChannelGraphSelection

    A copy of an Animation Editor Graph Selection.

  • hou.ChannelList

    A copy of a list of channels from Channel List or Animation Editor.

  • hou.ChopNode

    Class representing a CHOP node.

  • hou.Clip

    Class representing an animation clip.

  • hou.Track

  • hou.bezier()

    Evaluate a Bezier interpolation spline for an animated parameter using the left keyframe’s outgoing value, tangent, and acceleration and the right keyframe’s incoming value, tangent, and acceleration.

  • hou.commitPendingKeyframes()

  • hou.constant()

    Evaluate an animation function for an animated parameter. The return value is always the left keyframe’s outgoing value.

  • hou.cubic()

    Smooth curve between the left keyframe’s outgoing slope and the right’s incoming slope.

  • hou.cycle()

    Repeats the motion between two times.

  • hou.cycleoffset()

    Repeats the motion between two frames, lining up the first repeated value with the left keyframe’s value.

  • hou.cycleoffsett()

    Repeats the motion between two times, lining up the repeated values with the left keyframe’s value.

  • hou.cyclet()

    Repeats the motion between two times.

  • hou.ease()

    Interpolates between the left keyframe’s outgoing value and the right keyframe’s incoming value.

  • hou.easein()

    Interpolates between the left keyframe’s outgoing value and the right keyframe’s incoming value.

  • hou.easeinp()

    Interpolates between the values of two keyframes.

  • hou.easeout()

    Interpolates between the left keyframe’s outgoing value and the right keyframe’s incoming value.

  • hou.easeoutp()

    Interpolates between the values of two keyframes.

  • hou.easep()

    Interpolates between the values of two keyframes.

  • hou.linear()

    Linearly interpolates between the left keyframe’s outgoing value and the right keyframe’s incoming value.

  • hou.match()

    Creates a smooth curve between the left keyframe’s incoming slope and the right keyframe’s outgoing slope.

  • hou.matchin()

    Creates a straight line from the left keyframe’s incoming value, matching the left keyframe’s incoming slope.

  • hou.matchout()

    Creates a straight line from the right keyframe’s outgoing value, matching the right keyframe’s outgoing slope.

  • hou.qlinear()

    Linearly interpolates between keyframes using quaternions.

  • hou.quintic()

    Evaluate an interpolation function for an animated parameter that gives a smooth curve between the left keyframe’s outgoing value and the right keyframe’s incoming value, using the left’s outgoing slope and acceleration and the right’s incoming slope and acceleration.

  • hou.repeat()

    Repeats the motion between two times.

  • hou.repeatt()

    Repeats the motion between two times.

  • hou.spline()

    Fits a spline through consecutive keyframe values.

  • hou.vmatch()

    Matches the incoming and outgoing values and slopes.

  • hou.vmatchin()

    Matches the left keyframe’s incoming slope.

  • hou.vmatchout()

    Matches the right keyframe’s outgoing slope.

Cooking

  • hou.setUpdateMode()

    Return Houdini’s cook update mode (Auto Update/On Mouse Up/Manual) that is displayed in the status bar.

  • hou.updateMode

    Enumeration of interface update modes.

  • hou.updateModeSetting()

    Return Houdini’s cook update mode (Auto Update/On Mouse Up/Manual) that is displayed in the status bar.

Crowds

Dynamics

Exceptions

File I/O

  • hou.fileReferences()

  • hou.findDirectories()

    Search the Houdini path for the specified directory, returning a tuple of all the matches. The directory name specified should be relative to the Houdini directory.

  • hou.findDirectory()

    Search the Houdini path for a specified directory, returning the first match found. The directory name specified should be relative to the Houdini directory.

  • hou.findFile()

    Search the Houdini path for a specified file, returning the first match found. The filename specified should be relative to the Houdini directory.

  • hou.findFiles()

    Search the Houdini path for the specified file, returning a tuple of all the matches. The filename specified should be relative to the Houdini directory.

  • hou.findFilesWithExtension()

    Search the Houdini path for files with a particular extension, returning a tuple of all the matches. A subdirectory can also be optionally provided which is appended to each entry in the Houdini path before looking for files.

  • hou.homeHoudiniDirectory()

    Return the path to the Houdini directory in your $HOME directory.

  • hou.houdiniPath()

    Return the contents of the Houdini path as a tuple of strings.

  • hou.loadCPIODataFromString()

    Given a binary string containing data in CPIO data format, decode the data and return a sequence of (name, value) pairs representing the data.

  • hou.loadIndexDataFromFile()

    Given a file containing data in index data format, decode the data and return a dictionary representing the data.

  • hou.loadIndexDataFromString()

    Given a binary string containing data in index data format, decode the data and return a dictionary representing the data.

  • hou.readBinaryFile()

    Read a binary file, returning the contents in a bytes object. Supports regular files, opdef: and oplib: paths, and http URLs.

  • hou.readFile()

    Read a file, returning the contents in a string. Supports regular files, opdef: and oplib: paths, and http URLs.

  • hou.saveCPIODataToString()

    Given a sequence of (name, value) string tuples, encode that data into a string in CPIO format.

  • hou.saveIndexDataToFile()

    Given a dictionary mapping strings to strings, encode that data in index data format and save it into a file.

  • hou.saveIndexDataToString()

    Given a dictionary mapping strings to strings, encode that data into a string in index data format.

General

Geometry

  • hou.Attrib

    This class stores information about a Geometry attribute.

  • hou.AttribDataId

    Used for detecting when contents of geometry have changed

  • hou.Edge

    Each Edge object resides inside a Geometry object and stores an edge. Edges are reprsented as pairs of points.

  • hou.EdgeGroup

    A named group of edges inside a Geometry object.

  • hou.Face

    A Face is a kind of geometry primitive (Prim object) that contains a sequence of vertices (Vertex objects). How these vertices are used depends on the type of face; polygons, for example, use the vertices to define the edges of the polygon, while NURBS curves use them as control points.

  • hou.Geometry

    A Geometry object contains the points and primitives that define a 3D geometric shape. For example, each SOP node in Houdini generates a single Geometry object.

  • hou.GeometryDelta

    Geometry delta provides access to the geometry differences (deltas) stored by some Geometry nodes such as the edit SOP.

  • hou.GeometryRayCache

    Geometry Ray Cache allows caching of ray-intersection structures.

  • hou.IndexPairPropertyTable

    Describes properties of an index pair attribute.

  • hou.PackedFragment

    A packed fragment primitive.

  • hou.PackedGeometry

    A packed geometry primitive.

  • hou.PackedPrim

    A packed primitive.

  • hou.Point

    Represents a point on a geometry primitive, such as a polygon or NURBS surface.

  • hou.PointGroup

    A named group of points inside a Geometry object.

  • hou.Polygon

    A Polygon is a kind of Face whose vertices are connected via straight lines.

  • hou.Prim

    Each Prim resides inside a Geometry object and stores some sort of 3D geometric primitive, like a polygon, a NURBS curve, or a volume. Each primitive usually contains a set of Vertex objects, each of which references a Point object.

  • hou.PrimGroup

    A named group of primitives inside a Geometry object.

  • hou.Quadric

    A Quadric is a kind of geometry primitive (Prim object) that represents a 3-dimensional surface defined by a quadratic polynomial equation (e.g. a sphere or tube).

  • hou.Selection

    A class that represents a geometry component selection.

  • hou.SopNode

    Represents a surface node.

  • hou.SopVerb

    Represents the code of a surface node.

  • hou.Surface

    A Surface is a kind of geometry primitive (Prim object) that contains a two dimensional grid of vertices (Vertex objects). How these vertices are used depends on the type of surface: meshes, for example, use the vertices to define a quadrilateral mesh, while NURBS surfaces use them as control points.

  • hou.VDB

    A VDB is a kind geometry primitive (Prim object) that stores data in a three dimensional grid of voxels.

  • hou.Vertex

    Existing inside a Geometry object, a Vertex object is contained in exactly one Prim, and references exactly one Point.

  • hou.VertexGroup

    A named group of vertices inside a Geometry object.

  • hou.Volume

    A Volume is a kind geometry primitive (Prim object) storing a three dimensional array of voxels.

  • hou.attribData

    Enumeration of attribute data types.

  • hou.attribType

    Enumeration of geometry attribute types.

  • hou.componentLoopType

    Enumeration of component loop types.

  • hou.geometryType

    Enumeration of geometry component types.

  • hou.primType

    Enumeration of primitive types.

  • hou.scaleInheritanceMode

    Enumeration of scale inheritance modes for transforms.

  • hou.vdbData

    Enumeration of voxel data types.

Images

Nodes

  • hou.IndirectInput

    An abstract base class for a network item that can be used as an input to nodes in the same network, but which is not a node itself.

  • hou.LopNetwork

    Represents a lighting node.

  • hou.LopNode

    Represents a lighting node.

  • hou.NetworkDot

    A small dot in a network that allows wires to be routed along specific paths without affecting the data passing through them.

  • hou.NetworkItem

    The base class for all visible elements within a network.

  • hou.NetworkMovableItem

    The base class for all visible elements within a network, such as Nodes, Network Boxes, and Sticky Notes.

  • hou.Node

    The base class for all nodes in Houdini (objects, SOPs, COPs, etc.) An instance of this class corresponds to exactly one instance of a node in Houdini.

  • hou.NodeConnection

    Represents a connection (wire) between two Nodes.

  • hou.NodeInfoTree

    A tree structure designed to contain information about nodes and the data they generate.

  • hou.NodeType

    Information common to all instances of a type of node, such as the parameters.

  • hou.SopNodeType

    This kind of NodeType contains extra attributes specific to SOP nodes.

  • hou.SubnetIndirectInput

    A node-like item that appears inside subnets and corresponds to the node wired into the subnet.

  • hou.TopNode

    Represents a task node.

  • hou.VopNetNode

  • hou.appearanceChangeType

    Enumeration of types of appearance change events that can happen to nodes.

  • hou.cd()

    Change the current node. Houdini has one current node, analogous to a current directory in a file system. If a relative path is given, it is relative to the node returned by hou.pwd().

  • hou.clearAllSelected()

    Clears the selected state for all nodes, network boxes, and other subclasses of hou.NetworkMovableItem in the Houdini session.

  • hou.colorItemType

  • hou.copyNodesTo()

    Copy all given nodes to a new place in node hierarchy.

  • hou.copyNodesToClipboard()

    Copies a list of nodes to the clipboard.

  • hou.currentSimulation()

  • hou.defaultColor()

    Return the default color for a particular network element.

  • hou.item()

    Given a path string, return a NetworkMovableItem object. Return None if the path does not refer to an item.

  • hou.itemBySessionId()

    Given an item’s session id and an item type, return a NetworkMovableItem object. Return None if the id does not correspond to a valid item.

  • hou.items()

    Takes a sequence of node path strings and returns a tuple of NetworkMovableItem objects.

  • hou.moveNodesTo()

    Move all given nodes to a new place in node hierarchy.

  • hou.networkBoxBySessionId()

    Given a network box’s session id, return a NetworkBox object. Return None if the id does not correspond to a valid network box.

  • hou.networkDotBySessionId()

    Given a dot’s session id, return a NetworkDot object. Return None if the id does not correspond to a valid dot (e.g. if the dot was deleted).

  • hou.networkItemType

  • hou.node()

    Given a path string, return a Node object. Return None if the path does not refer to a node.

  • hou.nodeBySessionId()

    Given a node’s session id, return a Node object. Return None if the id does not correspond to a valid node (e.g. if the node was deleted).

  • hou.nodeConnectionBySessionId()

    Given a node’s session id and an input index, return a NodeConnection object. Return None if the id does not correspond to a valid node (e.g. if the node was deleted), or the specified input index is not connected.

  • hou.nodeEventType

    Enumeration of types of events that can happen to nodes.

  • hou.nodeFlag

    Enumeration of the different node flags.

  • hou.nodeType()

    Takes a category object and a name, or just a full name string, and returns the corresponding NodeType object.

  • hou.nodeTypeSource

    Enumeration of node type sources.

  • hou.nodes()

    Takes a sequence of node path strings and returns a tuple of Node objects.

  • hou.parent()

    Return the parent of the current node.

  • hou.pasteNodesFromClipboard()

    Paste previously copied nodes to a given network.

  • hou.phm()

    A shortcut for hou.pwd().hdaModule().

  • hou.preferredNodeType()

    Given a node type name that includes the category and optionally a parent node, return the corresponding NodeType object after evaluating aliases. Return None if there is no such type with that name.

  • hou.pwd()

    If called from an evaluating parm, return the node containing the parm. Otherwise, return Houdini’s global current node. You can change this current node with hou.cd

  • hou.root()

    Return the root node (i.e. /).

  • hou.selectedConnections()

    Return a list of all selected node connections.

  • hou.selectedItems()

    Return a list of all selected nodes, network boxes, sticky notes, subnet indirect inputs, and network dots.

  • hou.selectedNodes()

    Return a list of all selected nodes.

  • hou.setDefaultColor()

    Return the setDefault color for a particular network element.

  • hou.setPwd()

    Make the given node Houdini’s current node. This function is equivalent to hou.cd(node.path()).

  • hou.sortedNodePaths()

    Given a tuple of path strings, return a tuple of path strings sorted in input/outputs order. Invalid node paths won’t be part of the sorted list.

  • hou.sortedNodes()

    Given a tuple of , return a tuple of sorted in input/outputs order.

  • hou.stickyNoteBySessionId()

    Given a sticky note’s session id, return a StickyNote object. Return None if the id does not correspond to a valid sticky note.

  • hou.subnetIndirectInputBySessionId()

    Given a subnet input’s session id, return a SubnetIndirectInput object. Return None if the id does not correspond to a valid subnet input (e.g. if the subnet containing the input was deleted).

  • hou.topCookState

    Enumeration of TOP Node cook states.

Node types

Objects

  • hou.ObjNode

    An instance of an object node in the Houdini scene.

Organization

  • hou.NetworkBox

    Represents a network box.

  • hou.NodeBundle

    A named set of nodes whose contents can be from different networks. A bundle’s contents may be fixed or may be determined from a pattern, and the contents may be filtered by node type.

  • hou.NodeGroup

    Represents a node group.

  • hou.StickyNote

    Represents a sticky note.

  • hou.addNodeBundle()

    Create a new node bundle with the specified name.

  • hou.nodeBundle()

    Given a node bundle name, return the corresponding NodeBundle object, or None if there is not one with that name.

  • hou.nodeBundles()

    Return a tuple containing all the node bundles in the current session.

  • hou.nodeTypeFilter

    Enumeration of available node type filters.

  • hou.selectedNodeBundles()

    Return a tuple containing all the node bundles that are selected in the bundle list pane.

Parameters

  • hou.Parm

    A parameter in a node. Each parameter has a unique name within its node and exists inside a parameter tuple.

  • hou.ParmTuple

    A tuple of one or more node parameters. Each parameter tuple has a unique name within its node.

  • hou.ch()

    The same as evalParm(). Provided for backward compatibility.

  • hou.chsop()

    Evaluate a parameter that references a node, and return the absolute path to the node.

  • hou.chsoplist()

    Evaluate a parameter that references a node path list, and return a space separated list of absolute node paths.

  • hou.contextOption()

    Returns the value of a cook context option.

  • hou.contextOptionConfig()

    Returns the string that holds the UI configuration for the default value of a context option.

  • hou.contextOptionNames()

    Returns the names of all available cook context options.

  • hou.evalParm()

    Evaluate a parameter, given either an absolute or a relative path to it. Relative path searches are done from the node returned by . This function is a shortcut for hou.parm(path).eval().

  • hou.evalParmTuple()

    Evaluate a parameter, given either an absolute or a relative path to it. Relative path searches are done from the node returned by . This function is a shortcut for hou.parmTuple(path).eval().

  • hou.evaluatingParm()

    Return the parameter that is currently evaluating.

  • hou.exprLanguage

    Enumeration of available expression languages.

  • hou.fileType

    Enumeration of file types.

  • hou.hasContextOption()

    Returns True if the specified option exists in the current cook context.

  • hou.lvar()

    Return the value of a node’s local variable. Call this function from expressions inside node parameters.

  • hou.parm()

    Given a path string, return a Parm object. Return None if the path does not refer to a parameter.

  • hou.parmBakeChop

    Enumeration of Bake Chop modes.

  • hou.parmClipboardContents()

    Returns the contents of the parameter clipboard as a tuple of copied parameter dictionaries.

  • hou.parmCondType

    Enumeration of available parameter conditional types.

  • hou.parmExtrapolate

    Enumeration of Extrapolation methods when evaluating value outside the keyframe range.

  • hou.parmTuple()

    Given a path string, return a ParmTuple object. Return None if the path does not refer to a parameter tuple.

  • hou.removeContextOption()

    Removes the default value for a cook context option.

  • hou.scriptLanguage

    Enumeration of available script languages.

  • hou.setContextOption()

    Sets the default value for a cook context option.

  • hou.setContextOptionConfig()

    Sets a string to hold the UI configuration for the default value of a context option.

Parameter templates

Performance

  • hou.PerfMonEvent

    Represents an event that is recorded by the performance monitor and used to generate time and memory growth statistics for profiles.

  • hou.PerfMonProfile

    Represents a performance monitor profile.

  • hou.PerfMonRecordOptions

    Represents the set of options used by the Performance Monitor and specifies the type of statistics to be recorded in a profile.

  • hou.perfMon

    Module containing performance monitor related functions.

Playbar

  • hou.fps()

    Return the number of frames per second.

  • hou.frame()

    Return the playbar’s current frame. Note that Houdini can be on a fractional frame if fractional frames are enabled.

  • hou.frameToTime()

    Convert from a given frame value to a time value.

  • hou.intFrame()

    Return the playbar’s current frame, rounded to the nearest integer.

  • hou.playMode

    Enumeration of play modes for the main playbar in Houdini.

  • hou.playbar

    The animation playbar module.

  • hou.playbarEvent

    Enumeration of the playbar events that can be handled by callback functions.

  • hou.setFps()

    Set the number of frames per second.

  • hou.setFrame()

    Set the playbar’s current frame. Note that the frame may be a fractional value.

  • hou.setTime()

    Set the playbar’s time.

  • hou.time()

    Return the playbar’s current time, in seconds of playback.

  • hou.timeToFrame()

    Convert from a given time value to a frame value, rounding the result to a integer if it is close to an integer.

Preferences

Radial menus

Rendering

Scripting

Shading

  • hou.Gallery

    A collection of gallery entries that can be applied to operator nodes to set their parameters to predefined values.

  • hou.GalleryEntry

    A gallery entry that can be applied to operator nodes to set their parameters to predefined values.

  • hou.ShopNode

    The base class for all SHOP nodes in Houdini. An instance of this class corresponds to exactly one instance of a node in Houdini.

  • hou.StyleSheet

    A class that represents a Houdini style sheet. It can be used to evaluate, test, and debug style sheet output.

  • hou.galleries

    A module for managing galleries and their entries.

  • hou.properties

    A module for accessing standard render properties.

  • hou.shaderType

    Enumeration of SHOP shader types.

  • hou.styles

    A module for managing style sheets that are stored with the hip file.

Shelf

  • hou.Shelf

    Represents a tab of shelf tools.

  • hou.ShelfDock

    Represents the shelf area at the top of the screen, within which shelf sets and shelf tabs exist.

  • hou.ShelfElement

    Superclass of shelf tools, shelf tabs, and shelf sets.

  • hou.ShelfSet

    Represents a collection of shelf tabs.

  • hou.Tool

    Represents a tool on the shelf, encapsulating a script as well as a label, help, and other information.

  • hou.shelves

    Contains functions for working with shelf tabs and shelf tools.

Solaris

  • hou.LopInstanceIdRule

    Stores a string that expresses a pattern to select instances from a point instancer primitive by id.

  • hou.LopLockedStage

    Guarantees the lifetime of a USD stage created by a LOP node.

  • hou.LopSelectionRule

    Stores a set of rules that define how to make a selection of scene graph primitives.

  • hou.LopViewportLoadMasks

    Stores a description of which payloads on the USD stage should be loaded into the viewport.

  • hou.LopViewportOverrides

    Used to edit the current session overlay layer that is applied to the current LOP node’s scene graph.

  • hou.lop

    Module containing functions related to Houdini LOP nodes.

  • hou.lopTraversalDemands

    Specifies which primitives should be included and excluded during the traversal of a USD scene graph.

  • hou.lopViewportOverridesLayer

    Specifies a choice between the various pxr.Sdf.Layer objects available in a object.

Takes

UI

Utility

  • hou.BoundingBox

    An axis-aligned 3D rectangular region.

  • hou.BoundingRect

    An axis-aligned 2D rectangular region.

  • hou.Color

    Represents a color value.

  • hou.Matrix2

    A 2×2 matrix of floating point values.

  • hou.Matrix3

    A 3×3 matrix of floating point values.

  • hou.Matrix4

    A 4×4 matrix of floating point values.

  • hou.OrientedBoundingBox

    An oriented 3D rectangular region.

  • hou.OrientedBoundingRect

    An oriented 2D rectangular region.

  • hou.Quaternion

    A representation of a 3D rotation (or orientation). You can smoothly interpolate between two rotation values by interpolating between two quaternions.

  • hou.Ramp

    A Ramp represents a function that yields either floating point values or colors. You can evaluate this function between 0.0 and 1.0, and the function’s shape is determined by a sequence of values at key positions between 0.0 and 1.0.

  • hou.ShopNodeType

    This kind of NodeType contains extra attributes specific to SHOP nodes.

  • hou.Vector2

    A sequence of 2 floating point values, with associated mathematical operations.

  • hou.Vector3

    A sequence of 3 floating point values, with associated mathematical operations.

  • hou.Vector4

    A sequence of 4 floating point values, with associated mathematical operations.

  • hou.VopNodeType

    This kind of NodeType contains extra attributes specific to VOP nodes.

  • hou.colorType

    Enumeration of color spaces.

  • hou.compressionType

    Enumeration of compression types.

  • hou.rampBasis

    Enumeration of ramp interpolation types.

  • hou.rampParmType

    Enumeration of ramp types.

  • hou.text

    Module containing Houdini-specific string manipulation methods.

VEX

Views

viewer

webServer