# APEX Nodes

## Nodes ¶

• Computes the absolute value.

• Defines an abstract control in a rig.

• Computes the inverse cosine.

• Calculates the sum of the input values.

• Check if two values are almost equal.

• Performs a logical AND operation.

• Computes the inverse sine.

• Computes the inverse tangent.

• Computes the inverse tangent of y/x.

• Computes the average of the input values.

• Clamp a value between min and max.

• Converts an input of type SrcT to an output of type DesT.

• Copy the input argument.

• Computes the cosine of an angle.

• Compute the cross product of two vectors.

• Convert an angle in degrees to radians.

• Returns the euclidean distance between two vectors.

• Calculates the quotient of the input values.

• Computes the dot product of two vectors.

• Intersects a ray with a plane.

• Returns if two values are equal.

• Raise a value to an exponent.

• Build a Vector2 from Floats.

• Build a Vector3 from Floats.

• Build a Vector4 from Floats.

• Defines the start of a for loop.

• Defines the start of a for-each loop.

• Define the end of a for each loop.

• Defines the end of a for loop.

• Extracts a single component of a vector or matrix type.

• Greater than comparison operator.

• Less than or equal comparison operation.

• Defines the start of an If block for conditional execution.

• Defines the end of an If block for conditional execution.

• Inverts the matrix.

• Computes the length of a vector.

• Performs linear interpolation between the input values.

• Less than comparison operation.

• Less than or equal comparison operation.

• Extracts the row vectors from the matrix m.

• Extracts the row vectors from the matrix m.

• Applies the modulo operation to the two input values.

• Calculates the product of the input values.

• Normalized lerp.

• Produces Perlin-style non-periodic noise.

• Normalizes a vector.

• Inverts the logical value.

• Utility node for passing through unmodified values

• Performs a logical OR operation.

• Convert an angle in radians to degrees.

• Executes a vex snippet.

• Sets a single component of a vector or matrix type.

• Computes the sine of an angle.

• Calculates the difference of the input values.

• Switches between multiple input values based on an index.

• Switches between multiple input values based on the name of the input port.

• Computes the tangent of an angle.

• An object to represent and build a hierarchy of transformations in a rig.

• Switches between two inputs based on a Bool value

• Holds a copy of an input value.

• Extracts all the components of a vector.

• Extracts all the components of a vector.

• Constructs a matrix from the input row vectors.

• Extracts all the components of a vector.

• Constructs a matrix from the input row vectors.

• Performs a logical XOR operation.

• Adds two arrays element-wise.

• Appends a value to an array.

• Builds an array with the provided values.

• Clears an array.

• Divides two arrays element-wise.

• Extends an array with another array.

• Finds the index of an array element with a specific value.

• Gets an element in an array.

• Inserts an element at a specific array index.

• Returns the length of an array.

• Performs linear interpolation between two arrays element-wise.

• Finds the maximum element in an array.

• Finds the minimum element in an array.

• Multiplies two arrays element-wise.

• Removes an element from an array.

• Reverses the order of elements in an array.

• Scales all elements of an array by a scalar.

• Sets an element in an array.

• Sorts an array in ascending order.

• Subtracts two arrays element-wise.

• Finds the sum of the array elements.

• Adds a key to a channel.

• Adds keys to channels in a collection.

• Adds a channel to a geometry as a curve or collection of points.

• Adds a channel primitive to a geometry.

• Adds additional cycles of a channel.

• Evaluates a collection of channels and updates a dictionary with the results.

• Adds channels from a channel collection to a geometry.

• Scales the key values of a channel about a pivot.

• Shifts all the keys of a channel by a constant time.

• Copies a dictionary and adds new entries.

• Creates a dictionary with the data IDs of the entries of an input dictionary.

• Extracts multiple values from a dictionary.

• Gets a value from a dictionary.

• Adds new entries to a dictionary.

• Gets an array of the keys of a dictionary.

• Removes from a dictionary all entries with keys matching a pattern.

• Renames the keys of a dictionary.

• Sets a value into a dictionary.

• Copies entries from one dictionary to another, using a third dictionary to define the key mapping.

• Updates the entries of a dictionary with the entries of other dictionaries.

• Gets the transform of a bone on a FBIK skeleton by name.

• Creates a PhysIKSolver from a FBIK skeleton.

• Sets the center of mass target on an FBIK solver.

• Sets the skeleton on an FBIK solver.

• Set a target on an FBIK solver with a bone name.

• Sets multiple targets on an FBIK solver.

• Sets targets on an FBIK solver from a Dict.

• Gets a FBIK skeleton stored in geometry.

• Update geometry according to an FBIK skeleton.

• Solves an FBIK skeleton using using a solver.

• Creates a FBIK skeleton target.

• Create a new packed primitive that uses the given embedded geometry.

• Return the attribute value for a particular array attribute.

• Return the detail attribute value for a particular attribute.

• Returns the geometry embedded in a packed primitive.

• Look up all points in a geometry that have a particular attribute value.

• Look up all primitives in a geometry that have a particular attribute value.

• Look up all vertices in a geometry that have a particular attribute value.

• Define the start of a for each point loop.

• Define the end of a for each point loop.

• Define the start of a for each primitive loop.

• Define the end of a for each primitive loop.

• Specify a geometry file to read in from disk.

• Return an array of points corresponding to a pattern of point numbers.

• Return an array of primitives corresponding to a pattern of primitive numbers.

• Compute an intersection cache for a geometry.

• Determines the intersection point of a ray with an intersection cache.

• Merge the points and primitives from other geometry object into this one.

• Pack each input and merge all of them together into a single geometry.

• Return the number of points in a geometry.

• Return the number of primitives in a geometry.

• Return the point attribute value for a particular attribute.

• Returns all primitives containing a point.

• Return the primitive attribute value for a particular attribute.

• Returns all points on a primitive.

• Replace the contents of a geometry object with another’s.

• Overrides the transforms of an agent primitive.

• Set a detail attribute value.

• Set a point attribute value.

• For a particular attribute, set the attribute values for all points.

• For a particular attribute, look up points on the geometry by name and set their attribute values.

• Set a primitive attribute value.

• For a particular attribute, set the attribute values for all primitives.

• For a particular attribute, look up primitives on the geometry by name and set their attribute values.

• Set a vertex attribute value.

• For a particular attribute, set the attribute values for all vertices.

• For a particular attribute, look up vertices on the geometry by name and set their attribute values.

• Transforms (e.g. rotates, scales, translates, etc.) the geometry by a transformation matrix

• Embeds the provided geometry into a packed primitive, replacing its contents.

• Return the vertex attribute value for a particular attribute.

• Adds an APEX node with a specific name and node type to the provided APEX Graph.

• Adds an APEX subnet node to a given APEX graph and add sets the contents of a given APEX graph as its content.

• Connects two APEX node ports together by adding a wire.

• Deletes a given node from the APEX graph.

• Connects two APEX node with specified port names together with a wire. The ports must be from two different nodes.

• Finds an APEX node id in a given APEX graph based on a node path.

• Finds an APEX port id for a given output port defined by a name on a specified APEX node.

• Finds an APEX port id for a given input port defined by a name on a specified APEX node.

• Finds an array of APEX node ids in a given APEX graph based on a node pattern.

• Finds or add an APEX node with a specific name and node type to the provided APEX Graph.

• Finds or adds an APEX port or subport of an APEX node based on a port name.

• Finds an APEX port of an APEX node based on a port name

• Finds an array of APEX port ids in a given APEX graph based on a port pattern.

• Finds all APEX nodes that are have a direct wire connection to a given APEX port.

• Finds all APEX port that are have a direct wire connection to a given APEX port.

• Finds the promted APEX graph input or output port that is connected with a given APEX port

• Finds or adds an APEX subport to a given APEX port based on a subport port name.

• Finds all top level parm input ports of a given APEX graph.

• Finds all top level output APEX ports of a given APEX graph.

• Returns if a given parm input port is connected when the given APEX graph is being used as a subgraph.

• Creates a default positional layout of all of a given selection of APEX nodes.

• Load an APEX graph from geometry.

• Merges the contents of a APEX graphs into an existing APEX graph.

• Finds all the available input port ids for a given APEX node.

• Finds all the available output port ids for a given APEX node.

• Packs a given array of APEX nodes of a given APEX graph into a subnet, keeping all existing connections.

• Link a port to an APEX graph input.

• Link a port to an APEX graph output.

• Rewire output ports on an APEX node in an APEX graph.

• Sort an APEX graph.

• Unpack a subnet in an APEX graph.

• Update an APEX node in an APEX graph.

• Update parms on an APEX node in an APEX graph.

• Update properties on an APEX node in an APEX graph.

• Update tags on an APEX node in an APEX graph.

• Write an APEX graph to geometry.

• Finds distance between two quaternions.

• Creates a Vector4 representing a unit quaternion from an angle and an axis.

• Creates a Vector4 representing a quaternion from euler angles.

• Converts a rotation matrix into a unit quaternion.

• Inverts a quaternion.

• Multiplies two quaternions and returns the result.

• Rotates a vector by a given quaternion.

• Decomposes a quaternion into a twist along an axis and a swing.

• Interpolates between two quaternions while interpolating the the swing and twist components separately.

• Converts a quaternion represented by a vector4 into an axis vector and an angle.

• Creates an euler angle representing a quaternion.

• Converts a quaternion to a rotation or transformation matrix.

• Combines an input transform matrix and a set of translation, rotation and scale parameters into a new transform.

• Create a spline of the given order using the given list of CVs.

• Create a spline of the given order using the given array of CVs.

• Outputs a transform matrix derived from a location on a curve primitive.

• Extracts a local transform given a child and parent transform, taking scale inheritance rules into account.

• Computes a transform from a weighted mix of points on a Geometry.

• Sample transforms from a spline.

• Sample transforms from a spline.

• Adds a new dynamics object to a simulation.

• Adds a new dynamics relationship to a simulation.

• Attaches data to a simulation object or relationship.

• Loads a simulation state from a file.

• Removes an object from a simulation.

• Removes a relationship from a simulation.

• Modifies geometry subdata for a simulation object or relationship.

• Create a new KineFX point on the geometry.

• Delete a KineFX point from the geometry.

• Delete a group of KineFX points from the geometry.

• Evaluate a single pose from multiple MotionClips.

• Find a KineFX point by its name attribute.

• Find all KineFX points that do not have a parent.

• Find all ancestors of a specific KineFX point.

• Find all children of a specific KineFX point.

• Find all descendants of a specific KineFX point.

• Find the parent of a specific KineFX point.

• Return the local transform attribute value of a KineFX point.

• Return the world transform of a KineFX point.

• Return the world transforms from multiple KineFX points.

• Set a new parent for a KineFX point.

• Set new parents for multiple KineFX points.

• Set the world transforms of multiple KineFX points.

• Set the world transforms of multiple KineFX points from an agent.

• Sort the KineFX points in the geometry based on their hierarchy.

• Traverse the whole KineFX hierarchy and write out the result.

• Update the attribute values of a KineFX point.

• Convert an integer to string

• Converts a ramp to a string.

• Compute the length of a string

• Splits a string into multiple tokens

• Converts a string to a ramp.

• Blends between two matrices.

• Rotates a 4×4 matrix so its -Z axis points at a target.

• Blend multiple matrices or quaternions based on multiple weights.

• Blend an array of matrices or quaternions based on a weights array.

• Applies a prerotation to the given matrix.

• Prescales the given matrix in three directions simultaneously by the components of a vector.

• Pretranslates a matrix by a vector.

• Applies a rotation to the given matrix.

• Scales the given matrix in three directions simultaneously by the components of a vector.

• Performs spherical linear interpolation.

• Translates a matrix by a vector.

# Nodes

• Channel nodes create, filter, and manipulate channel data.

• Composite nodes create, filter, and manipulate image data.

• Dynamics nodes set up the conditions and rules for dynamics simulations.

• LOP nodes generate USD describing characters, props, lighting, and rendering.

• Object nodes represent objects in the scene, such as character parts, geometry objects, lights, cameras, and so on.

• Render nodes either render the scene or set up render dependency networks.

• Geometry nodes live inside Geo objects and generate geometry.

• Containers for VOP networks.

• VOP nodes let you define a program (such as a shader) by connecting nodes together. Houdini then compiles the node network into executable VEX code.

• TOP nodes define a workflow where data is fed into the network, turned into work items and manipulated by different nodes. Many nodes represent external processes that can be run on the local machine or a server farm.