From cf0f22cc8327cf331c50590dfd512d2eda3e3000 Mon Sep 17 00:00:00 2001
From: teared Returns the absolute value of the argument. Returns the full path of a file. Returns the supplied path converted to an absolute path. Relative paths\nare treated as relative to Houdini\u2019s current working directory. If the\nsupplied path is already absolute, the path is returned unchanged. The\nfile does not need to exist. Returns the full path of a file. Returns the supplied path converted to an absolute path. Relative paths\nare treated as relative to Houdini\u2019s current working directory. If the\nsupplied path is already absolute, the path is returned unchanged. The\nfile does not need to exist. Returns the arc-cosine of the argument. Returns the angular velocity required to\nrotate an object from one orientation to another in a certain period of\ntime. The original rotation is specified in rot1, and the destination\nrotation in rot2. These values can be either a vector3 containing euler\nrotation angles in degrees, or a vector4 containing a quaternion. The\nreturned angular velocity value is expressed in degrees per second, and\nrepresents the shortest path between the two orientations. Returns the arc length of a curve between two U positions. the primitive must be either a NURBS, Bezier, or Polygon curve. Computes the length of the entire curve whose index is 12. Returns the arc length of a curve between two U positions and number of divisions. the primitive must be either a NURBS, Bezier, or Polygon curve. Computes the length of the entire curve whose index is 12. Returns an argument from a list of HScript-style arguments. This function extracts an argument from a line. The example below will\nextract the time out of the date string returned by the system function.\narg is useful for extracting tokens from space delimited strings. Returns the third word from the sentence: foobar. Returns the the fourth word from the date command. This is usually\n the system time, ie: 15:26:31. Returns \"makes this one arg\" as the quoting has transformed that\n into a single token. Note the quotes are not present in the output. Returns the arc length of a curve between two U positions and number of divisions. the primitive must be either a NURBS, Bezier, or Polygon curve. Computes the length of the entire curve whose index is 12. Returns an argument from a list of HScript-style arguments. This function extracts an argument from a line. The example below will\nextract the time out of the date string returned by the system function.\narg is useful for extracting tokens from space delimited strings. Returns the third word from the sentence: foobar. Returns the fourth word from the date command. This is usually\n the system time, ie: 15:26:31. Returns makes this one arg as the quoting has transformed that\n into a single token. Note the quotes are not present in the output. Returns the number of arguments in an HScript-style list of arguments. Standard parsing is done, no variable expansion\nis done on the line. Returns 4, as that is the number of space delimited words. Returns two as the quotes cause the last four words to count as a\n single word. Returns the arc-sine of the argument. Returns the arc-tangent of the argument. Returns the arc-tangent of This is more stable than atan since it\ncan use the signs of y and x to determine the quadrant the angle is in.\nIt also handles the case where x is zero correctly, returning 90 or -90. Converts a string to a float. Returns a space-separated list of attribute names. The Returns a space-separated list of attribute names. The Returns bounding box information for a surface node. The Channel segment function: Bezier interpoloation spline Combines two numbers with bitwise-and. Returns the abits and bbits combined with bitwise-and. All operands are rounded to the nearest integer before processing. Combines two numbers with bitwise-or. Returns the abits and bbits combined with bitwise-or. All operands are rounded to the nearest integer before processing. Sets or clears a bit in a number. Returns the provided number with the bit corresponding to bit_index being either set if value is not zero, or clear if value is zero. All operands are rounded to the nearest integer before processing. Bit 0 corresponds to the rightmost bit. Negative bit indices, or bit indices over 63, will return the number unchanged. Returns if a given bit is set. Returns 1 if the given bit is set in the provided number. The number is rounded to the nearest integer before testing. Bit 0 corresponds to the rightmost bit. Negative bit indices, or bit indices over 63, will always return 0. Combines two numbers with bitwise-xor. Returns the abits and bbits combined with bitwise-or. All operands are rounded to the nearest integer before processing. Combines two numbers with bitwise-and. Returns the abits and bbits combined with bitwise-and. All operands are rounded to the nearest integer before processing. Combines two numbers with bitwise-or. Returns the abits and bbits combined with bitwise-or. All operands are rounded to the nearest integer before processing. Sets or clears a bit in a number. Returns the provided number with the bit corresponding to bit_index being either set if value is not zero, or clear if value is zero. All operands are rounded to the nearest integer before processing. Bit 0 corresponds to the rightmost bit. Negative bit indices, or bit indices over 63, will return the number unchanged. Returns if a given bit is set. Returns 1 if the given bit is set in the provided number. The number is rounded to the nearest integer before testing. Bit 0 corresponds to the rightmost bit. Negative bit indices, or bit indices over 63, will always return 0. Combines two numbers with bitwise-xor. Returns the abits and bbits combined with bitwise-or. All operands are rounded to the nearest integer before processing. Returns the angle at the joint between two bone objects. Returns the smallest integer not less than the value passed in. Returns centroid information for a surface node. The The centroid is the center of the bounding box of the points, not the average position of the points. Returns the value of a parameter. The For example, if you have two Geometry object nodes named Now when you move Channel references let you create custom spare parameters and digital asset interfaces and have them control other nodes, by using channel references to have the nodes inside the subnetwork/asset reference the \"interface\" parameters at the higher level. The first argument to the channel functions is a string path to the parameter whose value you want to get. For parameters on the same node, you can just use the parameter\u2019s internal name. For example, in an object, you could make the object\u2019s X position always match the Y position by setting the Translate Y to the expression: You can find the internal name of a parameter in the tooltip when you hover the mouse over the parameter in the parameter editor. To get a parameter on a different node, you need to make a path to the parameter, similar to UNIX directory paths. For example, to reference the To reference the Returns the floating point value of the given parameter. For example, to get the Origin X of the Returns the floating point value of the given parameter, as computed at the given frame number. Getting a value from a future time requires cooking some or all of the scene up to that time, so this function is potentially expensive. For example, to get the Origin X of the Returns the floating point value of the given parameter, as computed at the given time (in seconds). Getting a value from a future time requires cooking some or all of the scene up to that time, so this function is potentially expensive. For example, to get the Origin X of the Returns the string value of the given parameter. For example, to get the Text of the Returns the \"raw\" string value of the given parameter, without expanding quotes or variable names. For example, if the parameter contains an expression See chsop. See chramp, chrampf, and chrampt. Returns the value of a parameter. The For example, if you have two Geometry object nodes named Now when you move Channel references let you create custom spare parameters and digital asset interfaces and have them control other nodes, by using channel references to have the nodes inside the subnetwork/asset reference the interface parameters at the higher level. The first argument to the channel functions is a string path to the parameter whose value you want to get. For parameters on the same node, you can just use the parameter\u2019s internal name. For example, in an object, you could make the object\u2019s X position always match the Y position by setting the Translate Y to the expression: You can find the internal name of a parameter in the tooltip when you hover the mouse over the parameter in the parameter editor. To get a parameter on a different node, you need to make a path to the parameter, similar to UNIX directory paths. For example, to reference the To reference the Returns the floating point value of the given parameter. For example, to get the Origin X of the Returns the floating point value of the given parameter, as computed at the given frame number. Getting a value from a future time requires cooking some or all of the scene up to that time, so this function is potentially expensive. For example, to get the Origin X of the Returns the floating point value of the given parameter, as computed at the given time (in seconds). Getting a value from a future time requires cooking some or all of the scene up to that time, so this function is potentially expensive. For example, to get the Origin X of the Returns the string value of the given parameter. For example, to get the Text of the Returns the raw string value of the given parameter, without expanding quotes or variable names. For example, if the parameter contains an expression See chsop. See chramp, chrampf, and chrampt. Returns 1 if the specified channel exists, 0 if it doesn\u2019t. The To check if a parameter exists, you can use python scripting: Evaluates a channel with a new segment expression. This can be used to extract in and out segment values, slopes and acceleration using channel expression local variables. Evaluates a channel with a new segment expression at a given frame. This can be used to extract in and out segment values, slopes and acceleration using channel expression local variables. Evaluates a channel within a CHOP at a given sample point. Evaluates the Returns the length of the channels in a CHOP, in samples. Returns the number of data channels within a CHOP. Returns the names of all the data channels within a CHOP. Returns the names of all the data channels within a CHOP. Returns the sample rate of a CHOP. Returns the start index of a CHOP. Returns the string value of a channel within a CHOP at the current time. Returns the value of a ramp parameter at a specific position and frame. When Return second component of the evaluated ramp value at a position of 0.33 at frame 289: Returns the value of a ramp parameter at a specific position and time. When Return second component of the evaluated ramp value at a position of 0.33 at 12 seconds into the scene: Evaluates the string value of a parameter at the current time. This is useful for evaluating\nfilenames in parameters. The string will be expanded automatically. Evaluates the parameter at the current time as a node path string. Assumes the given parameter contains a node path, and automatically takes care of things like bundles and relative paths, returning a string containing an absolute path or a space-separated list of absolute paths. For example, to get the Object node path used by the Evaluates the parameter at the current time as a node path list string. Assumes the given parameter contains a list of node paths, and automatically takes care of things like bundles and relative paths, returning a string containing an absolute path or a space-separated list of absolute paths. It can also expand adhoc bundle strings like For example, to get the Object node path used by the Evaluates the parameter at the current time as a node path string. Assumes the given parameter contains a node path, and automatically takes care of things like bundles and relative paths, returning a string containing an absolute path or a space-separated list of absolute paths. For example, to get the Object node path used by the Evaluates the parameter at the current time as a node path list string. Assumes the given parameter contains a list of node paths, and automatically takes care of things like bundles and relative paths, returning a string containing an absolute path or a space-separated list of absolute paths. It can also expand adhoc bundle strings like For example, to get the Object node path used by the Returns the raw (unexpanded) expression value of a parameter as a string. Variables will NOT be expanded. If the given path\nis a channel, then it returns the expression of the channel that is\nevaluated at the current time. If you do: \u2026this will appear to lose your formatting because hscript expands\ndouble quotes before passing the result of the backtick expression\nto the echo command. Multiple levels of escaping is necessary in\norder to maintain them. Returns the value of a parameter at a specified time. Returns a value clamped between a minimum and maximum. This is useful to prevent the value from\ngoing outside the specified range. If the value is less than the minimum number, the minimum number\nwill be returned. If the value is greater than the maximum number, the\nmaximum number will be returned. Clamps a vector to always end between a minimum and maximum sphere. This function computes a vector R that is parallel to the given (x,y,z)\nvector. R is adjusted so that its magnitude is always between the min\nand max radii (i.e min_radius \u2264 |R| \u2264 max_radius) This function returns one of the components of the vector R according\nto the value of Clamps a vector to always end between a minimum and maximum sphere. This function computes a vector R that is parallel to the given (x,y,z)\nvector. R is adjusted so that its magnitude is always between the min\nand max radii (i.e min_radius \u2264 |R| \u2264 max_radius) This function returns one of the components of the vector R according\nto the value of Channel segment function: constant value. Returns the value of context option as a floating point value. Retrieves the current value of a context option. This may have been set\nby a node requesting data from another node, or from the global default\ncontext option values stored in the HIP file. This function only returns floating-point number values.\nFor string values, you must use contextoptions. You can get also get the value of a context option in an expression\n using Returns a cook context option as a string value. Retrieves the current value of a context option. This may have been set\nby a node requesting data from another node, or from the global default\ncontext option values stored in the HIP file. This function only returns string values.\nFor floating-point values, you must use contextoption. You can get also get the value of a context option in an expression\n using Returns the value of context option as a floating point value. Retrieves the current value of a context option. This may have been set\nby a node requesting data from another node, or from the global default\ncontext option values stored in the HIP file. This function only returns floating-point number values.\nFor string values, you must use contextoptions. You can get also get the value of a context option in an expression\n using Returns a cook context option as a string value. Retrieves the current value of a context option. This may have been set\nby a node requesting data from another node, or from the global default\ncontext option values stored in the HIP file. This function only returns string values.\nFor floating-point values, you must use contextoption. You can get also get the value of a context option in an expression\n using Tests if metadata exists on a compositing node. Metadata can be added to sequences with a Metadata COP.\nThis expression function queries if the metadata with Tests if a plane exists on a compositing node. This expression function queries if the plane with Returns numeric metadata from a compositing node. Metadata can be added to sequences with a Metadata COP.\nThis expression function will return the value of numeric metadata, such as\nfloating point values, vectors, and matrices. The index is used to access\nthe element to return for types with multiple values, such as vector and matrix\ntypes. Returns string metadata from a compositing node. Metadata can be added to sequences with a Metadata COP.\nThis expression function will return the value of string (text) metadata Returns the cosine of the argument. Channel segment function: repeats the animation between frames Each repeated portion will have its first value set\nto the last value of the previous cycle. The rest of the values are set\nsuch that their relative increments with respect to the first value\nmatch the relative increments in the channel interval between If Channel segment function: repeats the animation between times Each repeated portion will have its first value set\nto the last value of the previous cycle. If you wish to repeat motion\nexactly, use the cyclet function instead. If Channel segment function: repeats animation from previous frames. Repeats the animation from If you wish to repeat the animation cumulatively, use\nthe cycleoffsett function instead. Decodes a variable name that was previously encoded. Houdini VEX variable names are only allowed to contain letters, numbers, and\nunderscores, and must not begin with a number. Arbitrary strings can be passed\nthrough the Decodes a geometry attribute name that was previously encoded. Houdini geometry attributes and group names are only allowed to contain\nletters, numbers, and underscores, and must not begin with a number. Arbitrary\nstrings can be passed through the Decodes a node parameter name that was previously encoded. Houdini parameter names are only allowed to contain letters, numbers, hash\ncharacters (for multiparms), and underscores, and must not begin with a\nnumber. Arbitrary strings can be passed through the Decodes a variable name that was previously encoded. Houdini VEX variable names are only allowed to contain letters, numbers, and\nunderscores, and must not begin with a number. Arbitrary strings can be passed\nthrough the Decodes a geometry attribute name that was previously encoded. Houdini geometry attributes and group names are only allowed to contain\nletters, numbers, and underscores, and must not begin with a number. Arbitrary\nstrings can be passed through the Decodes a node parameter name that was previously encoded. Houdini parameter names are only allowed to contain letters, numbers, hash\ncharacters (for multiparms), and underscores, and must not begin with a\nnumber. Arbitrary strings can be passed through the Converts from radians to degrees. Returns the degree a specified face or hull. Polygons and meshes are expressed as\nlinear functions, so their degree is 1. Spline types \u2013 NURBS and Bezier\ncurves and surfaces \u2013 have degrees ranging from 1 to 10. If the primitive is a polygon or a curve, D_U and D_V are\n irrelevant. Returns the value of a detail attribute. This expression may not work if This can also be used to read the value of a detail intrinsic by specifying\n Components of dictionary attributes can be resolved using Returns the total area of the geometry, if the geometry had first\nbeen measured and then AttribPromote had promoted the area primitive\nattribute to a detail attribute with Sum as the promotion method. Returns a space-separated list of detail attribute names. Returns the number of components in a detail attribute. If the surface node or attribute is not found, returns 0. Returns the number of elements in a \"pCaptData\" attribute. Returns a space-separated list of detail attribute names. Returns the number of components in a detail attribute. If the surface node or attribute is not found, returns 0. Returns the number of elements in a pCaptData attribute. Returns the type of a detail attribute. If the surface node or attribute are not found, returns -1. Returns 1 to denote a float attribute. Returns the string value of a detail attribute. This can also be used to read the value of a detail intrinsic by specifying\n Components of dictionary attributes can be resolved using Returns the currently bound index attribute\u2019s value. Returns a string from a list of strings in a detail attribute. This function will return the Returns the first variable mappings on the given surface node. Returns the determinant of a matrix. This is only valid for a 4\u00d74 or 3\u00d73 matrix.\nIf the matrix is larger than 4\u00d74, the\n4\u00d74 determinant will be returned. If the matrix is smaller than 3\u00d73, the\nmatrix will be converted to a 3\u00d73 before the determinant is computed.\nThe results of the upward conversion are not guaranteed. Computes the dihedral matrix between vectors This returns a rotation matrix which will rotate vector v0 to vector v1. Returns the distance between two 3D points. A.K.A. Returns a space separated list of all the field names that can be\npassed to the dopfield function. This list is not the same as the values\nreturned from the dopfieldname function because it includes all the\nsubvalues that can be accessed. For example if there is a vector field\nnamed \"t\", the dopfieldname function would simply return \"t\". This\nfunction would return \"tx ty tz\" (along with all the other field names).\nNote that \"t\" is not even in this list because dopfield returns a single\nfloat value and so cannot access a vector like \"t\" directly. Returns all the field name values that can be passed to the dopfield\n function. This list would begin \"angvelx angvely angvelz \u2026\". Returns the full path of the node connected to a dopnetwork. This differs from Returns a space separated list of all the field names that can be\npassed to the dopfield function. This list is not the same as the values\nreturned from the dopfieldname function because it includes all the\nsubvalues that can be accessed. For example if there is a vector field\nnamed t, the dopfieldname function would simply return t. This\nfunction would return tx ty tz (along with all the other field names).\nNote that t is not even in this list because dopfield returns a single\nfloat value and so cannot access a vector like t directly. Returns all the field name values that can be passed to the dopfield\n function. This list would begin angvelx angvely angvelz \u2026. Returns the full path of the node connected to a dopnetwork. This differs from Returns the number of records of a given type in a piece of\ndynamics data. Returns the number of slices an object should be broken into given\n the set of slices stored in the given data name. Each slice\n divides space into two, but the hierarchy of slices can make\n computation of the total more tricky, hence this function. Returns the number of logical slices object1 should be broken into\n given the slice data stored as subdata to Slice. Returns the value of a field as a float. This function always returns a float value. To get a string value\n(which you can possibly then convert to a different type, using for\nexample vector), see dopfields. If a field is multivalued, you can access individual parameters\nby adding a suffix. For example, When accessing subdata, the name of the data field is based\non the name of the node that creates it. The complete\npath to the subdata must be provided. See the example below. Returns the y position of object obj0 Returns the ry component of the orientation of object obj0. This\n will be in degrees. Returns the memory usage of a dynamics relationship Returns the y component of the gravity force created by the Gravity\n Force node named gravity1. Note that the full path must be given,\n including the relevant node name, and that this path corresponds to\n the folder names in the tree view of the DOP network. Returns the name of a DOP field. Returns the name of the Returns the name of the fourth field of the Options record of the\n Position subdata owned by obj0. Returns the value of a DOP field as a string. Since this function returns values as a string, it allows you to convert\ncomplex types such as vectors to the native type using the\nvector expression function. See dopfield for more information. Gets the position of the object as a string and converts it into a\nvector. Returns the name of the first object involved in a spring constraint relationship\n(e.g. Returns the name of the first relationship on an object\n(e.g. Returns the type of a DOP field. Returns the type of the Possible types are: \"string\", \"float\", \"vector2\", and \"vector3\". Returns the type of the third field of the Options record of the\n Position data attached to object obj0. Returns the type of a DOP field. Returns the type of the Possible types are: string, float, vector2, and vector3. Returns the type of the third field of the Options record of the\n Position data attached to object obj0. Returns the current frame of the simulation. This will often be equal to the global frame $F, unless the Time Scale\nor Offset Time parameters of the DOP Network have been changed from\ntheir default values. Returns the simulation time equivalent of a simulation frame. Returns 1 if a specified DOP group contains a specified object. Returns 1 if group1 contains an object named rbdobject. Returns 1 if a specified DOP group is mutually affecting. Returns 1 if group1 is a mutual affector objects. returns a string containing a list of all object groups\nfor the current time in a specified DOP Network. Returns a string such as \"group1 group2 rbdsolver1\". returns a string containing a list of all object groups\nfor the current time in a specified DOP Network. Returns a string such as group1 group2 rbdsolver1. Returns 1 if a specified DOP field exists. This expression can be used before the dopfield or dopfields\nexpressions to ensure that any returned empty strings or zero values are\nin fact true values as opposed to default values being returned for an\ninvalid field name. Returns 1, because Position data has an option with the name ty. Returns 0 because notafield is not a field name in the Position data\n options. Returns 1 if a dynamics object has the specified subdata. Returns true if obj0's Geometry data has the Volume subdata attached\n to it. Returns the list of objects processed by a DOP in the latest timestep. Returns a string containing a space-separated list of object identifies. Returns a list of identifiers for all objects in the /obj/dopnet1\n DOP Network. Since no specific DOP node is specified, the node with\n the display flag is used. Returns the number of fields in a DOP record type. The \"Options\" record type, for example, usually has one field for every\nparameter in the DOP Node that creates that data type. Returns the number of different fields that the \"Options\" record has\n in the \"Position\" data owned by \"obj0\". Returns the number of fields in a DOP record type. The Options record type, for example, usually has one field for every\nparameter in the DOP Node that creates that data type. Returns the number of different fields that the Options record has\n in the Position data owned by obj0. returns the number of objects in a simulation. Returns the number of objects in the dopnet with names prefixed by\n foo. Returns the number of records of a given type in a piece of\ndynamics data. Note that this is different than the number of fields. The\nPosition/Options data type usually has one record that has several\nfields, such as \"position\" and \"orientation\". Returns the number of records in the record type called \"Impacts\"\n found in the data called \"Impacts\", which is owned by the object\n \"object1\" Returns the number of types of record in a piece of dynamics data. Most subdata contains at least the records \"Basic\" and \"Options\" Returns the number of record types that the Position data attached\n to object1 has. Returns the number of records of a given type in a piece of\ndynamics data. Note that this is different than the number of fields. The\nPosition/Options data type usually has one record that has several\nfields, such as position and orientation. Returns the number of records in the record type called Impacts\n found in the data called Impacts, which is owned by the object\n object1 Returns the number of types of record in a piece of dynamics data. Most subdata contains at least the records Basic and Options Returns the number of record types that the Position data attached\n to object1 has. Returns the number of subdata items attached to an object or data. Returns the number of data items attached to obj0. Returns the number of data items attached to obj0/Geometry. Returns all objects matching the an object specification. Returns a string containing a space-separated list. If the Object names are easier to read, but may not uniquely identify each object. Returns a string such as \"obj1 obj2 object1 objectfoo\". Returns all objects matching the an object specification. Returns a string containing a space-separated list. If the Object names are easier to read, but may not uniquely identify each object. Returns a string such as obj1 obj2 object1 objectfoo. Tests whether a set of objects has an affector relationship with\nanother object. Returns 1 if all the objects specified by\nthe affectors argument are affectors of the single object specified with\nthe objectSpec argument. Returns one if obj2 and obj3 are affectors of obj1. Returns the list of objects created by a particular DOP node. Returns a string containing a space-separated list of object identifies. Returns a list of identifiers for all objects created by the\n rbdglueobject1 DOP node. Returns the value of a DOP field as a float. If a field is multivalued, you can access individual parameters by\nadding a suffix. For example, \"positiony\" will access the y component of the \"position\"\nfield. If the field is a quaternion, one can use \"rx\", \"ry\", and \"rz\" as\nextensions to get the euler rotations for the quaternion. This function is exactly the same as the dopfield function except the\nfourth and fifth arguments are always \"Options\" and \"0\" respectively. Returns the y position of object obj0 Returns the ry component of the orientation of object obj0. This\n will be in degrees. Returns the value of a DOP field as a string. This allows complex types such as vectors to be converted to the\nnative type using the vector expression. This function is exactly the same as the dopfields function except the\nfourth and fifth arguments are always \"Options\" and \"0\" respectively. Gets the position of the object as a string and converts it into a\n vector. Returns the value of a DOP field as a float. If a field is multivalued, you can access individual parameters by\nadding a suffix. For example, positiony will access the y component of the position\nfield. If the field is a quaternion, one can use rx, ry, and rz as\nextensions to get the euler rotations for the quaternion. This function is exactly the same as the dopfield function except the\nfourth and fifth arguments are always Options and 0 respectively. Returns the y position of object obj0 Returns the ry component of the orientation of object obj0. This\n will be in degrees. Returns the value of a DOP field as a string. This allows complex types such as vectors to be converted to the\nnative type using the vector expression. This function is exactly the same as the dopfields function except the\nfourth and fifth arguments are always Options and 0 respectively. Gets the position of the object as a string and converts it into a\n vector. Returns the name of a record in DOPs data given its index. Returns the name of the Returns the name of the first record type of the Volume data which\n is attached to the Geometry data of obj0. Script solver support function. This function returns the full path of the DOP Network that contains\nthe script solver that is currently running. This is one of a set of expression functions for use by the Script\nSolver DOP. Calling this function will return an\nempty string if it is called when a script solver is not currently\nsolving for objects. Script solver support function. This function is similar to dopsolveobject, except it returns the newly created\nobjects that need to be initialized from a script solver. The object index\nmust be greater than or equal to zero, and less than the return value of\ndopsolvenumnewobjects. Outputs the unique object ids of all the objects being initialized by the\n current script solver. Script solver support function. Returns the timestep size for the script solver that is\ncurrently running. This is one of a set of expression functions for use by the Script\nSolver DOP. Calling this function will return\nzero if it is called when a script solver is not currently solving for\nobjects. returns the simulation frame of a given simulation time. Returns the global time of a given simulation time. Returns the name of a subdata of a given DOP object. Returns the name of the first data attached to the object foobar. Returns the name of the 4th subdata attached to the object foobar\u2019s\n data \"Geometry\". Returns the name of a subdata of a given DOP object. Returns the name of the first data attached to the object foobar. Returns the name of the 4th subdata attached to the object foobar\u2019s\n data Geometry. Returns the current time of a simulation. This will often be equal to the global time $T,\nunless the Time Scale or Offset Time\nparameters of the DOP Network have been changed from their default\nvalues. Returns a transformation matrix associated with a piece of data. The data must be either Position data or Geometry data.\nFor Geometry data, if the data name is \"Geometry\", then the transform\nfor any Position data attached to the object is also applied. Thus this\nfunction can be used to transform a point position from the space of the\nraw geometry to simulation space. Returns a matrix which is the product of the transform in the\n Geometry data multiplied by the transform of any Position data on\n the object. Returns a transformation matrix associated with a piece of data. The data must be either Position data or Geometry data.\nFor Geometry data, if the data name is Geometry, then the transform\nfor any Position data attached to the object is also applied. Thus this\nfunction can be used to transform a point position from the space of the\nraw geometry to simulation space. Returns a matrix which is the product of the transform in the\n Geometry data multiplied by the transform of any Position data on\n the object. Returns the simulation time equivalent to a given global time. This is similar to the doptime expression except\nfor the ability to specify a global time other than the current time. Returns the velocity that a point at a location in simulation space\nwould have if it were attached to a DOP object. This velocity calculation takes into account the velocity and angular\nvelocity of the simulation object as stored in its Position data. Setting the usevolumevelocity argument to a non-zero value causes the\nreturned velocity to be affected by a geometry space velocity calculated\nfrom changes in the volumetric representation of the geometry. Setting the usepointvelocity argument to a non-zero value causes the\nreturned velocity to be affected by the velocity attribute on the\ngeometry for the object. The geometry velocity attribute is added to the\nresult as a geometry space velocity which is added to the velocity from\nthe Position data. If both usedsdfvelocity and usepointvelocity are\nnon-zero, then the sdf velocity is used, not the point velocity. Returns the simulation space velocity of point 0 of the geometry\n attached to obj0, taking into account any velocity attribute on the\n geometry. Computes the dot product of two vectors. Channel segment function: ease-out with configurable acceleration. Similar to the easeinp\nexpression only reversed. The change starts rapidly and begins to slow\nuntil it comes to rest. The Eases out of a fairly high initial speed. Channel segment function: ease-in and -out with configurable acceleration. This is a channel expression function which will gradually ease in to\nthe motion and gradually ease out. The Eases in slowly and eases out quickly. Eases in quickly and eases out slowly. Returns the list of edge groups in a surface node. The returned string is a space separated list of group names. To get a list of groups whose names match a pattern, use\nedgegroupmask. Returns the list of edge groups matching a pattern in a surface node. The returned string is a space separated list of group names. To simply get a list of all edge groups (no pattern),\nuse edgegrouplist. Returns the names of all edge groups in the specified surface node which\n start with \"group\". So this may be something like \"group1 group2\n group_smoke\". Encodes any string into a valid variable name. Houdini VEX variable names are only allowed to contain letters, numbers, and\nunderscores, and must not begin with a number. This method takes any string,\nand encodes it into a string that obeys these restrictions. The original\nstring can be recovered using the One exception to this rule is that a string starting with Encodes any string into a valid geometry attribute name. Houdini geometry attributes and group names are only allowed to contain\nletters, numbers, and underscores, and must not begin with a number. This\nmethod takes any string, and encodes it into a string that obeys these\nrestrictions. The original string can be recovered using the One exception to this rule is that a string starting with Encodes any string into a valid node parameter name. Houdini parameter names are only allowed to contain letters, numbers, hash\ncharacters (for multiparms), and underscores, and must not begin with a\nnumber. This method takes any string, and encodes it into a string that obeys\nthese restrictions. The original string can be recovered using the\n One exception to this rule is that a string starting with Returns the list of edge groups matching a pattern in a surface node. The returned string is a space separated list of group names. To simply get a list of all edge groups (no pattern),\nuse edgegrouplist. Returns the names of all edge groups in the specified surface node which\n start with group. So this may be something like group1 group2\n group_smoke. Encodes any string into a valid variable name. Houdini VEX variable names are only allowed to contain letters, numbers, and\nunderscores, and must not begin with a number. This method takes any string,\nand encodes it into a string that obeys these restrictions. The original\nstring can be recovered using the One exception to this rule is that a string starting with Encodes any string into a valid geometry attribute name. Houdini geometry attributes and group names are only allowed to contain\nletters, numbers, and underscores, and must not begin with a number. This\nmethod takes any string, and encodes it into a string that obeys these\nrestrictions. The original string can be recovered using the One exception to this rule is that a string starting with Encodes any string into a valid node parameter name. Houdini parameter names are only allowed to contain letters, numbers, hash\ncharacters (for multiparms), and underscores, and must not begin with a\nnumber. This method takes any string, and encodes it into a string that obeys\nthese restrictions. The original string can be recovered using the\n One exception to this rule is that a string starting with Evaulates a string as an expression returning a float. Useful for evaluating variables which contain more complex\nexpressions. Returns a floating point value. Evaulates a string as an expression returning a string. Useful for evaluating variables which contain more complex\nexpressions. This function returns a string value. Runs a string as an HScript command and returns the command\u2019s output. Returns a string containing the regular output of the command,\nbut not the error output. Runs a string as an HScript command and returns the\ncommand and error output. Returns a string containing\nboth the regular and error output of the command, separated by Runs a string as an HScript command and returns any error output. Returns a string containing\nthe error output of the command, but not the regular output. Returns the logarithmic exponentiation of the argument. Explodes a 3\u00d73 or 4\u00d74 matrix into the euler rotations required to\nrebuild it. The returned components can be stuffed directly into Houdini\nrotation, scale, and translate channels. If you know the pivot point for the transformation, you may want to use the\nexplodematrixp or explodematrixpr functions instead. Explodes a 3\u00d73 or 4\u00d74 matrix into the euler rotations required to\nrebuild it. The returned components can be stuffed directly into Houdini\nrotation, scale, and translate channels. This expression is exactly like\nexplodematrix, except it requires you to specify a pivot position\nvector. This is useful if you know the pivot position of the matrix\nbeing processed. Use explodematrixpr if you know the pivot rotation\nof the matrix being processed. Explodes a 3\u00d73 or 4\u00d74 matrix into the euler rotations required to\nrebuild it. The returned components can be stuffed directly into Houdini\nrotation, scale, and translate channels. This expression is exactly like\nexplodematrixp, except it allows you to specify a pivot rotation. This\nis useful if you know the pivot rotation in addition to the pivot position of\nthe matrix being processed. Explodes a 3\u00d73 or 4\u00d74 matrix into the euler rotations required to\nrebuild it. The returned components can be stuffed directly into Houdini\nrotation, scale, and translate channels. If you know the pivot point for the transformation, you may want to use the\nexplodematrixp or explodematrixpr functions instead. Explodes a 3\u00d73 or 4\u00d74 matrix into the euler rotations required to\nrebuild it. The returned components can be stuffed directly into Houdini\nrotation, scale, and translate channels. This expression is exactly like\nexplodematrix, except it requires you to specify a pivot position\nvector. This is useful if you know the pivot position of the matrix\nbeing processed. Use explodematrixpr if you know the pivot rotation\nof the matrix being processed. Explodes a 3\u00d73 or 4\u00d74 matrix into the euler rotations required to\nrebuild it. The returned components can be stuffed directly into Houdini\nrotation, scale, and translate channels. This expression is exactly like\nexplodematrixp, except it allows you to specify a pivot rotation. This\nis useful if you know the pivot rotation in addition to the pivot position of\nthe matrix being processed. Searches the Houdini path for a file. The filename specified should be relative to one of the paths specified in the Searches the Houdini path for a file or directory. Searches the houdini path for the specified file or\ndirectory, returning a list of all the matches separated by the\nspecified separator. It is handy to use a separator of Fits a value from one range to another. Return a number between newmin and newmax that is relative to num in\nthe range between oldmin and oldmax. If the value is outside the old\nrange, it will be clamped to the new range. Fits a number in the 0-1 range. Return a number between newmin and newmax that is relative to num in\nthe range between 1 and 0. If the value is outside the 1 and 0 it will\nbe clamped to the new range. Fits a number to the -1 to 1 range. Return a number between newmin and newmax that is relative to num in\nthe range between -1 and 1. If the value is outside the -1 to 1 it will\nbe clamped to the new range. Returns the largest integer not greater than a number. Returns a string padding a number to a given length with zeros. Returns a string containing Negative numbers will be prefixed with a minus sign. Returns the fractional part of a floating-point number. The fractional\ncomponent is computed using the expression Converts a number to a string. Type conversion is usually done automatically.\nHowever, you may wish to use this to force the conversion. Converts a number to a string. Type conversion is usually done automatically. However, you may wish to use this to force the conversion. The Converts a number to a string. Type conversion is usually done automatically. However, you may wish to use this to force the conversion. The Returns a string describing the set of elements with a given value for an integer attribute. The Returns a string describing the set of primitives with a value of 1\n for the Returns a string describing the set of elements with a given value for a string attribute. The Returns a string describing the set of primitives with a value of Returns a non-zero value if the specified context option exists. Checks if the provided context option exists in the current cook context. This\nvalue may have been set by a node requesting data from another node, or it may\nbe set as a global default context option stored in the hip file. This function just tests if the context option exists. To get the value of the\ncontext option use contextoption or contextoptions. Returns a non-zero value if the specified context option exists. Checks if the provided context option exists in the current cook context. This\nvalue may have been set by a node requesting data from another node, or it may\nbe set as a global default context option stored in the hip file. This function just tests if the context option exists. To get the value of the\ncontext option use contextoption or contextoptions. Returns 1 if a specified detail attribute exists. This can also be used to determine if a key exists in a detail-level\ndictionary attribute. Returns 1 if the active PDG work item has the specified attribute. Returns 1 if a specified point is in a specified group. The function will return 0 if the group is a primitive group. Returns 1 if the group \"ears\" contains point number 4, otherwise\n returns 0. Returns 1 if the active PDG work item has the specified attribute. Returns 1 if a specified point is in a specified group. The function will return 0 if the group is a primitive group. Returns 1 if the group ears contains point number 4, otherwise\n returns 0. Returns 1 if a specified point attribute exists. Returns 1 if a specified primitive is in a specified group. The function will return 0 if the group is a point group. Returns 1 if the group \"ears\" contains primitive number 3, otherwise\n returns 0. Returns 1 if a specified primitive is in a specified group. The function will return 0 if the group is a point group. Returns 1 if the group ears contains primitive number 3, otherwise\n returns 0. Returns 1 if a specified primitive attribute exists. Returns 1 if a specified vertex attribute exists. Converts a hexadecimal argument string into an integer. Returns 161. Returns the sample rate of a CHOP\u2019s input. Returns the start index of a CHOP\u2019s input. Creates an identity matrix. The resulting identity matrix will have Returns the value of the second or third argument depending on the\ntruth of the first argument. This is a function, which means all parameters to the function are\n evaluated. So something like if($F > 1, system('echo 1'),\n system('echo 2')) will result in both system calls being run\n regardless of the result of the expression. When the current frame number ( Returns the value of the second or third argument depending on the\ntruth of the first argument. This is a function, which means all parameters to the function are\n evaluated. So something like if($F > 1, system('echo 1'),\n system('echo 2')) will result in both system calls being run\n regardless of the result of the expression. See also using an if statement in a multiline expression When the current frame number ( Returns the string value of the second or third argument depending on the\ntruth of the first argument. This is a function, which means all parameters to the function are\n evaluated. So something like ifs($F > 1, system('echo one'),\n system('echo two')) will result in both system calls being run\n regardless of the result of the expression. When the current frame number ( Finds the first occurrence of a pattern in a string. Returns the number of characters before Prints 2 Prints 4 Finds the first occurrence of a pattern in a string. Returns the number of characters before Prints 2 Prints 4 Returns the point number currently being instanced onto. This function takes no arguments. You can use this function in\nparameter expressions on objects being instanced\n(see point instancing). It returns the point\nnumber the object is being instanced onto. You can use this to\nvary object-level parameters (such as transforms or material\noverrides) between instances. You can not use this function at the surface level, because\ninstancing only works at the object level. Converts a number to an integer by truncating any fractional part. Converts a number into a hexadecimal string. Returns \"0000007B\" Converts a number into a hexadecimal string. Returns 0000007B Inverts a matrix. This is only valid if the matrix is a 4\u00d74 or\n3\u00d73 matrix. If the matrix is larger than 4\u00d74, the matrix will be\nconverted to a 4\u00d74 matrix before it is inverted. If the matrix is\nsmaller than 3\u00d73, the matrix will be enlarged to a 3\u00d73 matrix before it\nis inverted. The results of enlarging the matrix to a 3\u00d73 are not\nguaranteed. Queries numeric (floating point) data from an interactive render pane. Use iprquerys to query textual (string) information. The The The Returns the left, right, top, or bottom values of the currently\n selected crop region. Returns the index of the given plane if it exists in the rendered\n image, or -1 if it does not. Returns 1 if the IPR button is on, or 0 if it is off. Returns 1 if the lock button is on (prevents automatic\n re-rendering), or 0 if it is off. Returns the number of deep raster planes in the current image. Point number of the instance object (see \"Object queries\" below)\n that contributed the pixel at Primitive number of the geometry object (see \"Object queries\" below)\n that contributed the pixel at Returns the index of the deep raster plane named Returns the vector size of the plane at the index specified by the\n (The Returns the value of the pixel component at If you don\u2019t specify a component name ( You can also use horizontal or vertical resolution of the image in the interactive\n render viewer. The queries beginning with Queries textual (string) data from an interactive render pane. Use iprquery to query numeric (floating point) information. The The The Full path of the instanced object that contributed the pixel at\n Full path of the geometry object that contributed the pixel at\n Full path of the surface shader that contributed the pixel at Full path of the displacement shader that affected the pixel at\n Returns the name of the plane at the index specified by the (The Returns the full path of the output driver node displayed in the\n interactive render pane. The queries beginning with Queries numeric (floating point) data from an interactive render pane. Use iprquerys to query textual (string) information. The The The Returns the left, right, top, or bottom values of the currently\n selected crop region. Returns the index of the given plane if it exists in the rendered\n image, or -1 if it does not. Returns 1 if the IPR button is on, or 0 if it is off. Returns 1 if the lock button is on (prevents automatic\n re-rendering), or 0 if it is off. Returns the number of deep raster planes in the current image. Point number of the instance object (see Object queries below)\n that contributed the pixel at Primitive number of the geometry object (see Object queries below)\n that contributed the pixel at Returns the index of the deep raster plane named Returns the vector size of the plane at the index specified by the\n (The Returns the value of the pixel component at If you don\u2019t specify a component name ( You can also use horizontal or vertical resolution of the image in the interactive\n render viewer. The queries beginning with Queries textual (string) data from an interactive render pane. Use iprquery to query numeric (floating point) information. The The The Full path of the instanced object that contributed the pixel at\n Full path of the geometry object that contributed the pixel at\n Full path of the surface shader that contributed the pixel at Full path of the displacement shader that affected the pixel at\n Returns the name of the plane at the index specified by the (The Returns the full path of the output driver node displayed in the\n interactive render pane. The queries beginning with Returns 1 if a primitive is closed. This is the same as iswrapu, and\nworks on polygonal, NURBS, and Bezier curves and surfaces. Returns 1 if a specified point has collided with something. Returns 1 if a specified Houdini environment variable exists. Checks only houdini variables to see if Returns a value that cannot be changed. This function simply returns the value of its argument. However, it is\nspecial in that if an expression is enclosed in a lock function, then\nits values cannot be changed, until the lock expression is removed. Returns the natural logarithm of the argument. Returns the base 10 logarithm of the argument. Returns the path of the USD primitive last modified by an input to a LOP node. See loplastmodifiedprim for more information about the last modified\nprimitive value. Returns the paths of the USD primitives last modified by an input to a LOP node. See loplastmodifiedprims for more information about the last modified\nprimitives value. Returns the path of the USD primitive last modified by a LOP node. LOP nodes may set the path to the USD primitive most recently modified by\nthe node. For example a LOP node that creates a USD primitive would set\nthis value to the newly created USD primitive. A LOP node which edits a\nUSD primitive may set it to the path of the modified primitive. This\nexpression function returns this stored USD primitive path for the node\nspecified by the Using this expression function it is easy to create and edit scene graph\nhierarchies without using complex channel referencing expressions. Returns the paths of the USD primitives last modified by a LOP node. LOP nodes may set the paths to the USD primitives most recently modified by\nthe node. For example a LOP node that creates a USD primitive would set\nthis value to the newly created USD primitive. A LOP node which edits several\nUSD primitives may set it to the paths of all the modified primitives. This\nexpression function returns these stored USD primitive paths for the node\nspecified by the If more than one primitive was modified by the LOP node, the paths are\nreturned in a single string separated by spaces. Using this expression function it is easy to create and edit scene graph\nhierarchies without using complex channel referencing expressions. Returns the paths of the parents of the supplied list of USD primitives. This function takes a space separated list of primitive paths as an argument,\nand returns a space separated list of the paths to the parents of the\nprimitives. Requesting the parent of the root primitive return an empty string.\nAny input paths that are not absolute paths are ignored. Returns the paths at a particular location relative to the supplied list of USD primitives. This function takes a space separated list of primitive paths as an argument,\nand returns a space separated list of the paths generated by appending the\nrelative path argument to each input path. Any input paths that are not\nabsolute paths are ignored. Channel segment function: matches the incoming and outgoing slopes. The curve will move smoothly from the in coming value to\nthe out going value. Returns the path of the USD primitive last modified by an input to a LOP node. See loplastmodifiedprim for more information about the last modified\nprimitive value. Returns the paths of the USD primitives last modified by an input to a LOP node. See loplastmodifiedprims for more information about the last modified\nprimitives value. Returns the path of the USD primitive last modified by a LOP node. LOP nodes may set the path to the USD primitive most recently modified by\nthe node. For example a LOP node that creates a USD primitive would set\nthis value to the newly created USD primitive. A LOP node which edits a\nUSD primitive may set it to the path of the modified primitive. This\nexpression function returns this stored USD primitive path for the node\nspecified by the Using this expression function it is easy to create and edit scene graph\nhierarchies without using complex channel referencing expressions. Returns the paths of the USD primitives last modified by a LOP node. LOP nodes may set the paths to the USD primitives most recently modified by\nthe node. For example a LOP node that creates a USD primitive would set\nthis value to the newly created USD primitive. A LOP node which edits several\nUSD primitives may set it to the paths of all the modified primitives. This\nexpression function returns these stored USD primitive paths for the node\nspecified by the If more than one primitive was modified by the LOP node, the paths are\nreturned in a single string separated by spaces. Using this expression function it is easy to create and edit scene graph\nhierarchies without using complex channel referencing expressions. Returns the paths of the parents of the supplied list of USD primitives. This function takes a space separated list of primitive paths as an argument,\nand returns a space separated list of the paths to the parents of the\nprimitives. Requesting the parent of the root primitive return an empty string.\nAny input paths that are not absolute paths are ignored. Returns the paths at a particular location relative to the supplied list of USD primitives. This function takes a space separated list of primitive paths as an argument,\nand returns a space separated list of the paths generated by appending the\nrelative path argument to each input path. Any input paths that are not\nabsolute paths are ignored. Channel segment function: matches the incoming and outgoing values. The curve will move smoothly from the incoming value to the outgoing value. Channel segment function: matches the incoming slope. Channel segment function: matches the outgoing slope. Converts a string specification into a matrix. The string should start with a square bracket,\nfollowed by a series of rows (specified as vector\npatterns - see the vector function), followed by a trailing square\nbracket. To access a row out of the matrix, use the square bracket operator. Returns the number of primitives in a surface node. Returns -1 if the surface node cannot be cooked. Returns the number of primitives in the specified group. Returns -1 if the surface node cannot be cooked\nor 0 if the group does not exist. Returns the number of unique values for an integer or string attribute in a surface node. The Returns the number of unique values for the primitive attribute Returns the number of vertices in a geometry. Returns -1 if the surface node cannot be cooked. Returns the number of vertices in the specified group. Returns -1 if the surface node cannot be cooked\nor 0 if the group does not exist. Returns the current global kinematic override setting for bone objects. This is equivalent to running the objkinoverride\ncommand without any arguments. Return values are: Returns a list of lights matching an object\u2019s light mask. This is a slightly more general form of the oplightmask function. Returns a string containing a space separated list of path names. The options allow some control over how the light names are generated.\nCurrently, options include: Generate full path names for the lights. If this option is excluded,\n the path names will be generated relative to /obj Ignore ambient lights. Only include ambient lights. Returns all the lights in /obj/geo1's light-mask. Any ambient lights\n will be excluded from the expanded string, and the paths generated\n will be the full path name of the light. The string might look\n something like \"/obj/light1 /obj/light2 /obj/subnet1/light1\". Returns a list of lights matching an object\u2019s light mask. This is a slightly more general form of the oplightmask function. Returns a string containing a space separated list of path names. The options allow some control over how the light names are generated.\nCurrently, options include: Generate full path names for the lights. If this option is excluded,\n the path names will be generated relative to /obj Ignore ambient lights. Only include ambient lights. Returns all the lights in /obj/geo1's light-mask. Any ambient lights\n will be excluded from the expanded string, and the paths generated\n will be the full path name of the light. The string might look\n something like /obj/light1 /obj/light2 /obj/subnet1/light1. Computes the rotation vector\nof a lookat from one object to another. Returns the rotation parameter for Rx to get null1 to look at null2 Returns an object\u2019s pre-transform matrix. Returns the pretransform matrix for /obj/bone1. Returns the value of a CHOP\u2019s output at a specific sample index. Queries the current OpenCL device with the provided flag This function queries the current OpenCL device and returns the numeric value\nof the specified flag. Internally this function calls the OpenCL Some useful flags include: The full list of flags supported is as follows: Queries the current OpenCL device with the provided flag This function queries the current OpenCL device and returns the numeric value\nof the specified flag. Internally this function calls the OpenCL Some useful flags include: The full list of flags supported is as follows: Returns a pseudo-random number between 0 and 1. Using the same It is a good idea to use non-integer values as the argument to\n oldrand(). This function is similar to rand() but uses a different\n algorithm for generating the random numbers. Returns the full paths of all operators in a bundle. Returns a string containing a space separated list of paths. Returns the creator of this node. Returns Returns the numeric suffix of a node name. This function will return the numeric value of the last set of\nconsecutive digits in a node\u2019s name. Returns 1 if the specified node, group, or bundle exists. Returns a list nodes with a particular flag set. The Display Flag Render Flag Template Bypass Lock. Expose Highlight Footprint This should be the save data in a motion file flag. However, for\n backwards compatibility it is aliased to the pick flag. Use of \"s\"\n should be replaced with \"p\" Unload data after cook (surface nodes and CHOPs only). This should be the compress icon flag. However, for backwards\n compatibility it is aliased to the \"C\" flag. Use of \"c\" should be\n replaced by \"C\". Current Picked Display descriptive parm. Output For View. The following flags are only available for objects: Selectable in viewport Object pivot axes Xray The following flags are only available for CHOPs. Audio Export Lists all displayed objects Lists all locked surface nodes in object geo1. Returns a list nodes with a particular flag set. The Display Flag Render Flag Template Bypass Lock. Expose Highlight Footprint This should be the save data in a motion file flag. However, for\n backwards compatibility it is aliased to the pick flag. Use of s\n should be replaced with p Unload data after cook (surface nodes and CHOPs only). This should be the compress icon flag. However, for backwards\n compatibility it is aliased to the C flag. Use of c should be\n replaced by C. Current Picked Display descriptive parm. Output For View. The following flags are only available for objects: Selectable in viewport Object pivot axes Xray The following flags are only available for CHOPs. Audio Export Lists all displayed objects Lists all locked surface nodes in object geo1. Returns the full path of a node. Returns the path of a node relative to another node. This function will return the full path to Returns the unique ID of a node. The value of the ID is unique to that operator at any given\nmoment, however it changes each time Houdini is reloaded. Returns a unique ID of the model object. Returns the name of the node connected to a given input. Returns the full path of the node connected to a given input. Returns the value associated with a key string on node connection. If the specified input is not connected, or there is no value for the\nprovided key on the input, this function returns an empty string. Returns the value associated with a key string on node connection. If the specified input is not connected, or there is no value for the\nprovided key on the input, this function returns an empty string. Returns 1 if Houdini is currently loading a scene file. Returns 1 if Houdini is currently shutting down. This information is particularly useful in node deletion scripts to\ndetermine if the node is being deleted because Houdini is quitting\nrather than because the user chose to delete it. Returns a list of lights matching an object\u2019s light mask. Returns a string containing a space separated list of path names. This function is equivalent to Might return the string\n Returns the name of a node given its path. This is useful to find out the name of the network containing the node,\ne.g. Returns the number of nodes inside a container node. This will return the number of nodes in a subnetwork or the number of surface\nnodes in an Geometry container object. The count is non-recursive: it only counts the direct contents of the node,\nnot of the sub-nodes as well. Returns the maximum number of connected inputs. Returns the number of the highest connected input. This is not the number of\nconnected inputs. If a node has four inputs and the fourth input is connected,\n Returns the alphanumeric prefix of a node name eliminating trailing digits. This function will return the numeric value of the last set of\nconsecutive digits in a node\u2019s name. Returns the alphanumeric prefix of a node name eliminating trailing digits. This function will return the alphanumeric prefix of a node name eliminating trailing digits. Returns the number of nodes connected to a node\u2019s output. Returns the name of a node connected a given node\u2019s output. Multiple operators may be connected to a node\u2019s output\nand the index ordering is arbitrary. Returns the full path of a node connected a given node\u2019s output. Multiple operators may be connected to a node\u2019s output\nand the index ordering is arbitrary. Deprecated: replaced by opinput. Use opinput instead. Returns the path of the current network. This is a shortcut for Prints the path of the current network. This is a short form for execute(\"oppwf\"). Prints the path of the current network. This is a short form for execute(oppwf). Returns the relative path from one node to another. Returns a list of the selected nodes. Returns a string with a space separated list of the selected nodes\nin the given network. Returns \"geo1 geo2\". Returns a list of the full paths of selected nodes. Returns a string with a space separated list of the full paths of selected\nnodes in the given network. Returns \"/obj/geo1 /obj/geo2\". Returns a recursive list of the selected nodes. Returns a string with a space separated list of the selected nodes\nin the given network, including selected children according to the context. Returns \"edgecusp1 subnet1 subnet1/sphere2\" Returns \"edgecusp1 shopnet1 subnet1 subnet1/sphere2\". Returns a recursive list of the full paths of selected nodes. Returns a string with a space separated list of the full paths of selected\nnodes in the given network, including selected children according to the\ncontext. Returns \"/obj/model/edgecusp1 /obj/model/subnet1 /obj/model/subnet1/sphere2\" Returns \"/obj/model/edgecusp1 /obj/model/shopnet1 /obj/model/subnet1 /obj/model/subnet1/sphere2\". Returns a list of the selected nodes. Returns a string with a space separated list of the selected nodes\nin the given network. Returns geo1 geo2. Returns a list of the full paths of selected nodes. Returns a string with a space separated list of the full paths of selected\nnodes in the given network. Returns /obj/geo1 /obj/geo2. Returns a recursive list of the selected nodes. Returns a string with a space separated list of the selected nodes\nin the given network, including selected children according to the context. Returns edgecusp1 subnet1 subnet1/sphere2 Returns edgecusp1 shopnet1 subnet1 subnet1/sphere2. Returns a recursive list of the full paths of selected nodes. Returns a string with a space separated list of the full paths of selected\nnodes in the given network, including selected children according to the\ncontext. Returns /obj/model/edgecusp1 /obj/model/subnet1 /obj/model/subnet1/sphere2 Returns /obj/model/edgecusp1 /obj/model/shopnet1 /obj/model/subnet1 /obj/model/subnet1/sphere2. Computes the active stream of a node. In POPs there is the idea of an active stream. This is the set of particles a micro solver should work on by virtue of its inputs. The If the node has only a single solid input that leads to a generator, this will evaluate to the Returns the full path of a node including any containing subnets. Returns the transformation matrix of an object at the current time. This function will return the transformation matrix of object_name. If object_name is the empty string (\"\"), then the identity matrix is\n returned. Returns the type of a node. Returns \"geo\", indicating that object geo1 is a Geometry container object. Returns the transformation matrix of an object at the current time. This function will return the transformation matrix of object_name. If object_name is the empty string (), then the identity matrix is\n returned. Returns the type of a node. Returns geo, indicating that object geo1 is a Geometry container object. Returns type information about a node. Unlike optype which just returns a node\u2019s type, this allows\nyou to specify a string of parameters which will cause different things\nto be output. The pattern string may contain the following characters. The name of the node. For The type of the node, same as in optype. For\n The type\u2019s label. For The network type of the operator. For The script path of the operator. For The operator\u2019s index. This number corresponds to the network type. The table name of the operator. For The operator type. For The full operator type name, consisting of the table name and operator name,\n separated by a Returns components of an object\u2019s transforms. This function will return one of TX, TY, TZ, RX, RY, RZ, SX, SY, SZ\nvalue necessary to transform obj1 to obj2, depending on the type\nargument (\"TX\", \"TY\", \"TZ\", \"RX\", \"RY\", \"RZ\", \"SX\", \"SY\" or \"SZ\" ). This can also be thought of as the position of obj2 relative to obj1.\nIt will compute the position of obj1 relative to obj2 and returns one of\nTX, TY, TZ, RX, RY, RZ, SX, SY, SZ based on the type argument. If the empty string (\"\") is specified for either obj1 or obj2, then the\nidentity transform will be used instead. For example, if obj1 is the\nempty string, then the world space position of obj2 is returned. Returns components of an object\u2019s offset transforms. This function will return one of TX, TY, TZ, RX, RY, RZ value necessary\nto transform the point pos1 in the space of object obj1 to point pos2 in\nthe space of object obj2, depending on the type argument (\"TX\", \"TY\",\n\"TZ\", \"RX\", \"RY\" or \"RZ\"). This can also be thought of as the position of pos2 in obj2 relative to\npos1 in obj1. If the empty string (\"\") is specified for either obj1 or obj2, then the\nidentity transform will be used instead. For example, if obj1 is the\nempty string, then the world space position of obj2 is returned. Returns a string padding a number to a given length with zeros. Returns a string containing Returns components of an object\u2019s transforms. This function will return one of TX, TY, TZ, RX, RY, RZ, SX, SY, SZ\nvalue necessary to transform obj1 to obj2, depending on the type\nargument (TX, TY, TZ, RX, RY, RZ, SX, SY or SZ ). This can also be thought of as the position of obj2 relative to obj1.\nIt will compute the position of obj1 relative to obj2 and returns one of\nTX, TY, TZ, RX, RY, RZ, SX, SY, SZ based on the type argument. If the empty string () is specified for either obj1 or obj2, then the\nidentity transform will be used instead. For example, if obj1 is the\nempty string, then the world space position of obj2 is returned. Returns components of an object\u2019s offset transforms. This function will return one of TX, TY, TZ, RX, RY, RZ value necessary\nto transform the point pos1 in the space of object obj1 to point pos2 in\nthe space of object obj2, depending on the type argument (TX, TY,\nTZ, RX, RY or RZ). This can also be thought of as the position of pos2 in obj2 relative to\npos1 in obj1. If the empty string () is specified for either obj1 or obj2, then the\nidentity transform will be used instead. For example, if obj1 is the\nempty string, then the world space position of obj2 is returned. Returns a string padding a number to a given length with zeros. Returns a string containing Negative numbers will be prefixed with a minus sign. Deprecated: use stamp instead. This function is now obsolete, please use stamp instead. A\nwarning will be generated if used. Returns 1 if a specified parameter is a string. Returns the value of a PDG work item attrib This function is equivalent to doing Returns the frame value of the current work item - equivalent to Returns the second component of the \"color\" attribute. Returns a space-separated list of attribute names on the active PDG work item. Returns the string value of a PDG work item attribute This function is equivalent to doing Returns the first input file on the active work item. This is equivalent to using\n Returns the second component of the \"filenames\" attribute. Returns the number of components in a PDG work item attribute. If there is no active work item or the attribute is not found on the work item, returns 0 Returns the size of the \"position\" attribute on the active work item Returns the type of a PDG work item attribute. If there is no active work item or the attribute does not exist, returns -1. Returns 0, which indicates that the attribute is an integer. Deprecated: replaced by pdgattrib. Use pdgattrib instead. Deprecated: replaced by pdgattribs. Use pdgattribs instead. Returns the space separated list of values for a PDG work item attribute This function works for any type of attribute. Integer and float values will be converted to string. If any of the attribute values are strings with spaces in them, the string values will be wrapped in quotes automatically. Returns the space separated list of values in the Example evaluation: Returns a work item input file for the specified file index and tag This function looks up an input file from the active work item. The file tag can be used to filter input files, for example by passing in \"file/geo\" to eliminate files that aren\u2019t geometry. The index parameter determines which file path to return if there are multiple valid input files, starting from 0. When a tag is specified the index is applied after filtering the files by the tag. This function is a more generalized version of the Returns the input image file with index 1, from the list of input files on the active work item. Returns the number of input files on the active PDG work item This function returns the number of input files to the active work item, with the specified file tag. Returns the number of input geometry files. Returns a space separated string of all work item input files for the specified tag This function looks up all input files from the active work item with the specified file tag. If any of the file paths have spaces in them, they are put in quotes automatically in the output string. Returns all input image file paths. For example: Returns a work item output file for the specified file index and tag This function is a more generalized version of the This function looks up an output file from the active work item. The file tag can be used to filter output files, for example by passing in \"file/geo\" to eliminate files that aren\u2019t geometry. The index parameter determines which file path to return if there are multiple valid files, starting from 0. When a tag is specified the index is applied after filtering the files by the tag. Returns the second output file from the active work item, equivalent to Returns the number of output files on the active PDG work item This function returns the number of output files from the active work item, with the specified file tag. Returns the number of output image files. Returns a space separated string of all work item output files for the specified tag This function looks up all output files from the active work item with the specified file tag. If any of the file paths have spaces in them, they are put in quotes automatically in the output string. Returns all output geometry file paths. For example: Returns the value of a PDG work item attrib This function is equivalent to doing Returns the frame value of the current work item - equivalent to Returns the second component of the color attribute. Returns a space-separated list of attribute names on the active PDG work item. The list of attributes returned by this function is sorted by attribute name in ascending order. Returns the string value of a PDG work item attribute This function is equivalent to doing Returns the first input file on the active work item. This is equivalent to using\n Returns the second component of the filenames attribute. Returns the number of components in a PDG work item attribute. If there is no active work item or the attribute is not found on the work item, returns 0 Returns the size of the position attribute on the active work item Returns the type of a PDG work item attribute. If there is no active work item or the attribute does not exist, returns -1. Returns 0, which indicates that the attribute is an integer. Deprecated: replaced by pdgattrib. Use pdgattrib instead. Deprecated: replaced by pdgattribs. Use pdgattribs instead. Returns the space separated list of values for a PDG work item attribute This function works for any type of attribute. Integer and float values will be converted to string. If any of the attribute values are strings with spaces in them, the string values will be wrapped in quotes automatically. Returns the space separated list of values in the Example evaluation: Returns a work item input file for the specified file index and tag This function looks up an input file from the active work item. The file tag can be used to filter input files, for example by passing in file/geo to eliminate files that aren\u2019t geometry. The index parameter determines which file path to return if there are multiple valid input files, starting from 0. When a tag is specified the index is applied after filtering the files by the tag. This function is a more generalized version of the Returns the input image file with index 1, from the list of input files on the active work item. Returns the number of input files on the active PDG work item This function returns the number of input files to the active work item, with the specified file tag. Returns the number of input geometry files. Returns the file tag for the input file at the specified index. This function returns the file tag associated with the input file at the specified index, or an empty string if the index is out of bounds. Returns the file tag on the input file at index=2. Returns a space separated string of all work item input files for the specified tag This function looks up all input files from the active work item with the specified file tag. If any of the file paths have spaces in them, they are put in quotes automatically in the output string. Returns all input image file paths. For example: Maps the given path to the local Zone This function returns the local path that corresponds to the given path according to the PDG Path Map, for your local Zone. This can be used for example in a SOP parm when the hip file is being cooked in a Zone different from where the path originated. PDG file attrib references will automatically be mapped to the local zone when they are evaluated. Returns the local path, for example //winfilehost/hq/myproj/file1.bgeo.sc Returns a work item output file for the specified file index and tag This function is a more generalized version of the This function looks up an output file from the active work item. The file tag can be used to filter output files, for example by passing in file/geo to eliminate files that aren\u2019t geometry. The index parameter determines which file path to return if there are multiple valid files, starting from 0. When a tag is specified the index is applied after filtering the files by the tag. Returns the second output file from the active work item, equivalent to Returns the number of output files on the active PDG work item This function returns the number of output files from the active work item, with the specified file tag. Returns the number of output image files. Returns the file tag for the output file at the specified index. This function returns the file tag associated with the output file at the specified index, or an empty string if the index is out of bounds. Returns the file tag on the output file at index=2. Returns a space separated string of all work item output files for the specified tag This function looks up all output files from the active work item with the specified file tag. If any of the file paths have spaces in them, they are put in quotes automatically in the output string. Returns all output geometry file paths. For example: Returns the color of a pixel in a compositing node. The color_type parameter can be one of the\nfollowing: D_CR, D_CG, D_CB, D_CA, D_CHUE, D_CSAT, D_CVAL, D_CLUM for\nthe red, green, blue, alpha, hue, saturation, value, or luminance of the\npixel. The color returned will be interpolated smoothly between adjacent\npixels. For the non-interpolated color, use picni. Returns the non-interpolated color of a pixel in a compositing node. The color_type parameter can be one of the\nfollowing: D_CR, D_CG, D_CB, D_CA, D_CHUE, D_CSAT, D_CVAL, D_CLUM for\nthe red, green, blue, alpha, hue, saturation, value, or luminance of the\npixel. The color returned will not be interpolated. That is, it will be\nthe exact color of the pixel.\nFor the interpolated color, use pic. Converts an English noun to its plural. Returns the value of a point attribute. Components of dictionary attributes can be resolved using abs
abs(
number
)Examples
abs (-2.6)=2.6
abspath
abspath(
relpath
)Related
",
+ "abspath": "18.0abspath
abspath(
relpath
)Related
",
"acos": "acos
acos(
number
)Examples
acos (0)=90
angvel
angvel(
rot1
, rot2
, time
)Examples
angvel(vector3(0, 0, 0), vector3(90, 0, 0), 1)[0]=90
arclen
arclen(
surface_node
, prim_num
, ustart
, ustop
)ustart
and ustop
are unit values, defined in the\n[0, 1]
interval.Note
Examples
arclen(\"/obj/geo1/model1\", 12, 0, 1)
Related
",
- "arclenD": "arclenD
arclen(
surface_node
, prim_num
, ustart
, ustop
, divs
)ustart
and ustop
are unit values, defined in the\n[0, 1]
interval.divs
is the number of divisions to use when evaluating curves.Note
Examples
arclenD(\"/obj/geo1/model1\", 12, 0, 1, 20)
Related
",
- "arg": "arg
arg(
line
, argNum
)Examples
arg(\"This returns foobar from this sentence\", 2)
arg (system(\"date\"), 3)
arg(\"Quoting 'makes this one arg'\", 1)
Related
",
+ "arclenD": "17.0arclenD
arclen(
surface_node
, prim_num
, ustart
, ustop
, divs
)ustart
and ustop
are unit values, defined in the\n[0, 1]
interval.divs
is the number of divisions to use when evaluating curves.Note
Examples
arclenD(\"/obj/geo1/model1\", 12, 0, 1, 20)
Related
",
+ "arg": "arg
arg(
line
, argNum
)Examples
arg(\"This returns foobar from this sentence\", 2)
arg (system(\"date\"), 3)
arg(\"Quoting 'makes this one arg'\", 1)
Related
",
"argc": "argc
argc(
line
)Examples
argc(\"This has four arguments\")
argc(\"Quoting 'makes this one arg'\")
Related
",
"asin": "asin
asin(
number
)Examples
asin (.866025)=60
atan
atan(
number
)Examples
atan (1.73205)=60
Related
",
"atan2": "atan2
y
/x
.atan2(
y
, x
)Examples
atan2(1, 0) = 90
atan2(0, 1) = 0
atan2(0, -1) = 180
atof
atof(
source
)attriblist
attriblist(
surface_node
, class
)class
can be one of D_VERTEX
,D_POINT
, D_PRIMITIVE
, or D_DETAIL
\nfor the corresponding attribute class.Related
",
+ "attriblist": "18.5attriblist
attriblist(
surface_node
, class
)class
can be one of D_VERTEX
,D_POINT
, D_PRIMITIVE
, or D_DETAIL
\nfor the corresponding attribute class.Related
",
"bbox": "bbox
bbox(
surface_node
, type
)type
\ncan be one of D_XMIN, D_YMIN, D_ZMIN, D_XMAX, D_YMAX, D_ZMAX, D_XSIZE,\nD_YSIZE, or D_ZSIZE for the corresponding values of the bounding box.Related
",
"bezier": "bezier
bezier()
Related
",
- "bitand": "bitand
bitand(
abits
, bbits
)Examples
bitand (0, 6) = 0
bitand (15, 6) = 6
bitor
bitor(
abits
, bbits
)Examples
bitor (0, 6) = 6
bitor (15, 6) = 15
bitset
bitset(
number
, bit_index
, value
)Examples
bitset (0, 3, 1) = 8
bitset (15, 3, 0) = 7
bittest
bittest(
number
, bit_index
)Examples
bittest (8, 3) = 1
bittest (8, 1) = 0
bitxor
bitxor(
abits
, bbits
)Examples
bitxor (0, 6) = 6
bitxor (15, 6) = 9
bitand
bitand(
abits
, bbits
)Examples
bitand (0, 6) = 0
bitand (15, 6) = 6
bitor
bitor(
abits
, bbits
)Examples
bitor (0, 6) = 6
bitor (15, 6) = 15
bitset
bitset(
number
, bit_index
, value
)Examples
bitset (0, 3, 1) = 8
bitset (15, 3, 0) = 7
bittest
bittest(
number
, bit_index
)Examples
bittest (8, 3) = 1
bittest (8, 1) = 0
bitxor
bitxor(
abits
, bbits
)Examples
bitxor (0, 6) = 6
bitxor (15, 6) = 9
boneangle
boneangle(
bone1
, bone2
)ceil
ceil()
Related
",
"centroid": "centroid
centroid(
surface_node
, type
)type
should\nbe one of D_X
, D_Y
, or D_Z
for the corresponding components of the\ncentroid.centroid(\"../sphere1\", D_X)
centroid(\"../sphere1\", D_Y)
centroid(\"../sphere1\", D_Z)
Note
Related
",
- "ch": "ch
Overview
ch
family of functions gets the value of a parameter. This lets you make the values of certain parameters automatically identical to or relative to the value of other parameters.geo1
and geo2
, you can make geo2
always be 2 units higher than geo
by setting geo2
's Translate Y parameter to:ch(\"../geo1/ty\") + 2
geo1
, geo2
's Y position will always be 2 units higher.Path argument
ch(\"ty\")
Tip
ty
parameter of a node named geo2
in the same network:ch(\"../geo2/ty\")
tx
parameter of the parent network node:ch(\"../tx\")
Getting numbers
ch(\"path\")
font1
node:ch(\"../font1/tx\")
chf(\"path\", frame_num)
font1
node from ten frames previous:chf(\"../font1/text\", $F - 10)
cht(\"path\", seconds)
font1
node from 2 seconds previous:chf(\"../font1/text\", $T - 2)
Getting strings
chs(\"path\")
font1
node:chs(\"../font1/text\")
chsraw(\"path\")
$F - 10
, you will get the string \"$F - 10\"
(instead of the computed value of the current frame minus ten).Getting a node path
Getting ramp values
Tips
Related
",
+ "ch": "ch
Overview
ch
family of functions gets the value of a parameter. This lets you make the values of certain parameters automatically identical to or relative to the value of other parameters.geo1
and geo2
, you can make geo2
always be 2 units higher than geo
by setting geo2
's Translate Y parameter to:ch(\"../geo1/ty\") + 2
geo1
, geo2
's Y position will always be 2 units higher.Path argument
ch(\"ty\")
Tip
ty
parameter of a node named geo2
in the same network:ch(\"../geo2/ty\")
tx
parameter of the parent network node:ch(\"../tx\")
Getting numbers
ch(\"path\")
font1
node:ch(\"../font1/tx\")
chf(\"path\", frame_num)
font1
node from ten frames previous:chf(\"../font1/text\", $F - 10)
cht(\"path\", seconds)
font1
node from 2 seconds previous:chf(\"../font1/text\", $T - 2)
Getting strings
chs(\"path\")
font1
node:chs(\"../font1/text\")
chsraw(\"path\")
$F - 10
, you will get the string \"$F - 10\"
(instead of the computed value of the current frame minus ten).Getting a node path
Getting ramp values
Tips
Related
",
"chexist": "chexist
chexist(
channel_name
)chexist()
function determines whether an animation channel exists on the given parameter. This means it checks if the parameter is animated, not whether the parameter itself exists.def parm_exist(parmpath):
nodepath, parmname = os.path.split(parmpath)
node = hou.node(nodepath)
return node.parmTuple(parmname) != None
Examples
echo `chexist(\"/obj/geo1/tx\")`
chexpr
chexpr(
channel
, new_expr_function
)Examples
chexpr(\"/obj/null1/tx\", \"linear()\")
chexpr(\"/obj/null1/tx\", \"$IT\")
chexpr(\"/obj/null1/tx\", \"$OT\")
chexpr(\"/obj/null1/tx\", \"$IV\")
chexpr(\"/obj/null1/tx\", \"$OV\")
Note
Related
",
"chexprf": "chexprf
chexprf(
channel
, new_expr_function
, frame
)Examples
chexprf(\"/obj/null1/tx\", \"linear()\", 10)
chexprf(\"/obj/null1/tx\", \"$IT\", 10)
chexprf(\"/obj/null1/tx\", \"$OT\", 10)
chexprf(\"/obj/null1/tx\", \"$IV\", 10)
chexprf(\"/obj/null1/tx\", \"$OV\", 10)
Note
Related
",
@@ -38,7 +38,7 @@
"chopi": "chopi
chopi(
channel
, index
)channel
(within a CHOP) at the specified sample index
.Examples
chopi(\"/ch/ch1/wave1/chan1\", 10)
Related
",
"chopl": "chopl
chopl(
CHOP
)Examples
chopl(\"/ch/ch1/wave1\")
Related
",
"chopn": "chopn
chopn(
CHOP
)Examples
chopn(\"/ch/ch1/wave1\")
Related
",
- "chopnames": "chopnames
chopnames(
CHOP
)Examples
chopnames(\"/ch/ch1/wave1\")
Related
",
+ "chopnames": "17.0chopnames
chopnames(
CHOP
)Examples
chopnames(\"/ch/ch1/wave1\")
Related
",
"chopr": "chopr
chopr(
CHOP
)Examples
chopr(\"/ch/ch1/wave1\")
Related
",
"chops": "chops
chops(
CHOP
)Examples
chops(\"/ch/ch1/wave1\")
Related
",
"chopstr": "chopstr
chopstr(
channel
)Examples
chopstr(\"/ch/ch1/wave1/chan1\")
Related
",
@@ -47,16 +47,17 @@
"chrampf": "chrampf
chrampf(
ramp_path
, position
, component_index
, frame
)position
is outside of the interval [0, 1), it will be first wrapped\naround into such an interval before being used.component_index
is the component of the evaluated value to return. For\ncolor ramps, it must be either 0, 1, or 2. For single-valued ramps,\ncomponent_index
must be 0.Examples
chrampf(\"/obj/geo1/popnet1/color1/rampcolor\", 0.33, 1, 289)
Related
",
"chrampt": "chrampt
chrampf(
ramp_path
, position
, component_index
, time
)position
is outside of the interval [0, 1), it will be first wrapped\naround into such an interval before being used.component_index
is the component of the evaluated value to return. For\ncolor ramps, it must be either 0, 1, or 2. For single-valued ramps,\ncomponent_index
must be 0.Examples
chrampf(\"/obj/geo1/popnet1/color1/rampcolor\", 0.33, 1, 12)
Related
",
"chs": "chs
chs(
channel
)Related
",
- "chsop": "chsop
chsop(\"path\")
object_merge1
node:chsop(\"../object_merge1/object1\")
Related
",
- "chsoplist": "chsoplist
chsoplist(\"path\")
/obj/null*
.object_merge1
node:chsoplist(\"../object_merge1/object1\")
Related
",
+ "chsop": "chsop
chsop(\"parameter_path\")
object_merge1
node:chsop(\"../object_merge1/object1\")
Related
",
+ "chsoplist": "chsoplist
chsoplist(\"parameter_path\")
/obj/null*
.object_merge1
node:chsoplist(\"../object_merge1/object1\")
Related
",
"chsraw": "chsraw
chsraw(
channel
)echo `chsraw(\"channel_path\")`
Related
",
"cht": "cht
cht(
channel
, time
)Related
",
"clamp": "clamp
clamp(
value
, minimum
, maximum
)clamptosphere
x
, y
, z
, min_radius
, max_radius
,constant_type
)`constant_type
: \"X\", \"Y\" or \"Z\".clamptosphere
x
, y
, z
, min_radius
, max_radius
,constant_type
)`constant_type
: X, Y or Z.constant
constant()
Related
",
- "contextoption": "contextoption
contextoption(
name
)Tip
@
.name
Related
",
- "contextoptions": "contextoptions
contextoptions(
name
)Tip
@
.name
Related
",
+ "contextoption": "contextoption
17.0contextoption(
name
)Tip
@
.name
Related
",
+ "contextoptions": "contextoptions
17.0contextoptions(
name
)Tip
@
.name
Related
",
"cophasmeta": "cophasmeta
cophasmeta(
compositing_node
, metadata_name
)metadata_name
exists on the COP node composting_node
.Related
",
+ "cophasplane": "19.0cophasplane
cophasplane(
compositing_node
, plane_name
)plane_name
exists on the COP node composting_node
. Returns 1 if it exists, and 0 if it does not.copmeta
copmeta(
compositing_node
, metadata_name
, index
)Related
",
"copmetas": "copmeta
copmetas(
compositing_node
, metadata_name
)Related
",
"cos": "cos
cos(
degrees
)Examples
cos (60)=0.5
cycleoffset
f1
and f2
, accumulating the value.cycleoffset(
f1
, f2
)f1
and\nf2
. If you wish to repeat motion exactly, use the cycle function\ninstead.f1
is less than f2
, then it will cycle forwards from f1
\nto f2
. If f2
is less than f1
, then it will cycle backwards\nfrom f2
to f1
.Related
",
"cycleoffsett": "cycleoffsett
t1
and t2
, accumulating the value.cycleoffsett(
t1
, t2
)t1
is less than t2
, then it will cycle forwards from t1
\nto t2
. If t2
is less than t1
, then it will cycle backwards\nfrom t2
to t1
.Related
",
"cyclet": "cyclet
cyclet(
t1
, t2
)t1
seconds to t2
seconds.Related
",
- "decode": "decode
decode(
s
)encode
method to generate a string that obeys these restriction.\nThis method takes one of these encoded strings, and returns the original\nstring. A string that has not been encoded will be returned unmodified.Related
",
- "decodeattrib": "decodeattrib
decodeattrib(
s
)encodeattrib
method to generate a string\nthat obeys these restriction. This method takes one of these encoded strings,\nand returns the original string. A string that has not been encoded will be\nreturned unmodified.Related
",
- "decodeparm": "decodeparm
decodeparm(
s
)encodeparm
method to\ngenerate a string that obeys these restriction. This method takes one of these\nencoded strings, and returns the original string. A string that has not been\nencoded will be returned unmodified.Related
",
+ "decode": "17.5decode
decode(
s
)encode
method to generate a string that obeys these restriction.\nThis method takes one of these encoded strings, and returns the original\nstring. A string that has not been encoded will be returned unmodified.Related
",
+ "decodeattrib": "18.0decodeattrib
decodeattrib(
s
)encodeattrib
method to generate a string\nthat obeys these restriction. This method takes one of these encoded strings,\nand returns the original string. A string that has not been encoded will be\nreturned unmodified.Related
",
+ "decodeparm": "18.0decodeparm
decodeparm(
s
)encodeparm
method to\ngenerate a string that obeys these restriction. This method takes one of these\nencoded strings, and returns the original string. A string that has not been\nencoded will be returned unmodified.Related
",
"deg": "deg
deg(
radians
)degree
degree(
surface_node
, prim_num
, D_U|D_V)Note
detail
detail(
surface_node
, attrib_name
, attrib_index
)Tip
surface_node
is the currently cooking node.\n Try specifying an upstream node.\"intrinsic:name_of_intrinsic\"
instead of an attribute name..
, for\nexample \"param.key\"
will return the value of key
in the dictionary\nattribute param
.Examples
detail(\"/obj/geo1/attribpromote1\", \"area\", 0)
detailattriblist
detailattriblist(
surface_node
)Related
",
- "detailattribsize": "detailattribsize
detailattribsize(
surface_node
, attribute
)Examples
detailattribsize( \"/obj/model/capture\", \"pCaptData\" )
Related
",
+ "detailattriblist": "18.5detailattriblist
detailattriblist(
surface_node
)Related
",
+ "detailattribsize": "detailattribsize
detailattribsize(
surface_node
, attribute
)Examples
detailattribsize( \"/obj/model/capture\", \"pCaptData\" )
Related
",
"detailattribtype": "detailattribtype
detailattribtype(
surface_node
, attribute
)Types are
Examples
detailattribsize( \"/obj/model/box\", \"Cd\" )
Related
",
"details": "details
details(
surface_node
, attribute
)\"intrinsic:name_of_intrinsic\"
instead of an attribute name..
, for\nexample \"param.key\"
will return the value of key
in the dictionary\nattribute param
.Examples
details(\"/obj/geo1/attribcreate1\", \"varmap\")
detailsmap
detailsmap(
surface_node
, attribute
, index
)index
th unique string bound to the given\ndetail attribute. Use detailsnummap to find the total number of unique\nstrings. Note that the exact order of the strings should not be\nrelied upon. The indexes start with 0 and go to detailsnummap()-1.Examples
detailsmap(\"/obj/geo1/attribcreate1\", \"varmap\", 0)
determinant
determinant(
mat
)dihedral
v0
and v1
.dihedral(
v0
, v1
)distance
distance(
x1
, y1
, z1
, x2
, y2
, z2
)sqrt((x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2)
.Related
",
- "dopallfields": "dopallfields
dop
, objectSpec
, subDataName
,recordType
)`Examples
dopallfields(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\")
Related
",
- "dopcontextgeo": "dopcontextgeo
dopcontextgeo(
name
, index
)index
is the 0-based number of the input. For example,\nto get the path of the node connected to the first input,\nuse dopcontextgeo(\".\", 0)
, and for the second input, use\ndopcontextgeo(\".\", 1)
.opinputpath
as the given name should be the name of a\nnode inside a dopnet (or the dopnet itself). This simplifies the process of\nfinding what is wired up to a dopnet node at the SOP level. Passing \".\" as the\npath will cause your containing dopnet to be used.Examples
point(dopcontextgeo(\".\", 0), $PT, \"P\", 0)
Related
",
+ "dopallfields": "dopallfields
dop
, objectSpec
, subDataName
,recordType
)`Examples
dopallfields(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\")
Related
",
+ "dopcontextgeo": "dopcontextgeo
dopcontextgeo(
name
, index
)index
is the 0-based number of the input. For example,\nto get the path of the node connected to the first input,\nuse dopcontextgeo(\".\", 0)
, and for the second input, use\ndopcontextgeo(\".\", 1)
.opinputpath
as the given name should be the name of a\nnode inside a dopnet (or the dopnet itself). This simplifies the process of\nfinding what is wired up to a dopnet node at the SOP level. Passing . as the\npath will cause your containing dopnet to be used.Examples
point(dopcontextgeo(\".\", 0), $PT, \"P\", 0)
Related
",
"dopcountslices": "dopcountslices
dopcountslices(
dop
, objectFilter
, subDataName
)Examples
dopnumrecords(\"/obj/dopnet1\", \"object1\", \"Slice\")
dopfield
dop
, objectSpec
, subDataName
, recordType
,recordNum
, fieldName
)`\"ty\"
will access the y component of the \"t\"
field. If the\nfield is a quaternion, you can use \"rx\"
, \"ry\"
, and \"rz\"
as extensions to\nget the euler rotations for the quaternion. In the special case of a\nquaternion named \"orient\"
, simply using the name \"rx\"
will return the\nequivalent of \"orientrx\"
.Examples
dopfield(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 0, \"ty\")
dopfield(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 0, \"ry\")
dopfield(\"/obj/geo1/dopnet1\", \"Relationships/Spring_spring_constraint1\", \"\", \"Basic\", 0, \"memusage\")
dopfield(\"/obj/dopnet1\", \"obj0\", \"Forces/Gravity_gravity1\", \"Options\", 0, \"forcey\")
Related
",
"dopfieldname": "dopfieldname
dop
, objectSpec
, subDataName
,recordType
, fieldNum
)`fieldNum
th field of the given record type.Examples
dopfieldname(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 3)
dopfields
dopfields(
dop
, objectSpec
, subDataName
, recordType
, recordNum
, fieldName
)Examples
vector(dopfields(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 0, \"position\"))
dopfields(\"/obj/geo1/dopnet1\", \"Relationships/Spring_spring_constraint1\", \"\", \"ObjInGroup\", 0, \"objname\")
\"sphere2\"
).dopfields(\"/obj/geo1/dopnet1\",\"sphere2\",\"\", \"RelInGroup\", 0, \"relname\")
\"Spring_spring_constraint1\"
).dopfieldtype
dop
, objectSpec
, subDataName
,recordType
, fieldNum
)`fieldNum
th field of the given record.Examples
dopfieldtype(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 2)
dopfieldtype
dop
, objectSpec
, subDataName
,recordType
, fieldNum
)`fieldNum
th field of the given record.Examples
dopfieldtype(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 2)
dopframe
dopframe(
dop
)Related
",
"dopframetost": "dopframetost
dopframetost(
dop
, simulationframe
)Related
",
"dopgrouphasobject": "dopgrouphasobject
dopgrouphasobject(
dop
, objectSpec
, group
)Examples
dopgrouphasobject(\"/obj/dopnet1\", \"rbdobject\", \"group1\")
Related
",
"dopgroupismutual": "dopgroupismutual
dopgroupismutual(
dop
, group
)Examples
dopgroupismutual(\"/obj/dopnet1\", \"group1\")
dopgrouplist
dopgrouplist(
dop
)Examples
dopgrouplist(\"/obj/dopnet1\")
dopgrouplist
dopgrouplist(
dop
)Examples
dopgrouplist(\"/obj/dopnet1\")
dophasfield
dop
, objectSpec
, subDataName
,recordType
, recordNum
, fieldName
)`Examples
dophasfield(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 0, \"ty\")
dopfield(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 0, \"notafield\")
dophassubdata
dophassubdata(
dop
, objectSpec
, subDataName
)Examples
dophassubdata(\"/obj/dopnet1\", \"obj0\", \"Geometry/Volume\")
dopnodeobjs
dopnodeobjs(
dop
)Examples
dopnodeobjs(\"/obj/dopnet1\")
dopnumfields
dop
, objectSpec
, subDataName
,recordType
)`Examples
dopnumfields(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\")
dopnumfields
dop
, objectSpec
, subDataName
,recordType
)`Examples
dopnumfields(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\")
dopnumobjects
dopnumobjects(
dop
, objectFilter
)Examples
dopnumobjects(\"/obj/dopnet1\", \"foo*\")
Related
",
- "dopnumrecords": "dopnumrecords
dop
, objectFilter
, subDataName
,recordType
)`Examples
dopnumrecords(\"/obj/dopnet1\", \"object1\", \"Impacts\", \"Impacts\")
dopnumrecordtypes
dopnumrecordtypes(
dop
, objectSpec
, subDataName
)Examples
dopnumrecordtypes(\"/obj/dopnet1\", \"object1\", \"Position\")
dopnumrecords
dop
, objectFilter
, subDataName
,recordType
)`Examples
dopnumrecords(\"/obj/dopnet1\", \"object1\", \"Impacts\", \"Impacts\")
dopnumrecordtypes
dopnumrecordtypes(
dop
, objectSpec
, subDataName
)Examples
dopnumrecordtypes(\"/obj/dopnet1\", \"object1\", \"Position\")
dopnumsubdata
dopnumsubdata(
dop
, objectSpec
, subDataName
)Examples
dopnumsubdata(\"/obj/dopnet1\", \"obj0\", \"\")
dopnumsubdata(\"/obj/dopnet1\", \"obj0\", \"Geometry\")
dopobjectlist
dopobjectlist(
dop
, objectSpec
, listNames
)listNames
\nargument is zero, then the string is a list of object identifiers.\nOtherwise it is a list of object names.Examples
dopobjectlist(\"/obj/dopnet1\", \"obj? object*\", 1)
Related
",
+ "dopobjectlist": "dopobjectlist
dopobjectlist(
dop
, objectSpec
, listNames
)listNames
\nargument is zero, then the string is a list of object identifiers.\nOtherwise it is a list of object names.Examples
dopobjectlist(\"/obj/dopnet1\", \"obj? object*\", 1)
Related
",
"dopobjectsareaffectors": "dopobjectsareaffectors
dopobjectsareaffectors(
dop
, objectSpec
, affectors
)Examples
dopobjectsareaffectors(\"/obj/dopnet1\", \"obj1\", \"obj2 obj3\")
dopobjscreatedby
dopobjscreatedby(
dop
)Examples
dopobjscreatedby(\"/obj/dopnet1/rbdglueobject1\")
dopoption
dop
, objectSpec
, subDataName
,fieldName
)`Examples
dopoption(\"/obj/dopnet1\", \"obj0\", \"Position\", \"ty\")
dopoption(\"/obj/dopnet1\", \"obj0\", \"Position\", \"ry\")
dopoptions
dop
, objectSpec
, subDataName
,fieldName
)`Examples
vector(dopoptions(\"/obj/dopnet1\", \"obj0\", \"Position\", \"position\"))
dopoption
dop
, objectSpec
, subDataName
,fieldName
)`Examples
dopoption(\"/obj/dopnet1\", \"obj0\", \"Position\", \"ty\")
dopoption(\"/obj/dopnet1\", \"obj0\", \"Position\", \"ry\")
dopoptions
dop
, objectSpec
, subDataName
,fieldName
)`Examples
vector(dopoptions(\"/obj/dopnet1\", \"obj0\", \"Position\", \"position\"))
doprecordtypename
dop
, objectSpec
, subDataName
,recordTypeNum
)`recordTypeNum
th record that is owned by the\ngiven subData.Examples
doprecordtypename(\"/obj/dopnet1\", \"obj0\", \"Geometry/Volume\", 0)
dopsolvedopnet
dopsolvedopnet()
Related
",
"dopsolvenewobject": "dopsolvenewobject
dopsolvenewobject(
object_index
)Examples
set lastobject=`dopsolvenumnewobjects() - 1`
for i = 0 to $lastobject
echo `dopsolvenewobject($i)`
end
Related
",
@@ -122,9 +123,9 @@
"dopsolvetimestep": "dopsolvetimestep
dopsolvetimestep()
Related
",
"dopsttoframe": "dopsttoframe
dopsttoframe(
dop
, simulationtime
)Related
",
"dopsttot": "dopsttot
dopsttot(
dop
, simulationtime
)Related
",
- "dopsubdataname": "dopsubdataname
dop
, objectSpec
, subDataName
,subDataNum
)`Examples
dopsubdataname(\"/obj/dopnet1\", \"foobar\", \"\", 0)
dopsubdataname(\"/obj/dopnet1\", \"foobar\", \"Geometry\", 3)
dopsubdataname
dop
, objectSpec
, subDataName
,subDataNum
)`Examples
dopsubdataname(\"/obj/dopnet1\", \"foobar\", \"\", 0)
dopsubdataname(\"/obj/dopnet1\", \"foobar\", \"Geometry\", 3)
doptime
doptime(
dop
)Related
",
- "doptransform": "doptransform
doptransform(
dop
, objectSpec
, subDataName
)Examples
doptransform(\"/obj/dopnet1\", \"obj0\", \"Geometry\")
doptransform
doptransform(
dop
, objectSpec
, subDataName
)Examples
doptransform(\"/obj/dopnet1\", \"obj0\", \"Geometry\")
dopttost
dopttost(
dop
, globaltime
)Related
",
"dopvelatpos": "dopvelatpos
dop
, objectSpec
, posx
, posy
, posz
,usevolumevelocity
, usepointvelocity
)`Examples
dopvelatpos(\"/obj/dopnet1\", \"obj0\", point(\"/obj/dopnet1:obj0/Geometry\", 0, \"P\", 0), point(\"/obj/dopnet1:obj0/Geometry\", 0, \"P\", 1), point(\"/obj/dopnet1:obj0/Geometry\", 0, \"P\", 2), 1, 0)
dot
dot(
v0
, v1
)easeoutp
easeoutp(
number
)number
determines the speed (i.e., the\nrate of channel change) at the beginning of the segment. A large value\ndefines a high speed.Examples
easeoutp( 3 )
Related
",
"easep": "easep
easep(
number
)number
controls how fast to\nease in or out. Mathematically, this argument determines the inflection\npoint of the curve. Increasing the number will shift the inflection\npoint to the right, while fractional numbers will towards zero will\nshift the inflection point to the right.Examples
easep( 3 )
easep( 0.4 )
Related
",
"edgegrouplist": "edgegrouplist
edgegrouplist(
surface_node
)Related
",
- "edgegroupmask": "edgegroupmask
edgegroupmask(
surface_node
, pattern
)Examples
edgegroupmask(\"/obj/model\", \"group*\")
Related
",
- "encode": "encode
encode(
s
)decode
method. A string that already\nobeys the rules is returned unmodified.xn__
will be\nencoded even if it is already a valid variable name. This is because xn__
\nis the prefix used to identify an encoded string. In this case, an additional\nxn__
prefix will be added. This means a string can be encoded any number of\ntimes, then decoded the same number of times to always return to the original\nstring, regardless of its contents.Related
",
- "encodeattrib": "encodeattrib
encodeattrib(
s
)decodeattrib
\nmethod. A string that already obeys the rules is returned unmodified.xn__
will be\nencoded even if it is already a valid attribute name. This is because xn__
\nis the prefix used to identify an encoded string. In this case, an additional\nxn__
prefix will be added. This means a string can be encoded any number of\ntimes, then decoded the same number of times to always return to the original\nstring, regardless of its contents.Related
",
- "encodeparm": "encodeparm
encodeparm(
s
)decodeparm
method. A string that already obeys the rules is returned\nunmodified.xn__
will be\nencoded even if it is already a valid parameter name. This is because xn__
\nis the prefix used to identify an encoded string. In this case, an additional\nxn__
prefix will be added. This means a string can be encoded any number of\ntimes, then decoded the same number of times to always return to the original\nstring, regardless of its contents.Related
",
+ "edgegroupmask": "edgegroupmask
edgegroupmask(
surface_node
, pattern
)Examples
edgegroupmask(\"/obj/model\", \"group*\")
Related
",
+ "encode": "17.5encode
encode(
s
)decode
method. A string that already\nobeys the rules is returned unmodified.xn__
will be\nencoded even if it is already a valid variable name. This is because xn__
\nis the prefix used to identify an encoded string. In this case, an additional\nxn__
prefix will be added. This means a string can be encoded any number of\ntimes, then decoded the same number of times to always return to the original\nstring, regardless of its contents.Related
",
+ "encodeattrib": "18.0encodeattrib
encodeattrib(
s
)decodeattrib
\nmethod. A string that already obeys the rules is returned unmodified.xn__
will be\nencoded even if it is already a valid attribute name. This is because xn__
\nis the prefix used to identify an encoded string. In this case, an additional\nxn__
prefix will be added. This means a string can be encoded any number of\ntimes, then decoded the same number of times to always return to the original\nstring, regardless of its contents.Related
",
+ "encodeparm": "18.0encodeparm
encodeparm(
s
)decodeparm
method. A string that already obeys the rules is returned\nunmodified.xn__
will be\nencoded even if it is already a valid parameter name. This is because xn__
\nis the prefix used to identify an encoded string. In this case, an additional\nxn__
prefix will be added. This means a string can be encoded any number of\ntimes, then decoded the same number of times to always return to the original\nstring, regardless of its contents.Related
",
"eval": "eval
eval(
expression
)Examples
set foo = 1+2 echo `eval($foo)`
evals
evals(
expression
)Examples
set foo = system(\"ls\") echo `evals($foo)`
execute
execute(
command
)Related
",
"executeb": "executeb
executeb(
command
)~~~~
.Related
",
"executee": "executee
executee(
command
)Related
",
"exp": "exp
exp(
number
)Examples
exp (x)= $E^x
exp (2)= 7.3338906
explodematrix
explodematrix(
mat
, trs
, xyz
, component
)mat
is the matrix to transform. trs
and xyz
give the order of the\nexpansion. In trs, a \"t\" represents translation, \"r\" rotation, and \"s\"\nscale. The xyz refers to the order of the rotations. The component is a\nstring describing which channel to extract. It is [trs][xyz]
\n(e.g. \"tx\"
or \"ry\"
), where the t
, r
, or s
chooses the channel\n(translate, rotate, or scale), and the x
, y
, or z
chooses the axis.\nShears can be extracted by specifying a component of \"sh1\", \"sh2\", or \"sh3\".Examples
explodematrix(mlookat(vector(\"[1,0,0]\"),vector(\"[0,1,0]\")), \"RST\", \"XYZ\", \"RZ\")
explodematrix(identity(3)*2, \"RST\", \"XYZ\", \"SZ\")
explodematrixp
explodematrixp(
mat
, p
, trs
, xyz
, component
)mat
is the matrix to transform. trs
and xyz
give the order of the\nexpansion. In trs, a \"t\" represents translation, \"r\" rotation, and \"s\"\nscale. The xyz refers to the order of the rotations. The component is a\nstring describing which channel to extract. It is [trs][xyz]
\n(e.g. \"tx\"
or \"ry\"
), where the t
, r
, or s
chooses the channel\n(translate, rotate, or scale), and the x
, y
, or z
chooses the axis.\nShears can be extracted by specifying a component of \"sh1\", \"sh2\", or \"sh3\".Examples
explodematrixp(optransform(\"/obj/geo1\"), vector3(ch(\"/obj/geo1/px\"), ch(\"/obj/geo1/py\"), ch(\"/obj/geo1/pz\")), \"RST\", \"XYZ\", \"RZ\")
explodematrixpr
explodematrixp(
mat
, p
, trs
, xyz
, component
)mat
is the matrix to transform. trs
and xyz
give the order of the\nexpansion. In trs
, a \"t\" represents translation, \"r\" rotation, and \"s\"\nscale. The xyz
refers to the order of the rotations. The component is a\nstring describing which channel to extract. It is [trs][xyz]
\n(e.g. \"tx\"
or \"ry\"
), where the t
, r
, or s
chooses the channel\n(translate, rotate, or scale), and the x
, y
, or z
chooses the axis.\nShears can be extracted by specifying a component of \"sh1\", \"sh2\", or \"sh3\".Examples
explodematrixpr(optransform(\"/obj/geo1\"), vector3(ch(\"/obj/geo1/px\"), ch(\"/obj/geo1/py\"), ch(\"/obj/geo1/pz\")), vector3(ch(\"/obj/geo1/prx\"), ch(\"/obj/geo1\"/pry), ch(\"/obj/geo1/prz\")), \"RST\", \"XYZ\", \"RZ\")
explodematrix
explodematrix(
mat
, trs
, xyz
, component
)mat
is the matrix to transform. trs
and xyz
give the order of the\nexpansion. In trs, a t represents translation, r rotation, and s\nscale. The xyz refers to the order of the rotations. The component is a\nstring describing which channel to extract. It is [trs][xyz]
\n(e.g. \"tx\"
or \"ry\"
), where the t
, r
, or s
chooses the channel\n(translate, rotate, or scale), and the x
, y
, or z
chooses the axis.\nShears can be extracted by specifying a component of sh1, sh2, or sh3.Examples
explodematrix(mlookat(vector(\"[1,0,0]\"),vector(\"[0,1,0]\")), \"RST\", \"XYZ\", \"RZ\")
explodematrix(identity(3)*2, \"RST\", \"XYZ\", \"SZ\")
explodematrixp
explodematrixp(
mat
, p
, trs
, xyz
, component
)mat
is the matrix to transform. trs
and xyz
give the order of the\nexpansion. In trs, a t represents translation, r rotation, and s\nscale. The xyz refers to the order of the rotations. The component is a\nstring describing which channel to extract. It is [trs][xyz]
\n(e.g. \"tx\"
or \"ry\"
), where the t
, r
, or s
chooses the channel\n(translate, rotate, or scale), and the x
, y
, or z
chooses the axis.\nShears can be extracted by specifying a component of sh1, sh2, or sh3.Examples
explodematrixp(optransform(\"/obj/geo1\"), vector3(ch(\"/obj/geo1/px\"), ch(\"/obj/geo1/py\"), ch(\"/obj/geo1/pz\")), \"RST\", \"XYZ\", \"RZ\")
explodematrixpr
explodematrixp(
mat
, p
, trs
, xyz
, component
)mat
is the matrix to transform. trs
and xyz
give the order of the\nexpansion. In trs
, a t represents translation, r rotation, and s\nscale. The xyz
refers to the order of the rotations. The component is a\nstring describing which channel to extract. It is [trs][xyz]
\n(e.g. \"tx\"
or \"ry\"
), where the t
, r
, or s
chooses the channel\n(translate, rotate, or scale), and the x
, y
, or z
chooses the axis.\nShears can be extracted by specifying a component of sh1, sh2, or sh3.Examples
explodematrixpr(optransform(\"/obj/geo1\"), vector3(ch(\"/obj/geo1/px\"), ch(\"/obj/geo1/py\"), ch(\"/obj/geo1/pz\")), vector3(ch(\"/obj/geo1/prx\"), ch(\"/obj/geo1\"/pry), ch(\"/obj/geo1/prz\")), \"RST\", \"XYZ\", \"RZ\")
findfile
findfile(
filename
)HOUDINI_PATH
environment variable.Examples
findfile(\"scripts/123.cmd\")
findfile(\"config/Audio/Error.aiff\")
Related
",
"findfiles": "findfiles
findfiles(
filename
, separator
)\\\\n
when echoing\nthe results. The filename specified should be relative to one of the paths specified in the HOUDINI_PATH
environment variable.Examples
findfiles(\"config\", \" \")
Related
",
"fit": "fit
fit(
num
, oldmin
, oldmax
, newmin
, newmax
)Examples
fit(3,1,4,5,20)=15
Related
",
@@ -155,17 +156,18 @@
"fit10": "fit10
fit10(
num
, newmin
, newmax
)Examples
fit(.3,5,20)=15.5
Related
",
"fit11": "fit11
fit11(
num
, newmin
, newmax
)Examples
fit(.3,5,20)=14.75
Related
",
"floor": "floor
floor(
number
)Examples
floor(10.2)=10
floor(-10.2)=-11
Related
",
+ "fpadzero": "fpadzero
fpadzero(
integerpad
, fracpad
, value
)value
preceded by enough zeros to make up\nintegerpad
digits before the decimal and fracpad
after the decimal.\nIf fracpad
is zero, no decimal is output and this is equivalent to\npadzero.Examples
padzero(5, 3, 126) = 00126.000
padzero(3, 2, 0.666) = 000.67
padzero(1, 0, 23) = 23
frac
frac(
number
)(number - floor(number))
,\nwhich may result in unexpected values for negative numbers. If negative\nnumbers are an issue, you may want to call frac(abs(number))
.Examples
frac(2.501) = 0.501
Related
",
"ftoa": "ftoa
ftoa(
number
)ftrim
ftrim(
number
)ftrim()
function will also round the number to 6 decimal digits of precision, avoiding slightly off numbers caused by floating point not being able to exactly represent common decimal numbers.ftrim
ftrim(
number
)ftrim()
function will also round the number to 6 decimal digits of precision, avoiding slightly off numbers caused by floating point not being able to exactly represent common decimal numbers.groupbyval
groupbyval(
surface_node
, class
, attribute
, id
)class
can be one of D_VERTEX
,D_POINT
, D_PRIMITIVE
, or D_DETAIL
for the corresponding attribute class.Examples
groupbyval(\"/obj/geo1/facet1\", D_PRIMITIVE, \"piece\", 1)
piece
attribute in the facet1 surface node in geo1.groupbyvals
groupbyvals(
surface_node
, class
, attribute
, id
)class
can be one of D_VERTEX
, D_POINT
, D_PRIMITIVE
, or D_DETAIL
for the corresponding attribute class.Examples
groupbyvals(\"/obj/geo1/facet1\", D_PRIMITIVE, \"name\", \"piece1\")
piece1
\n for the name
attribute in the facet1 surface node in geo1.hascontextoption
hascontextoption(
token
)hascontextoption
hascontextoption(
token
)hasdetailattrib
hasdetailattrib(
surface_node
, attribute
)\"param.key\"
will return 1 if key
is in\nthe param
dictionary attribute.haspdgattrib
haspdgattrib(
attribute
)Related
",
- "haspoint": "haspoint
haspoint(
group_name
, surface_node
, point_num
)Examples
haspoint(\"ears\", \"/obj/geo1/facet1\", 4)
Related
",
+ "haspdgattrib": "18.0haspdgattrib
haspdgattrib(
attribute
)Related
",
+ "haspoint": "haspoint
haspoint(
group_name
, surface_node
, point_num
)Examples
haspoint(\"ears\", \"/obj/geo1/facet1\", 4)
Related
",
"haspointattrib": "haspointattrib
haspointattrib(
surface_node
, attribute
)hasprim
hasprim(
group_name
, surface_node
, prim_num
)Examples
hasprim(\"ears\", \"/obj/geo1/facet1\", 3)
Related
",
+ "hasprim": "hasprim
hasprim(
group_name
, surface_node
, prim_num
)Examples
hasprim(\"ears\", \"/obj/geo1/facet1\", 3)
Related
",
"hasprimattrib": "hasprimattrib
hasprimattrib(
surface_node
, attribute
)hasvertexattrib
hasvertexattrib(
surface_node
, attribute
)hextoint
hextoint(
value
)Examples
hextoint(\"A1\")
Related
",
@@ -179,16 +181,16 @@
"icr": "icr
icr(
input_index
)Examples
icr(0)
Related
",
"ics": "ics
ics(
input_index
)Examples
ics(0)
Related
",
"identity": "identity
identity(
size
)size
rows\nand size
columns.if
if(
expression
, true_value
, false_value
)Note
Examples
if ($F<12, $F, 75)
$F
) is less than 12,\n returns the current frame number, otherwise returns 75
.Related
",
+ "if": "if
if(
expression
, true_value
, false_value
)Note
Examples
if ($F<12, $F, 75)
$F
) is less than 12,\n returns the current frame number, otherwise returns 75
.Related
",
"ifs": "ifs
ifs(
expression
, true_value
, false_value
)Note
Examples
ifs ($F<12, padzero(4, $F), \"0075\")
$F
) is less than 12,\n returns a string containing the current frame number padded\n to four digits, otherwise returns 0075
.Related
",
"index": "index
index(
source
, pattern
)pattern
occurs in\nsource
. Returns -1 if the pattern is not found.Examples
echo `index(\"Testing index\", \"sting\")`
echo `index(\"Testing index\", \"i\")`
Related
",
"index_": "index
index(
source
, pattern
)pattern
occurs in\nsource
. Returns -1 if the pattern is not found.Examples
echo `index(\"Testing index\", \"sting\")`
echo `index(\"Testing index\", \"i\")`
Related
",
"instancepoint": "instancepoint
instancepoint()
int
int(
number
)Examples
int(2.501)=2
int(-2.501)=-2
int(0.2)=0
int(-.2)=0
Related
",
- "inttohex": "inttohex
inttohex(
value
)Examples
inttohex(123)
Related
",
+ "inttohex": "inttohex
inttohex(
value
)Examples
inttohex(123)
Related
",
"invert": "invert
invert(
mat
)iprquery
iprquery(
query
, pane
, x
, y
)query
string argument specifies what type of information to\nretrieve (see below). The pane
argument specifies the name of the\npane you want to retrieve information for.x
and y
arguments are used by some query types to specify\nadditional query parameters. For queries that do not require extra\nparameters, they are ignored.query
string can be one of the following values:cropx0
, cropx1
, cropy0
, cropy1
exist.
plane_name
ipr
lock
nplanes
object.ptinstance
x
,y
. The x
and y
\n variables are coordinates in the rendered image.object.primitive
x
,y
. The x
and y
\n variables are coordinates in the rendered image.pindex.
name
name
. If there\n is no plane by that name, returns -1.plane.vsize
x
argument to this function. For example, to get the vector size\n of the third deep raster plane:iprquery(\"plane.vsize\", $PANE, 2, 0)
y
argument, here set to 0, is ignored.)plane.
name
[.r|g|b|a]x
,y
of the plane\n named name
. For example:iprquery(\"plane.C.g\", $PANE, $IX, $IY)
.r
, .g
, .b
, or .a
),\n returns the value of the first component..x
, .y
, .z
, and .w
as alternate names for\n .r
, .g
, .b
, and .a
. For example, plane.N.y
is equivalent\n to plane.N.g
.xres
, yres
Object queries
object.
give you information about the\nHoudini objects that produced the IPR image. These queries use two\ndeep raster planes mantra creates automatically when rendering.\nThese floating-point planes are named Op-Id
and Prim-Id
. Houdini\nmaintains a table mapping the data Op-Id
plane to information\nabout the instance and geometry in the render. The numbers in the\nOp-Id plane are meaningless otherwise.Related
",
- "iprquerys": "iprquerys
iprquerys(
query
, pane
, x
, y
)query
string argument specifies what type of information to\nretrieve (see below). The pane
argument specifies the name of the\npane you want to retrieve information for.x
and y
arguments are used by some query types to specify\nadditional query parameters. For queries that do not require extra\nparameters, they are ignored.query
string can be one of the following values:object.instance
x
, y
. If the object was not instanced, this will be the same\n as object.geometry
. See \"Object queries\" below. The x
and\n y
arguments are coordinates in the rendered image.object.geometry
x
, y
. See \"Object queries\" below. The x
and y
\n arguments are coordinates in the rendered image.object.surface
x
,\n y
. See \"Object queries\" below. The x
and y
arguments are\n coordinates in the rendered image.object.displace
x
, y
. See \"Object queries\" below. The x
and y
\n arguments are coordinates in the rendered image.plane.name
x
\n argument to this function. For example, to get the name of the third\n deep raster plane:iprquerys(\"plane.name\", $PANE, 2, 0)
y
argument, here set to 0, is ignored.)rop
Object queries
object.
give you information about the\nHoudini objects that produced the IPR image. These queries use two\ndeep raster planes mantra creates automatically when rendering.\nThese floating-point planes are named Op_Id
and Prim_Id
. Houdini\nmaintains a table mapping the data Op_Id
plane to information\nabout the instance and geometry in the render. The numbers in the\nOp_Id
plane are meaningless otherwise.Related
",
+ "iprquery": "iprquery
iprquery(
query
, pane
, x
, y
)query
string argument specifies what type of information to\nretrieve (see below). The pane
argument specifies the name of the\npane you want to retrieve information for.x
and y
arguments are used by some query types to specify\nadditional query parameters. For queries that do not require extra\nparameters, they are ignored.query
string can be one of the following values:cropx0
, cropx1
, cropy0
, cropy1
exist.
plane_name
ipr
lock
nplanes
object.ptinstance
x
,y
. The x
and y
\n variables are coordinates in the rendered image.object.primitive
x
,y
. The x
and y
\n variables are coordinates in the rendered image.pindex.
name
name
. If there\n is no plane by that name, returns -1.plane.vsize
x
argument to this function. For example, to get the vector size\n of the third deep raster plane:iprquery(\"plane.vsize\", $PANE, 2, 0)
y
argument, here set to 0, is ignored.)plane.
name
[.r|g|b|a]x
,y
of the plane\n named name
. For example:iprquery(\"plane.C.g\", $PANE, $IX, $IY)
.r
, .g
, .b
, or .a
),\n returns the value of the first component..x
, .y
, .z
, and .w
as alternate names for\n .r
, .g
, .b
, and .a
. For example, plane.N.y
is equivalent\n to plane.N.g
.xres
, yres
Object queries
object.
give you information about the\nHoudini objects that produced the IPR image. These queries use two\ndeep raster planes mantra creates automatically when rendering.\nThese floating-point planes are named Op-Id
and Prim-Id
. Houdini\nmaintains a table mapping the data Op-Id
plane to information\nabout the instance and geometry in the render. The numbers in the\nOp-Id plane are meaningless otherwise.Related
",
+ "iprquerys": "iprquerys
iprquerys(
query
, pane
, x
, y
)query
string argument specifies what type of information to\nretrieve (see below). The pane
argument specifies the name of the\npane you want to retrieve information for.x
and y
arguments are used by some query types to specify\nadditional query parameters. For queries that do not require extra\nparameters, they are ignored.query
string can be one of the following values:object.instance
x
, y
. If the object was not instanced, this will be the same\n as object.geometry
. See Object queries below. The x
and\n y
arguments are coordinates in the rendered image.object.geometry
x
, y
. See Object queries below. The x
and y
\n arguments are coordinates in the rendered image.object.surface
x
,\n y
. See Object queries below. The x
and y
arguments are\n coordinates in the rendered image.object.displace
x
, y
. See Object queries below. The x
and y
\n arguments are coordinates in the rendered image.plane.name
x
\n argument to this function. For example, to get the name of the third\n deep raster plane:iprquerys(\"plane.name\", $PANE, 2, 0)
y
argument, here set to 0, is ignored.)rop
Object queries
object.
give you information about the\nHoudini objects that produced the IPR image. These queries use two\ndeep raster planes mantra creates automatically when rendering.\nThese floating-point planes are named Op_Id
and Prim_Id
. Houdini\nmaintains a table mapping the data Op_Id
plane to information\nabout the instance and geometry in the render. The numbers in the\nOp_Id
plane are meaningless otherwise.Related
",
"isclosed": "isclosed
isclosed(
surface_node
, prim_num
)Related
",
"iscollided": "iscollided
iscollided(
surface_node
, pointnumber
)Examples
iscollided(\"../particle1\", $PT)
ishvariable
ishvariable(
variable_name
)variable_name
exists.\nSystem variables are not checked.Related
",
@@ -204,13 +206,13 @@
"lock": "lock
lock(
float
)log
log(
number
)Examples
log (2.718281828)= 1
log10
log10(
number
)Examples
log10(10) = 1
log10(100) = 2
lopinputprim
lopinputprim(
lop_path
, input_index
)This function is a shortcut, equivalent to the following expression
loplastmodifiedprim(opinput(<<lop_path>>, <<input_index>>))
Related
",
- "lopinputprims": "lopinputprims
lopinputprims(
lop_path
, input_index
)This function is a shortcut, equivalent to the following expression
loplastmodifiedprims(opinput(<<lop_path>>, <<input_index>>))
Related
",
- "loplastmodifiedprim": "loplastmodifiedprim
loplastmodifiedprim(
lop_path
)lop_path
parameter.Related
",
- "loplastmodifiedprims": "loplastmodifiedprims
loplastmodifiedprims(
lop_path
)lop_path
parameter.Related
",
- "lopparentprims": "lopparentprims
lopparentprims(
lop_paths
)Related
",
- "loprelativeprims": "loprelativeprims
loprelativeprims(
lop_paths
, relative_path
)Related
",
- "match": "match
match()
Related
",
+ "lopinputprim": "17.0lopinputprim
lopinputprim(
lop_path
, input_index
)This function is a shortcut, equivalent to the following expression
loplastmodifiedprim(opinput(<<lop_path>>, <<input_index>>))
Related
",
+ "lopinputprims": "17.0lopinputprims
lopinputprims(
lop_path
, input_index
)This function is a shortcut, equivalent to the following expression
loplastmodifiedprims(opinput(<<lop_path>>, <<input_index>>))
Related
",
+ "loplastmodifiedprim": "17.0loplastmodifiedprim
loplastmodifiedprim(
lop_path
)lop_path
parameter.Related
",
+ "loplastmodifiedprims": "17.0loplastmodifiedprims
loplastmodifiedprims(
lop_path
)lop_path
parameter.Related
",
+ "lopparentprims": "18.0lopparentprims
lopparentprims(
lop_paths
)Related
",
+ "loprelativeprims": "18.0loprelativeprims
loprelativeprims(
lop_paths
, relative_path
)Related
",
+ "match": "match
match()
Related
",
"matchin": "matchin
matchin()
Related
",
"matchout": "matchout
matchout()
Related
",
"matrix": "matrix
matrix(
pattern
)Examples
matrix m = matrix(\"[[1,2,3][2,3,5][-3,2,-3]]\");
vector v = m[0]; # v is [1,2,3]
float f = m[0][2]; # f is 3
nprims
nprims(
name
)nprimsgroup
nprimsgroup(
surface_node
, group_name
)nuniquevals
nuniquevals(
surface_node
, class
, attribute
)class
can be one of D_VERTEX
, D_POINT
, D_PRIMITIVE
, or D_DETAIL
for the corresponding attribute class.Examples
nuniquevals(\"/obj/geo1/facet1\", D_PRIMITIVE, \"name\")
name
in\n the facet1 surface node in geo1.nvertices
nvertices(
surface_node
)nverticesgroup
nverticesgroup(
surface_node
, group_name
)objkinoverride
objkinoverride()
none
(no overrides, rest
(bones cook using the rest\ntransform), or capture
(bones cook using the capture pose transform).Examples
objkinoverride()
Related
",
- "objlightmask": "objlightmask
objlightmask(
geometry
, options
)f
a
A
Examples
objlightmask(\"/obj/geo1\", \"fa\")
Related
",
+ "objlightmask": "objlightmask
objlightmask(
geometry
, options
)f
a
A
Examples
objlightmask(\"/obj/geo1\", \"fa\")
Related
",
"objlookat": "objlookat
objlookat(
base_node
, target_node
, upv
)Examples
objlookat(\"/obj/null1\",\"/obj/null2\",vector3(0,1,0))[0]
objpretransform
objpretransform(
object_name
)Examples
objpretransform(\"/obj/bone1\")
oc
oc(
output_channel_index
, index
)Examples
oc(0, 10)
Related
",
- "ocldeviceinfo": "ocldeviceinfo
ocldeviceinfo(
flag
)flag
is a string containing the name of the device flag.clGetDeviceInfo
\nfunction; the available flags are described in\nthe OpenCL documentation.CL_DEVICE_TYPE
CL_DEVICE_VENDOR_ID
CL_DEVICE_MAX_COMPUTE_UNITS
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS
CL_DEVICE_MAX_WORK_GROUP_SIZE
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT
CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT
CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG
CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT
CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE
CL_DEVICE_MAX_CLOCK_FREQUENCY
CL_DEVICE_ADDRESS_BITS
CL_DEVICE_MAX_READ_IMAGE_ARGS
CL_DEVICE_MAX_WRITE_IMAGE_ARGS
CL_DEVICE_MAX_MEM_ALLOC_SIZE
CL_DEVICE_IMAGE2D_MAX_WIDTH
CL_DEVICE_IMAGE2D_MAX_HEIGHT
CL_DEVICE_IMAGE3D_MAX_WIDTH
CL_DEVICE_IMAGE3D_MAX_HEIGHT
CL_DEVICE_IMAGE3D_MAX_DEPTH
CL_DEVICE_IMAGE_SUPPORT
CL_DEVICE_MAX_PARAMETER_SIZE
CL_DEVICE_MAX_SAMPLERS
CL_DEVICE_MEM_BASE_ADDR_ALIGN
CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE
CL_DEVICE_SINGLE_FP_CONFIG
CL_DEVICE_GLOBAL_MEM_CACHE_TYPE
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE
CL_DEVICE_GLOBAL_MEM_SIZE
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE
CL_DEVICE_MAX_CONSTANT_ARGS
CL_DEVICE_LOCAL_MEM_TYPE
CL_DEVICE_LOCAL_MEM_SIZE
CL_DEVICE_ERROR_CORRECTION_SUPPORT
CL_DEVICE_PROFILING_TIMER_RESOLUTION
CL_DEVICE_ENDIAN_LITTLE
CL_DEVICE_AVAILABLE
CL_DEVICE_COMPILER_AVAILABLE
CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF
CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR
CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT
CL_DEVICE_NATIVE_VECTOR_WIDTH_INT
CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG
CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT
CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE
CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF
CL_DEVICE_HOST_UNIFIED_MEMORY
CL_DEVICE_LINKER_AVAILABLE
CL_DEVICE_IMAGE_MAX_BUFFER_SIZE
CL_DEVICE_IMAGE_MAX_ARRAY_SIZE
CL_DEVICE_PARTITION_MAX_SUB_DEVICES
CL_DEVICE_REFERENCE_COUNT
CL_DEVICE_PREFERRED_INTEROP_USER_SYNC
CL_DEVICE_PRINTF_BUFFER_SIZE
CL_DEVICE_IMAGE_PITCH_ALIGNMENT
CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT
CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS
CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE
CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE
CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE
CL_DEVICE_MAX_ON_DEVICE_QUEUES
CL_DEVICE_MAX_ON_DEVICE_EVENTS
CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE
CL_DEVICE_MAX_PIPE_ARGS
CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS
CL_DEVICE_PIPE_MAX_PACKET_SIZE
CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT
CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT
CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT
CL_DEVICE_NUMERIC_VERSION
CL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORT
CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE
CL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORT
CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT
CL_DEVICE_DEVICE_ENQUEUE_SUPPORT
CL_DEVICE_PIPE_SUPPORT
ocldeviceinfo
ocldeviceinfo(
flag
)flag
is a string containing the name of the device flag.clGetDeviceInfo
\nfunction; the available flags are described in\nthe OpenCL documentation.CL_DEVICE_TYPE
CL_DEVICE_VENDOR_ID
CL_DEVICE_MAX_COMPUTE_UNITS
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS
CL_DEVICE_MAX_WORK_GROUP_SIZE
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT
CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT
CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG
CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT
CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE
CL_DEVICE_MAX_CLOCK_FREQUENCY
CL_DEVICE_ADDRESS_BITS
CL_DEVICE_MAX_READ_IMAGE_ARGS
CL_DEVICE_MAX_WRITE_IMAGE_ARGS
CL_DEVICE_MAX_MEM_ALLOC_SIZE
CL_DEVICE_IMAGE2D_MAX_WIDTH
CL_DEVICE_IMAGE2D_MAX_HEIGHT
CL_DEVICE_IMAGE3D_MAX_WIDTH
CL_DEVICE_IMAGE3D_MAX_HEIGHT
CL_DEVICE_IMAGE3D_MAX_DEPTH
CL_DEVICE_IMAGE_SUPPORT
CL_DEVICE_MAX_PARAMETER_SIZE
CL_DEVICE_MAX_SAMPLERS
CL_DEVICE_MEM_BASE_ADDR_ALIGN
CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE
CL_DEVICE_SINGLE_FP_CONFIG
CL_DEVICE_GLOBAL_MEM_CACHE_TYPE
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE
CL_DEVICE_GLOBAL_MEM_SIZE
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE
CL_DEVICE_MAX_CONSTANT_ARGS
CL_DEVICE_LOCAL_MEM_TYPE
CL_DEVICE_LOCAL_MEM_SIZE
CL_DEVICE_ERROR_CORRECTION_SUPPORT
CL_DEVICE_PROFILING_TIMER_RESOLUTION
CL_DEVICE_ENDIAN_LITTLE
CL_DEVICE_AVAILABLE
CL_DEVICE_COMPILER_AVAILABLE
CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF
CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR
CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT
CL_DEVICE_NATIVE_VECTOR_WIDTH_INT
CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG
CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT
CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE
CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF
CL_DEVICE_HOST_UNIFIED_MEMORY
CL_DEVICE_LINKER_AVAILABLE
CL_DEVICE_IMAGE_MAX_BUFFER_SIZE
CL_DEVICE_IMAGE_MAX_ARRAY_SIZE
CL_DEVICE_PARTITION_MAX_SUB_DEVICES
CL_DEVICE_REFERENCE_COUNT
CL_DEVICE_PREFERRED_INTEROP_USER_SYNC
CL_DEVICE_PRINTF_BUFFER_SIZE
CL_DEVICE_IMAGE_PITCH_ALIGNMENT
CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT
CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS
CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE
CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE
CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE
CL_DEVICE_MAX_ON_DEVICE_QUEUES
CL_DEVICE_MAX_ON_DEVICE_EVENTS
CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE
CL_DEVICE_MAX_PIPE_ARGS
CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS
CL_DEVICE_PIPE_MAX_PACKET_SIZE
CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT
CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT
CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT
CL_DEVICE_NUMERIC_VERSION
CL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORT
CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE
CL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORT
CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT
CL_DEVICE_DEVICE_ENQUEUE_SUPPORT
CL_DEVICE_PIPE_SUPPORT
oldrand
oldrand(
value
)value
will give the same result each time. A\ndifferent number is returned if fractional values are different.Note
Examples
oldrand(12.1) gives a different result than oldrand(12.2)
Related
",
"opblist": "opblist
opblist(
bundle_name
)opcreator
opcreator(
name
)Examples
opcreator(\"/obj/geo1/line1\")
/obj/geo1
, indicating that object geo1
is the creator network for line1
.Related
",
"opdigits": "opdigits
opdigits(
name
)Examples
opdigits(\"/obj/geo1\") = 1
opdigits(\".\") = 1
opexist
opexist(
op_name
)Examples
echo `opexist(\"../box1\")`
echo `opexist(\"/obj/@mygroup\")`
echo `opexist(\"@mybundle\")`
opflag
opflag(
network
, flag
)flag
argument follows the same convention as the opset\ncommand. Examples are:\"d\"
\"r\"
\"t\"
\"b\"
\"l\"
\"e\"
\"h\"
\"f\"
\"s\"
\"u\"
\"c\"
\"C\"
\"p\"
\"P\"
\"O\"
\"S\"
\"x\"
\"y\"
\"a\"
\"o\"
Examples
hscript -> echo `opflag(\"/obj\", \"d\")`
hscript -> echo `opflag(\"/obj/geo1\", \"l\")`
Related
",
+ "opflag": "opflag
opflag(
network
, flag
)flag
argument follows the same convention as the opset\ncommand. Examples are:d
r
t
b
l
e
h
f
s
u
c
C
p
P
O
S
x
y
a
o
Examples
hscript -> echo `opflag(\"/obj\", \"d\")`
hscript -> echo `opflag(\"/obj/geo1\", \"l\")`
Related
",
"opfullpath": "opfullpath
opfullpath(
relpath
)Related
",
"opfullpathfrom": "opfullpathfrom
opfullpathfrom(
node
, basenode
)node
,\nrelative to basenode
. If basenode
is a relative\npath it is relative to the current nodes.Related
",
"opid": "opid
opid(
name
)Examples
opid(\"/obj/model\")
opinput
opinput(
name
, index
)index
is the 0-based number of the input. For example,\nto get the name of the node connected to the first input,\nuse opinput(\".\", 0)
, and for the second input, use\nopinput(\".\", 1)
.Examples
point(\"../\" + opinput(\".\", 0), $PT, \"P\", 0)
Related
",
"opinputpath": "opinputpath
opinputpath(
name
, index
)index
is the 0-based number of the input. For example,\nto get the path of the node connected to the first input,\nuse opinputpath(\".\", 0)
, and for the second input, use\nopinputpath(\".\", 1)
.Examples
point(opinputpath(\".\", 0), $PT, \"P\", 0)
Related
",
- "opinputstring": "opinputstring
opinputstring(
name
, index
, key
)index
is the 0-based number of the input. For example,\nto get the path of the node connected to the first input,\nuse opinputstring(\".\", 0, \"refprimpath\")
, and for the second input, use\nopinputstring(\".\", 1, \"refprimpath\")
. key
is the key string associated\nwith the value that should be returned.Examples
opinputstring(\".\", 1, \"refprimpath\")
opinputstring
opinputstring(
name
, index
, key
)index
is the 0-based number of the input. For example,\nto get the path of the node connected to the first input,\nuse opinputstring(\".\", 0, \"refprimpath\")
, and for the second input, use\nopinputstring(\".\", 1, \"refprimpath\")
. key
is the key string associated\nwith the value that should be returned.Examples
opinputstring(\".\", 1, \"refprimpath\")
opisloading
opisloading()
opisquitting
opisquitting()
oplightmask
oplightmask(
geometry
)objlightmask(geometry, \"f\")
.Examples
oplightmask(\"/obj/geo1\")
\"/obj/ambient1 /obj/light1 /obj/subnet1/light1\"
.Related
",
@@ -263,74 +267,77 @@
"opname": "opname
opname(
name
)opname(\"..\")
will return the name of the network containing the\ncurrent node.Related
",
"opnchildren": "opnchildren
opnchildren(
name
)opninputs
opninputs(
name
)opninputs
will return 4
. If the first and third inputs are connected,\nopninputs
will return 3
.Related
",
- "opnodigits": "opnodigits
opnodigits(
name
)Examples
opnodigits(\"/obj/geo1\") = /obj/geo
opdigits(\".\") = /obj/geo
opnodigits
opnodigits(
name
)Examples
opnodigits(\"/obj/geo1\") = /obj/geo
opdigits(\".\") = /obj/geo
opnoutputs
opnoutputs(
name
)Related
",
"opoutput": "opoutput
opoutput(
name
, index
)Related
",
"opoutputpath": "opoutputpath
opoutputpath(
name
, index
)Related
",
"oppinput": "oppinput
oppinput(
name
, index
)oppwd
oppwd()
execute(\"oppwf\")
.oppwf
oppwf()
oppwf
oppwf()
oprelativepath
oprelativepath(
srcpath
, destpath
)Related
",
- "opselect": "opselect
opselect(
network
)Examples
echo `opselect(\"/obj\")`
Related
",
- "opselectpath": "opselectpath
opselectpath(
network
)Examples
echo `opselectpath(\"/obj\")`
Related
",
- "opselectrecurse": "opselectrecurse
opselectrecurse(
network
, flag
)Examples
echo `opselectrecurse(\"/obj/model\",1)`
echo `opselectrecurse(\"/obj/model\",0)`
Related
",
- "opselectrecursepath": "opselectrecursepath
opselectrecursepath(
network
, flag
)Examples
echo `opselectrecursepath(\"/obj/model\",1)`
echo `opselectrecursepath(\"/obj/model\",0)`
Related
",
+ "opselect": "opselect
opselect(
network
)Examples
echo `opselect(\"/obj\")`
Related
",
+ "opselectpath": "opselectpath
opselectpath(
network
)Examples
echo `opselectpath(\"/obj\")`
Related
",
+ "opselectrecurse": "opselectrecurse
opselectrecurse(
network
, flag
)Examples
echo `opselectrecurse(\"/obj/model\",1)`
echo `opselectrecurse(\"/obj/model\",0)`
Related
",
+ "opselectrecursepath": "opselectrecursepath
opselectrecursepath(
network
, flag
)Examples
echo `opselectrecursepath(\"/obj/model\",1)`
echo `opselectrecursepath(\"/obj/model\",0)`
Related
",
"opstreamname": "opstreamname
opstreamname
expression computes the ad hoc point group for the nodes active stream.streamname
parameter of that generator. But, in the presence of merge nodes, it may produce a list of groups that form the active stream.string opstreamname(
nodepath
)opsubpath
opsubpath(
node
)Related
",
- "optransform": "optransform
optransform(
object_name
)optype
optype(
name
)Examples
optype(\"/obj/geo1\")
Related
",
+ "optransform": "optransform
optransform(
object_name
)optype
optype(
name
)Examples
optype(\"/obj/geo1\")
Related
",
"optypeinfo": "optypeinfo
optypeinfo(
name
, pattern
)N
/obj/geo1
, this would be geo1
.r
/obj/geo1
, this would be geo
.e
/obj/geo1
, this would be Geometry
.n
/obj/geo1
, this would be\n OBJ
.s
/obj/geo1
, this would be\n obj
.i
T
/obj/geo1
, this would be\n Object
.t
/obj/model
, this would be geo
.o
/
, while also taking into account any namespace \n or version operator type name components. For /obj/model
, this would be\n Object/geo
, or for namespaced HDA it may be ns::Object/myhda::1.0
.Examples
optypeinfo(\"/obj/geo1\", \"NtT\")
\"geo1 geo Object\"
Related
",
- "origin": "origin
origin(
obj1
, obj2
, constant_type
)Related
",
- "originoffset": "originoffset
obj1
, pos1
, obj2
, pos2
,constant_type
)`Related
",
- "padzero": "padzero
padzero(
size
, value
)value
preceded by enough zeros to make up\nsize
digits.Examples
padzero(5, 126) = 00126
padzero(5, 23) = 00023
padzero(1, 23) = 23
origin
origin(
obj1
, obj2
, constant_type
)Related
",
+ "originoffset": "originoffset
obj1
, pos1
, obj2
, pos2
,constant_type
)`Related
",
+ "padzero": "padzero
padzero(
size
, value
)value
preceded by enough zeros to make up\nsize
digits.Examples
padzero(5, 126) = 00126
padzero(5, 23) = 00023
padzero(1, 23) = 23
param
param(
token
, value
)Related
",
"parmisstring": "parmisstring
parmisstring(
parameter_name
)Examples
echo `parmisstring(\"/obj/model/lookatpath\")`
pdgattrib
pdgattrib(
name
, index
)name
is the name of the attributeindex
is the component index of the attributeNote
@
, but makes it\n easier to programtically select the attribute name or index.name
.index
Examples
pdgattrib(\"pdg_frame\", 0)
@pdg_frame
pdgattrib(\"color\", 2)
Related
",
- "pdgattriblist": "pdgattriblist
pdgattriblist()
Related
",
- "pdgattribs": "pdgattribs
pdgattribs(
name
, index
)name
is the name of the attributeindex
is the component index of the attributeNote
@
, but makes it\n easier to programtically select the attribute name or index.name
.index
Examples
pdgattribs(\"pdg_input\", 0)
@pdg_input
.pdgattribs(\"filenames\", 2)
Related
",
- "pdgattribsize": "pdgattribsize
pdgattribsize(
attribute
)Examples
pdgattribsize( \"position\" )
Related
",
- "pdgattribtype": "pdgattribtype
pdgattribtype(
attribute
)Types are
Examples
pdgattribtype( \"wedgeindex\" )
Related
",
- "pdgattribute": "pdgattribute
pdgattribute(
name
, index
)pdgattributes
pdgattributes(
name
, index
)pdgattribvals
pdgattribvals(
name
)name
is the name of the attributeNote
Examples
pdgattribvals(\"image_files\")
image_files
attribute. For example: image1.png image2.png \"image with space.png\"
.pdgattribvals(\"wedgevalues\")
0.5 10 20
.Related
",
- "pdginput": "pdginput
pdginput(
index
, tag
, localize
)index
the input file number, from the list of files on the active work itemtag
the tag, which can be set to empty string if unspecifiedlocalize
set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.Note
@pdg_input
attribute.Examples
pdginput(1, \"file/image\", 0)
Related
",
- "pdginputsize": "pdginputsize
pdginputsize(
tag
)tag
the tag, which can be set to empty string if unspecifiedExamples
pdginputsize(\"file/geo\")
Related
",
- "pdginputvals": "pdginputvals
pdginputvals(
tag
, localize
)tag
the tag, which can be set to empty string if unspecifiedlocalize
set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.Examples
pdginputvals(\"file/image\", 0)
image1.png image2.png \"image with space\".png
Related
",
- "pdgoutput": "pdgoutput
pdgoutput(
index
, tag
, localize
)index
the output file indextag
the tag, which can be set to empty string if unspecifiedlocalize
set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.Note
@pdg_output
attribute.Examples
pdgoutput(1, \"\", 0)
@pdg_output.1
.Related
",
- "pdgoutputsize": "pdgoutputsize
pdgoutputsize(
tag
)tag
the tag, which can be set to empty string if unspecifiedExamples
pdgoutputsize(\"file/image\")
Related
",
- "pdgoutputvals": "pdgoutputvals
pdgoutputvals(
tag
, localize
)tag
the tag, which can be set to empty string if unspecifiedlocalize
set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.Examples
pdgoutputvals(\"file/geo\", 0)
ropfetch1.01.bgeo.sc ropfetch2.02.bgeo.sc
.Related
",
+ "pdgattrib": "18.0pdgattrib
pdgattrib(
name
, index
)name
is the name of the attributeindex
is the component index of the attributeNote
@
, but makes it\n easier to programtically select the attribute name or index.name
.index
Examples
pdgattrib(\"pdg_frame\", 0)
@pdg_frame
pdgattrib(\"color\", 2)
Related
",
+ "pdgattriblist": "18.0pdgattriblist
pdgattriblist()
Note
Related
",
+ "pdgattribs": "18.0pdgattribs
pdgattribs(
name
, index
)name
is the name of the attributeindex
is the component index of the attributeNote
@
, but makes it\n easier to programtically select the attribute name or index.name
.index
Examples
pdgattribs(\"pdg_input\", 0)
@pdg_input
.pdgattribs(\"filenames\", 2)
Related
",
+ "pdgattribsize": "18.0pdgattribsize
pdgattribsize(
attribute
)Examples
pdgattribsize( \"position\" )
Related
",
+ "pdgattribtype": "18.0pdgattribtype
pdgattribtype(
attribute
)Types are
Examples
pdgattribtype( \"wedgeindex\" )
Related
",
+ "pdgattribute": "17.5pdgattribute
pdgattribute(
name
, index
)pdgattributes
pdgattributes(
name
, index
)pdgattribvals
pdgattribvals(
name
)name
is the name of the attributeNote
Examples
pdgattribvals(\"image_files\")
image_files
attribute. For example: image1.png image2.png \"image with space.png\"
.pdgattribvals(\"wedgevalues\")
0.5 10 20
.Related
",
+ "pdginput": "17.5pdginput
pdginput(
index
, tag
, localize
)index
the input file number, from the list of files on the active work itemtag
the tag, which can be set to empty string if unspecifiedlocalize
set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.Note
@pdg_input
attribute.Examples
pdginput(1, \"file/image\", 0)
Related
",
+ "pdginputsize": "18.0pdginputsize
pdginputsize(
tag
)tag
the tag, which can be set to empty string if unspecifiedExamples
pdginputsize(\"file/geo\")
Related
",
+ "pdginputtag": "19.0pdginputtag
pdginputtag(
index
)index
the index in the list of input filesExamples
pdginputtag(2)
Related
",
+ "pdginputvals": "18.0pdginputvals
pdginputvals(
tag
, localize
)tag
the tag, which can be set to empty string if unspecifiedlocalize
set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.Examples
pdginputvals(\"file/image\", 0)
image1.png image2.png \"image with space\".png
Related
",
+ "pdgmappath": "18.5pdgmappath
pdgmappath(
path
)path
the path to be mapped.Tip
Examples
pdgmappath(\"/mnt/hq/myproj/file1.bgeo.sc\")
Related
",
+ "pdgoutput": "17.5pdgoutput
pdgoutput(
index
, tag
, localize
)index
the output file indextag
the tag, which can be set to empty string if unspecifiedlocalize
set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.Note
@pdg_output
attribute.Examples
pdgoutput(1, \"\", 0)
@pdg_output.1
.Related
",
+ "pdgoutputsize": "18.0pdgoutputsize
pdgoutputsize(
tag
)tag
the tag, which can be set to empty string if unspecifiedExamples
pdgoutputsize(\"file/image\")
Related
",
+ "pdgoutputtag": "19.0pdgoutputtag
pdgoutputtag(
index
)index
the index in the list of output filesExamples
pdgoutputtag(2)
Related
",
+ "pdgoutputvals": "18.0pdgoutputvals
pdgoutputvals(
tag
, localize
)tag
the tag, which can be set to empty string if unspecifiedlocalize
set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.Examples
pdgoutputvals(\"file/geo\", 0)
ropfetch1.01.bgeo.sc ropfetch2.02.bgeo.sc
.Related
",
"pic": "pic
pic(
copname
, U
, V
, color_type
)Examples
pic(\"/img/img1/color1\", .5, .5, D_CLUM)
Related
",
"picni": "picni
picni(
copname
, U
, V
, color_type
)Examples
picni(\"/img/img1/color1\", .5, .5, D_CLUM)
Related
",
"pluralize": "pluralize
pluralize(
s
)point
point(
surface_node
, point_number
, attribute
, index
)surface_node
is a path to a surface node, for example \"/obj/geo1/grid1\"
.point_number
is the point number to read the attribute from.\n When instancing, you can use instancepoint to get the number of the\n point currently being instanced.attribute
is the name of the attribute (for example, Cd
for diffuse\n color). Two special attributes exist: P
and Pw
which represent the\n position of the point in space (Pw
allows you to access the W\n component of the position)..
, for\n example \"param.key\"
will return the value of key
in the dictionary\n attribute param
.index
specifies the component position in multi-component attributes such as vectors, colors, and arrays. For example, if the attribute is a color, an index
value of 0
returns the red component, 1
returns the green component, and 2
returns the blue component.
This function will interpolate between point values if the point\n number is fractional, such as 3.35.
point(\"/obj/geo1/facet1\", 3, \"P\", 0)
Returns the X component of point 3 of the facet1
surface node in geo1
.
point(\"/obj/geo1/facet1\", 3, \"N\", 2)
Returns the Z component of the normal attribute of point 3 in the facet1
surface node of object geo1
.
Returns a space-separated list of point attribute names.
pointattriblist(surface_node
)
Returns the number of components in a point attribute.
pointattribsize(surface_node
, attribute
)
If the surface node or attribute is not found, returns 0.
pointattribsize( \"/obj/model/grid1\", \"P\" )
Returns 3, the number of components in a \"P\"\n (position) attribute (X, Y, and Z).
Returns the value of a point attribute.
point(surface_node
, point_number
, attribute
, index
)
surface_node
is a path to a surface node, for example \"/obj/geo1/grid1\"
.
point_number
is the point number to read the attribute from.\n When instancing, you can use instancepoint to get the number of the\n point currently being instanced.
attribute
is the name of the attribute (for example, Cd
for diffuse\n color). Two special attributes exist: P
and Pw
which represent the\n position of the point in space (Pw
allows you to access the W\n component of the position).
Components of dictionary attributes can be resolved using .
, for\n example \"param.key\"
will return the value of key
in the dictionary\n attribute param
.
This function will interpolate between point values if the point\n number is fractional, such as 3.35.
point(\"/obj/geo1/facet1\", 3, \"P\", 0)
Returns the X component of point 3 of the facet1
surface node in geo1
.
point(\"/obj/geo1/facet1\", 3, \"N\", 2)
Returns the Z component of the normal attribute of point 3 in the facet1
surface node of object geo1
.
Returns a space-separated list of point attribute names.
pointattriblist(surface_node
)
Returns the number of components in a point attribute.
pointattribsize(surface_node
, attribute
)
If the surface node or attribute is not found, returns 0.
pointattribsize( \"/obj/model/grid1\", \"P\" )
Returns 3, the number of components in a P\n (position) attribute (X, Y, and Z).
Returns the type of a point attribute.
pointattribtype(surface_node
, attribute
)
If the surface node or attribute are not found, returns -1.
Types are
pointattribsize( \"/obj/model/box\", \"Cd\" )
Returns 1 to denote a float attribute.
Returns the average of an attribute across all points in a geometry.
pointavg(surface_node
, attribute
, index
)
This function works much like the point function, except that it\nreturns the average value of the attribute for all points in the\nspecified surface node.
index
specifies the component position in multi-component attributes such as vectors, colors, and arrays. For example, if the attribute is a color, an index
value of 0
returns the red component, 1
returns the green component, and 2
returns the blue component.
Returns the average of an attribute across all points in a geometry.
pointavg(surface_node
, attribute
, index
)
This function works much like the point function, except that it\nreturns the average value of the attribute for all points in the\nspecified surface node.
", "pointdist": "Returns the distance between a point and a primitive.
surface_node
, point_num
, surface_node
, prim_num
,return_type
)`
Given a point and a primitive, this function finds the distance between\nthe point and the closest spot on the primitive. If prim_num is minus\none, the closest distance to any primitive is found.
pointdist(\"/obj/geo1/add1\", 0, \"/obj/geo1/grid1\", 0, 0)
Returns the distance between point 0 of add1 and the closest spot\nfrom the surface of grid1 primitive number 0. If the return_type\nwere 1, the u parametric value that is closest to the point would be\nreturned.
Returns the list of point groups in a surface node.
pointgrouplist(surface_node
)
The returned string is a space separated list of group names.
To get a list of groups whose names match a pattern, use\npointgroupmask.
Returns the list of point groups matching a pattern in a surface node.
pointgroupmask(surface_node
, pattern
)
The returned string is a space separated list of group names.
To simply get a list of all point groups (no pattern),\nuse pointgrouplist.
pointgroupmask(\"/obj/model\", \"group*\")
Returns the names of all point groups in the specified surface node which\n start with \"group\". So this may be something like \"group1 group2\n group_smoke\".
Returns the list of point groups matching a pattern in a surface node.
pointgroupmask(surface_node
, pattern
)
The returned string is a space separated list of group names.
To simply get a list of all point groups (no pattern),\nuse pointgrouplist.
pointgroupmask(\"/obj/model\", \"group*\")
Returns the names of all point groups in the specified surface node which\n start with group. So this may be something like group1 group2\n group_smoke.
Returns a list of all points in a point group.
pointlist(surface_node
, group_name
)
The returned string is a space separated list of point numbers.
Lists points that share a minimum number of primitives with\na specified point.
pointneighbours(surface_node
, point_num
, num_shared_prims
)
This function lists all the points that share at\nleast num_shared_prims
primitives with the point specified by\npoint_num
.
The returned string is a space separated list of point numbers.
pointneighbours(\"/obj/geo1/sphere1\", 88, 2)
Returns a list of numbers that identify the points in sphere1 that\n share at least 2 primitives (typically along an edge) with sphere1\n point number 88.
pointneighbours(\"/obj/geo1/sphere1\", 88, 1)
Returns a list of numbers that identify the points in sphere1 that\n share at least 1 primitive with sphere1 point number 88.
pointneighbours(\"/obj/geo1/sphere1\", 88, 0)
Returns a list of all the points in sphere1 except point number 88.
Returns a list of points that match a specified pattern.
pointpattern(surface_node
, pattern
)
The pattern is a space separated list of point numbers, point number ranges,\nor point group names.
The returned string is a space separated list of point numbers.
pointpattern(\"/obj/model/sphere1\", \"2-5 10-12\")
Returns \"2 3 4 5 10 11 12\", assuming the specified surface node exists and\n has that many points.
pointpattern(\"/obj/model/group1\", \"10 group1 20\")
Returns a list of all points in the group named \"group\", as well as\n 10 and 20. The order of the returned points is not guaranteed.
Returns a list of points that match a specified pattern.
pointpattern(surface_node
, pattern
)
The pattern is a space separated list of point numbers, point number ranges,\nor point group names.
The returned string is a space separated list of point numbers.
pointpattern(\"/obj/model/sphere1\", \"2-5 10-12\")
Returns 2 3 4 5 10 11 12, assuming the specified surface node exists and\n has that many points.
pointpattern(\"/obj/model/group1\", \"10 group1 20\")
Returns a list of all points in the group named group, as well as\n 10 and 20. The order of the returned points is not guaranteed.
Returns the string value of a point attribute.
points(surface_node
, point_number
, attribute
)
Components of dictionary attributes can be resolved using .
, for\nexample \"param.key\"
will return the value of key
in the dictionary\nattribute param
.
points(\"/obj/geo1/facet1\", 3, \"instance\")
Returns the string associated with the string attribute instance
for point 3 in the facet1
surface node in geo1
.
Returns a string from a list of strings in a point attribute.
pointsmap(surface_node
, attribute
, index
)
This function will return the index
th unique string bound to the given\npoint attribute. Use pointsnummap to find the total number of unique\nstrings. Note that the exact order of the strings is should not be\nrelied upon. The indexes start with 0 and go to pointsnummap()-1.
pointsmap(\"/obj/geo1/attribcreate1\", \"foo\", 0)
Returns the first unique string on the given surface node.
", "pointsnummap": "Returns the number of unique strings bound to a point attribute.
pointsnummap(surface_node
, attribute
)
pointsnummap(\"/obj/geo1/attribcreate1\", \"foo\")
Returns number of unique strings in the foo attribute.
", "pow": "Raises a number to an exponent.
pow(base
, exponent
)
pow(2, 3) = 8
Returns the value of a primitive attribute.
prim(surface_node
, prim_num
, attrib_name
, attrib_index
)
When given the P
or Pw
attribute, returns the centroid of the primitive.
This can also be used to read the value of a primitive intrinsic by specifying\n\"intrinsic:name_of_intrinsic\"
instead of an attribute name.
Components of dictionary attributes can be resolved using .
, for\nexample \"param.key\"
will return the value of key
in the dictionary\nattribute param
.
prim(\"/obj/geo1/facet1\", 3, \"P\", 0)
Evaluates the X component of the centroid of primitive 3 in the\n specified surface node.
prim(\"/obj/geo1/facet1\", 3, \"Cd\", 1)
Evaluate the green color of the Cd
attribute of primitive 3.
Returns a space-separated list of primitive attribute names.
primattriblist(surface_node
)
Returns a space-separated list of primitive attribute names.
primattriblist(surface_node
)
Returns the number of components in a primitive attribute.
primattribsize(surface_node
, attribute
)
If the surface node or attribute are not found, returns 0.
primattribsize( \"/obj/model/box\", \"Cd\" )
Returns the number of elements of a diffuse color attribute.
Returns the type of a primitive attribute.
primattribtype(surface_node
, attribute
)
If the surface node or attribute are not found, returns -1.
Types are
primattribsize( \"/obj/model/box\", \"Cd\" )
Returns 1 to denote a float attribute.
Returns the minimum distance and closest points between two primitives.
surface_node
, prim1_num
, surface_node
, prim2_num
,return_type
)`
Only works for faces, curves, and spline surfaces. Other types of\nprimitives will always return 0.
Minimum works in two groups. You can either use minimum between curves and polygons or between meshes, nurbs surfaces, and bezier surfaces. However, it will not work between the two groups. For example, a NURBS curve + NURBS surface will not work.
primdist(\"/obj/geo1/sphere1\", 0, \"/obj/geo1/grid1\", 0, 0)
Returns the distance between the first primitives in both sphere1\n and grid1.
Returns the partial derivatives of a primitive attribute.
surface_node
, prim_num
, attrib_name
, attrib_index
,u
, v
, du
, dv
)`
Evaluates the (partial) derivatives of a face or hull attribute at a\nparametric (u,v) position. u and v are unit values, defined in the\n[0,1]
interval. When given the \"P\" or \"Pw\" attribute, the positional\nderivative of (u,v)'s image on the primitive will be returned. If the\nprimitive is a face type, v and dv are ignored. If both du and dv are 0,\nprimduv becomes equivalent to primuv.
if the primitive is a polygon or a mesh, u and v are defined in\n terms of the number of vertices, or rows or columns respectively.
primduv(\"/obj/geo1/tube1\", 12, \"P\", 2, 0.4, 0.5, 1, 0)
Evaluates the Z component of the first-order partial derivative of\n primitive 12 with respect to u, at the parametric location\n (0.4,0.5).
Returns the partial derivatives of a primitive attribute.
surface_node
, prim_num
, attrib_name
, attrib_index
,u
, v
, du
, dv
)`
Evaluates the (partial) derivatives of a face or hull attribute at a\nparametric (u,v) position. u and v are unit values, defined in the\n[0,1]
interval. When given the P or Pw attribute, the positional\nderivative of (u,v)'s image on the primitive will be returned. If the\nprimitive is a face type, v and dv are ignored. If both du and dv are 0,\nprimduv becomes equivalent to primuv.
if the primitive is a polygon or a mesh, u and v are defined in\n terms of the number of vertices, or rows or columns respectively.
primduv(\"/obj/geo1/tube1\", 12, \"P\", 2, 0.4, 0.5, 1, 0)
Evaluates the Z component of the first-order partial derivative of\n primitive 12 with respect to u, at the parametric location\n (0.4,0.5).
Returns the list of primitive groups in a surface node.
primgrouplist(surface_node
)
The returned string is a space separated list of group names.
Returns the list of groups matching a pattern in a surface node.
primgroupmask(surface_node
, pattern
)
The returned string is a space separated list of group names.
To simply get a list of all primitive groups (no pattern),\nuse primgrouplist.
primgroupmask(\"/obj/model\", \"group*\")
Returns the names of all primitive groups in the specified surface node \n which start with \"group\". So this may be something like \"group1 group2\n group_leftleg\".
Returns the list of groups matching a pattern in a surface node.
primgroupmask(surface_node
, pattern
)
The returned string is a space separated list of group names.
To simply get a list of all primitive groups (no pattern),\nuse primgrouplist.
primgroupmask(\"/obj/model\", \"group*\")
Returns the names of all primitive groups in the specified surface node \n which start with group. So this may be something like group1 group2\n group_leftleg.
Returns a list of all primitives in a surface node.
primlist(surface_node
, group_name
)
The return string is a space separated list of primitive numbers.
Lists primitives that share a minimum number of points with a\nspecified primitive.
primneighbours(surface_node
, prim_num
, num_shared_pts
)
This function lists all the primitives that share\nat least the given number of points with the primitive specified.
The returned string is a space separated list of primitive numbers.
primneighbours(\"/obj/geo1/sphere1\", 88, 2)
Returns a list of numbers that identify the primitives in sphere1\n that share at least 2 points (typically along an edge) with sphere1\n primitive number 88.
primneighbours(\"/obj/geo1/sphere1\", 88, 1)
Returns a list of numbers that identify the primitives in sphere1\n that share at least 1 point with sphere1 primitive number 88.
primneighbours(\"/obj/geo1/sphere1\", 88, 0)
Returns a list of all the primitives in sphere1 except primitive\n number 88.
Returns the string value of a primitive attribute.
prims(surface_node
, primitive_number
, attribute
)
This can also be used to read the value of a primitive intrinsic by specifying\n\"intrinsic:name_of_intrinsic\"
instead of an attribute name.
Components of dictionary attributes can be resolved using .
, for\nexample \"param.key\"
will return the value of key
in the dictionary\nattribute param
.
prims(\"/obj/geo1/facet1\", 3, \"texturemap\")
Returns the string associated with the string attribute texturemap
\n for primitive 3 in the facet1
surface node in geo1
.
Returns a string from a list of strings in a primitive attribute.
primsmap(surface_node
, attribute
, index
)
This function will return the index
th unique string bound to the given\nprim attribute. Use primsnummap to find the total number of unique\nstrings. Note that the exact order of the strings is should not be\nrelied upon. The indexes start with 0 and go to primsnummap()-1.
primsmap(\"/obj/geo1/attribcreate1\", \"foo\", 0)
Returns the first unique string in the foo attribute.
", "primsnummap": "Returns the number of unique strings bound to a primitive attribute.
primsnummap(surface_node
, attribute
)
primsnummap(\"/obj/geo1/attribcreate1\", \"foo\")
Returns number of unique strings tied to the foo attribute.
", - "primuv": "Returns the value of a primitive attribute at a certain UV location.
surface_node
, prim_num
, attrib_name
, attrib_index
,u
, v
)`
Evaluates the specified attribute at a parametric (u,v) position on the\nprimitive. u and v are unit values, defined in the [0,1]
interval. When\ngiven the \"P\" or \"Pw\" attribute, the x, y, or z image of the (u,v)\ndomain point will be returned. If the primitive is a face type or a\ncircle, v is ignored.
if the primitive is a polygon or a mesh, u and v are defined in\n terms of the number of vertices, or rows or columns respectively.\n Currently, only the position attribute of quadric primitives can\n be evaluated.
primuv(\"/obj/geo1/tube1\", 0, \"Cd\", 1, 0.7, 0.3)
Evaluates the Green component of the diffuse color attribute at a\n location on primitive 0 given by the parametric coordinates\n (0.7,0.3).
Returns the value of a primitive attribute at a certain UV location.
surface_node
, prim_num
, attrib_name
, attrib_index
,u
, v
)`
Evaluates the specified attribute at a parametric (u,v) position on the\nprimitive. u and v are unit values, defined in the [0,1]
interval. When\ngiven the P or Pw attribute, the x, y, or z image of the (u,v)\ndomain point will be returned. If the primitive is a face type or a\ncircle, v is ignored.
if the primitive is a polygon or a mesh, u and v are defined in\n terms of the number of vertices, or rows or columns respectively.\n Currently, only the position attribute of quadric primitives can\n be evaluated.
primuv(\"/obj/geo1/tube1\", 0, \"Cd\", 1, 0.7, 0.3)
Evaluates the Green component of the diffuse color attribute at a\n location on primitive 0 given by the parametric coordinates\n (0.7,0.3).
Prints a message to the console.
print(label
, expression
)
This is useful diagnose parameters in nodes or channels.
Returns the value of expression
.
print(\"wheel:\", sin($T))
Similar to ch()
, but for render properties, with a default if the property doesn\u2019t exist.
property(\"path
\", default
)
propertyf(\"path
\", frame
, default
)
propertyt(\"path
\", time
, default
)
propertys(\"path
\", \"default
\")
propertysop(\"path
\", \"default
\")
propertysraw(\"path
\", \"default
\")
The property
, propertyf
, propertyt
, propertys
, propertysop
, and propertysraw
functions are equivalent to the ch, chf, cht, chs, chsop, and chsraw function but for evaluating render properties.
The first argument is a path to a property on a node. Unlike their ch*
counterparts, these functions take an extra default
argument which the function returns if the property/parameter doesn\u2019t exist on the node.
For example, for an object where the vm_pointscale
attribute exists, but the vm_samplecovingexpansion
property doesn\u2019t exist, you can get a default value back using the property()
function:
property(\"/obj/geo1/vm_pointscale\", 2.0) == 1
property(\"/obj/geo1/vm_samplecovingexpansion,\", 0.2) == 0.2
If you use the ch()
function, it will silently fails and return 0
if the property doesn\u2019t exist:
ch(\"/obj/geo1/vm_pointscale\") == 1
ch(\"/obj/geo1/vm_samplecovingexpansion,\") == 0
See the equivalent ch
function for more information on each variant.
Evaluates a render property at a given frame.
See property.
", @@ -348,7 +355,7 @@ "rand": "Returns a pseudo-random number from 0 to 1.
rand(value
)
Using the same value
always gives the same result. To vary the\nresult, base the value
on a changing number (usually the current\nframe $F
).
rand($F)
When you're randomizing component values (such as X, Y, and Z),\nchange the value
for each component so they don\u2019t all get the\nsame number:
X
rand($F)
Y
rand($F * 0.1)
Z
rand($F * 0.01)
It is a good idea to use non-integer values as the argument to\n rand().
", "raw": "Channel segment function.
raw()
Converts unit UV to real UV.
realuv(surface_node
, prim_num
, uv_unit
, D_U|D_V
)
The unit value is defined in the [0,1]
interval. The\nreal value is defined in the valid interval of the primitive\u2019s domain if\nthe primitive is a spline type. If the primitive is a polygon or a mesh,\nthe size of its domain is given by the number of vertices, or rows or\ncolumns respectively. If the primitive is a polygon or a curve, D_U and\nD_V are irrelevant.
the result is undefined if the primitive is neither a face nor a\n hull.
Returns the relative path of a file.
Returns the supplied path converted to a relative path, expressed as\nrelative to Houdini\u2019s current working directory. The file does not need to\nexist.
relpath(abspath
)
Returns the relative path of a file.
Returns the supplied path converted to a relative path, expressed as\nrelative to Houdini\u2019s current working directory. The file does not need to\nexist.
relpath(abspath
)
Channel segment function: repeats animation from previous frames.
repeat(f1
, f2
)
Repeats the animation from frames f1
to f2
.
If you wish to repeat the animation cumulatively,\nuse the cycle function instead.
Channel segment function: repeats animation from previous frames.
repeatt(t1
, t2
)
Repeats the animation from t1
seconds to t2
seconds.
If you wish to repeat the animation cumulatively, use\nthe cyclet function instead.
Returns the natural resolution of the image in a compositing node.
res(compositing_node
, res_type
)
res_type
is either D_XRES or D_YRES.
res(\"/img/img1/color1\", D_XRES)
Runs a string as an HScript command and returns the\ncommand and error output.
runb(command
)
This is a short form for the executeb function.
Runs a string as an HScript command and returns any error output.
rune(command
)
This is a short form for the executee function.
Takes three scaling values and returns a scale matrix.
scale(sx
, sy
, sz
)
Returns the scale factor converting from MKS units to the Houdini units.
scalefrommks
will return the conversion factor to convert from\nmeter/kilogram/second units into the current Houdini units. The provided\nstring provides the dimension of the units to convert as token/exponent pairs.\nValid tokens are m
for length, kg
for mass, and s
for time.
scalefrommks(dimensions
)
scalefrommks (\"m2\")
Returns the scale factor converting to MKS units from the Houdini units.
scaletomks
will return the conversion factor to convert to\nmeter/kilogram/second units from the current Houdini units. The provided\nstring provides the dimension of the units to convert as token/exponent pairs.\nValid tokens are m
for length, kg
for mass, and s
for time.
scaletomks(dimensions
)
scaletomks (\"m2\")
Returns the scale factor converting from MKS units to the Houdini units.
scalefrommks
will return the conversion factor to convert from\nmeter/kilogram/second units into the current Houdini units. The provided\nstring provides the dimension of the units to convert as token/exponent pairs.\nValid tokens are m
for length, kg
for mass, and s
for time.
scalefrommks(dimensions
)
scalefrommks (\"m2\")
Returns the scale factor converting to MKS units from the Houdini units.
scaletomks
will return the conversion factor to convert to\nmeter/kilogram/second units from the current Houdini units. The provided\nstring provides the dimension of the units to convert as token/exponent pairs.\nValid tokens are m
for length, kg
for mass, and s
for time.
scaletomks(dimensions
)
scaletomks (\"m2\")
Lists all seam points in a surface node.
seampoints(surface_node
, whichside
)
This function returns a string containing an ordered list of all seam\npoints in the specified surface node. Seam points are identified by seam attributes on the points.
The whichside
argument specifies which side of the seams we are\ninterested in. The value can be either zero or one.
Calling this function once with\na whichside parameter of zero, and once with a whichside parameter of\none, will provide two lists of points where tying each point to the\ncorresponding point in the other list fully describes all seams on the\ngeometry.
Returns 1 if a specified compositing node has an animated sequence.
seqanim(compositing_node
)
Returns 0 if compositing_node
has a single image.
Returns the end frame of a compositing node\u2019s image sequence.
seqend(compositing_node
)
Returns the number of frames in a compositing node\u2019s image sequence.
seqlength(compositing_node
)
Returns the start frame of a compositing node\u2019s image sequence.
seqstart(compositing_node
)
Returns the shader string generated by a shader.
shopstring(shop_path
, render_type
)
The render_type
is a string representing the renderer\n(\"RIB\" or \"VMantra\" for example). If this string is empty, then the\ndefault render type for the shader is used.
Returns the shader string generated by a shader.
shopstring(shop_path
, render_type
)
The render_type
is a string representing the renderer\n(RIB or VMantra for example). If this string is empty, then the\ndefault render type for the shader is used.
Returns -1, 0, or 1 depending on the sign of the argument.
sign(value
)
Returns 1 if value
is positive, -1 if value
is negative,\nand 0 if the value
is zero.
Returns the sine of the argument.
sin(degrees
)
sin (60)=0.866025
Returns the hyperbolic sine of the argument.
sinh(number
)
Returns a copy stamping floating point value.
stamp(scope
, token
, value
)
Retrieves a stamping variable, usually from a downstream\nCopy node. See copy stamping.
This function retrieves floating-point number values. For string\nvalues, use stamps.
Examples of stamping operators\ninclude: Cache, Copy, and LSystem surface nodes, and the\nCopy channel node.
stamp(\"../copy1\", \"sides\", 5)
stamp(\"..\", \"fuzzy\", 0.5)
Returns a copy stamping string value.
stamps(stamp_op_path
, token
, value
)
Retrieves a stamping variable. See copy stamping.
This expression does not work with the Copy SOP.
This function retrieves string values. For floating-point number\nvalues, use stamp.
Returns the string value associated with the parameter named 'token'\nset in 'scope'. 'scope' is an operator path where the value is to be\nlooked up from. If the token has not been set, then 'value' is returned.\nStamping operators set these named tokens parameters recursively on\nthemselves and all ancestor parents.
Examples of string stamping operators include the Apply Relationship\nDOP, and the Copy Data DOP.
stamps(\"../copydata1\", \"name\", \"defaultname\")
Compares two strings, ignoring case.
strcasecmp(s1
, s2
)
This function is case-insensitive. For case-sensitive comparison,\nuse strcmp.
Returns 1 if a string matches a pattern, ignoring case.
strcasematch(pattern
, s
)
This function is case-insensitive. For case-sensitive matches,\nuse strmatch.
strmatch(\"FOO*\", \"foobar\")
Returns 1.
strmatch(\"?baR\", \"fred\")
Returns 0.
strmatch(\"FoO*,bAr*, \"bar\")
Returns 1.
Returns the concatenation of two strings.
strcat(s1
, s2
)
strcat(\"Current motion file is \", $MOTNAME)
Returns \"Current motion file is job1.bmot\"
", + "strcasematch": "Returns 1 if a string matches a pattern, ignoring case.
strcasematch(pattern
, s
)
This function is case-insensitive. For case-sensitive matches,\nuse strmatch.
strmatch(\"FOO*\", \"foobar\")
Returns 1.
strmatch(\"?baR\", \"fred\")
Returns 0.
strmatch(\"FoO*,bAr*, \"bar\")
Returns 1.
Returns the concatenation of two strings.
strcat(s1
, s2
)
strcat(\"Current motion file is \", $MOTNAME)
Returns Current motion file is job1.bmot
", "strcmp": "Compares two strings.
strcmp(s1
, s2
)
This function is case-sensitive. For case-insensitive comparison,\nuse strcasecmp.
strcmp(\"abc\", \"xyz\") = -1
strcmp(\"A\", \"a\") = -1
strcmp(\"xyz, \"abc\") = 1
strcmp(\"abc\", \"abc\") = 0
Duplicates a string.
strdup(count
, s2
)
Returns s2
repeated count
times.
strdup(3, \"abc\") = \"abcabcabc\"
strdup(0, \"Foobar\") = \"\"
strdup(3, \"/(120)[B]\") = \"/(120)[B]/(120)[B]/(120)[B]\"
Strips non-essential characters from the string representation of\na matrix or vector.
stripmatrix(mat
)
This is useful when you\nwant to interpret the values of the matrix (i.e. to pass to a VEX\nfunction).
Returns a string containing the floating point numbers (and only the\nnumbers) which make up the matrix.
stripmatrix(identity(3)) = \"1 0 0 0 1 0 0 0 1\"
stripmatrix(vector3(1,2,3)) = \"1 2 3\"
Converts a number to an integer by truncating any fractional part, rounding towards 0.
trunc(number
)
The number is rounded toward 0. That is, for positive numbers,\nthe largest integer less than the number will be returned.\nFor negative numbers, the smallest integer greater than the number\nwill be returned.
trunc(2.6)=2
trunc(-2.6)=-2
Generates spatially coherent 3D noise.
turb(X
, Y
, Z
, depth
)
Spatially coherent noise gives random numbers which are close\nto each other when the X, Y, Z inputs are close to each other.
depth
is the amount of fractalization done to the noise.
The noise is calculated on a unit-spaced lattice. This means the\nnoise will be independent between points one unit distance apart. You\ncan scale the inputs to achieve different frequencies.
The range is usually within -1 to 1, but can exceed it depending on\nthe depth. The maximum range is -2 to 2 for high depths.
Returns a unique value of an integer attribute.
uniqueval(surface_node
, class
, attribute
, index
)
The class
can be one of D_VERTEX
, D_POINT
, D_PRIMITIVE
, or D_DETAIL
for the corresponding attribute class.
uniqueval(\"/obj/geo1/facet1\", D_PRIMITIVE, \"piece\", 0)
Returns the first unique integer value associated with the primitive\n attribute piece
in the facet1 surface node in geo1.
Returns a unique value of a string attribute.
uniquevals(surface_node
, class
, attribute
, index
)
The class
can be one of D_VERTEX
, D_POINT
, D_PRIMITIVE
, or D_DETAIL
for the corresponding attribute class.
uniquevals(\"/obj/geo1/facet1\", D_PRIMITIVE, \"name\", 0)
Returns the first unique string value associated with the primitive\n attribute \"name\" in the facet1 surface node in geo1.
", + "uniquevals": "Returns a unique value of a string attribute.
uniquevals(surface_node
, class
, attribute
, index
)
The class
can be one of D_VERTEX
, D_POINT
, D_PRIMITIVE
, or D_DETAIL
for the corresponding attribute class.
uniquevals(\"/obj/geo1/facet1\", D_PRIMITIVE, \"name\", 0)
Returns the first unique string value associated with the primitive\n attribute name in the facet1 surface node in geo1.
", "unituv": "Converts real UV to unit UV.
unituv(surface_node
, prim_num
, uv_real
, D_U|D_V
)
The unit value is defined in the [0,1]
interval. The\nreal value is defined in the valid interval of the primitive\u2019s domain if\nthe primitive is a spline type. If the primitive is a polygon or a mesh,\nthe size of its domain is given by the number of vertices, or rows or\ncolumns respectively. If the primitive is a polygon or a curve, D_U and\nD_V are irrelevant.
the result is undefined if the primitive is neither a face nor a\n hull.
Returns the distance between parameteric locations on two primitives.
surface_node
, prim1_num
, u1
, v1
, surface_node
,prim2_num
, u2
, v2
)`
Valid u and v values are between 0 and 1.
Any primitive type is allowed.
uvdist(\"/obj/geo1/sphere1\", 0, 0.1, 0.8, \"/obj/geo1/grid1\", 2, 1, 0.5)
Returns the distance between point (0.1, 0.8) on the first primitive\n in sphere1 and point (1, 0.5) on the third primitive in grid1.
Returns the angle between two vectors.
vangle(v0
, v1
)
vangle(a, b)
will return the same result as acos ( dot (normalize(a), normalize(b)) )
. It will not produce a negative result because the dot product is symmetric, and does not take the order of a and b into consideration.
You can define a turning order with the left hand rule or something similar.
Try the following expression to get a signed result: sign(dot(cross(cross(a,b),b),a)) * vangle(a,b)
Converts a string specification into a vector.
vector(pattern
)
The pattern should\nconsist of a leading square bracket followed by a comma-separated list\nof values and a closing square bracket.
To access a value out of the vector, use the square bracket operator.
vector v = vector(\"[1,2,3,4,5]\");
float f = v[0]; # f is 1
Converts three values into a 3-component vector.
vector3(x
, y
, z
)
The pattern should\nconsist of a leading square bracket followed by a comma-separated list\nof values and a closing square bracket.
To access a value out of the vector, use the square bracket operator.
vector v = vector3(3,2,1);
float f = v[0]; # f is 3
Converts four values into a 4-component vector.
vector4(x
, y
, z
, w
)
To access a value out of the vector, use the square bracket operator.
vector v = vector4(3,2,1,0);
float f = v[0]; # f is 3
Returns the value of a vertex attribute.
surface_node
, primitive_number
, vertex_number
,attribute
, index
)`
attribute
is the name of the attribute (eg. Cd
for diffuse color). Two special attributes exist P
and Pw
which represent the position of the point in space. (Pw
allows you to access\nthe W component of the position).
Components of dictionary attributes can be resolved using .
, for example \"param.key\"
will return the value of key
in the dictionary attribute param
.
This function will interpolate between point values if the vertex\n number is fractional, such as 3.35.
index
specifies the component position in multi-component attributes such as vectors, colors, and arrays. For example, if the attribute is a color, an index
value of 0
returns the red component, 1
returns the green component, and 2
returns the blue component.
vertex(\"/obj/geo1/facet1\", 2, 3, \"P\", 0)
Return the X component of vertex 3 of primitive2 in the facet1
\n surface node of geo1
.
point(\"/obj/geo1/facet1\", 2, 3, \"Cd\", 2)
Returns the Z component of the color attribute of vertex 3 of\n primitive 2 in the facet1
surface node of object geo1
.
Returns a space-separated list of vertex attribute names.
vertexattriblist(surface_node
)
Returns the value of a vertex attribute.
surface_node
, primitive_number
, vertex_number
,attribute
, index
)`
attribute
is the name of the attribute (eg. Cd
for diffuse color). Two special attributes exist P
and Pw
which represent the position of the point in space. (Pw
allows you to access\nthe W component of the position).
Components of dictionary attributes can be resolved using .
, for example \"param.key\"
will return the value of key
in the dictionary attribute param
.
This function will interpolate between point values if the vertex\n number is fractional, such as 3.35.
vertex(\"/obj/geo1/facet1\", 2, 3, \"P\", 0)
Return the X component of vertex 3 of primitive2 in the facet1
\n surface node of geo1
.
point(\"/obj/geo1/facet1\", 2, 3, \"Cd\", 2)
Returns the Z component of the color attribute of vertex 3 of\n primitive 2 in the facet1
surface node of object geo1
.
Returns a space-separated list of vertex attribute names.
vertexattriblist(surface_node
)
Returns the number of components in a vertex attribute.
vertexattribsize(surface_node
, attribute
)
If the surface node or attribute are not found, returns 0.
vertexattribsize( \"/obj/model/sphere\", \"uv\" )
Returns the number of elements of a texture attribute.
Returns the type of a vertex attribute.
vertexattribtype(surface_node
, attribute
)
If the surface node or attribute are not found, returns -1.
Types are
vertexattribsize( \"/obj/model/box\", \"Cd\" )
Returns 1 to denote a float attribute.
Returns the list of vertex groups in a surface node.
vertexgrouplist(surface_node
)
The returned string is a space separated list of group names.
To get a list of groups whose names match a pattern, use\nvertexgroupmask.
Returns the list of vertex groups matching a pattern in a surface node.
vertexgroupmask(surface_node
, pattern
)
The returned string is a space separated list of group names.
To simply get a list of all vertex groups (no pattern),\nuse vertexgrouplist.
vertexgroupmask(\"/obj/model\", \"group*\")
Returns the names of all vertex groups in the specified surface node which\n start with \"group\". So this may be something like \"group1 group2\n group_smoke\".
Returns the list of vertex groups in a surface node.
vertexgrouplist(surface_node
)
The returned string is a space separated list of group names.
To get a list of groups whose names match a pattern, use\nvertexgroupmask.
Returns the list of vertex groups matching a pattern in a surface node.
vertexgroupmask(surface_node
, pattern
)
The returned string is a space separated list of group names.
To simply get a list of all vertex groups (no pattern),\nuse vertexgrouplist.
vertexgroupmask(\"/obj/model\", \"group*\")
Returns the names of all vertex groups in the specified surface node which\n start with group. So this may be something like group1 group2\n group_smoke.
Returns the string value of a vertex attribute.
surface_node
, primitive_number
, vertex_number
,attribute
)`
Components of dictionary attributes can be resolved using .
, for\nexample \"param.key\"
will return the value of key
in the dictionary\nattribute param
.
vertexs(\"/obj/geo1/facet1\", 1, 3, \"instance\")
Returns the string associated with the string attribute instance
\n for vertex 3 of primitive 0 in the facet1
surface node in geo1
.
Returns a string from a list of strings in a vertex attribute.
vertexsmap(surface_node
, attribute
, index
)
This function will return the index
th unique string bound to the given\npoint attribute. Use vertexsnummap to find the total number of unique\nstrings. Note that the exact order of the strings is should not be\nrelied upon. The indexes start with 0 and go to vertexsnummap()-1.
vertexsmap(\"/obj/geo1/attribcreate1\", \"foo\", 0)
Returns the first unique string in the foo attribute.
", "vertexsnummap": "Returns the number of unique strings bound to a point attribute.
vertexsnummap(surface_node
, attribute
)
vertexsnummap(\"/obj/geo1/attribcreate1\", \"foo\")
Returns number of unique strings for the foo attribute.
", @@ -437,13 +444,13 @@ "volumeres": "Returns the resolution of a volume.
volumeres(surface_node
, prim_id
, axis
)
surface_node
is the full path of the surface node.\nThe prim_id
is the primitive number of the volume primitive\nwithin the surface node.
axis
controls which component of the resolution is returned:
Returns 0 if out of bound values are specified, or the given primitive\nis not a volume.
volumeres(\"/obj/geo1/isooffset1\", 0, 1)
Returns the value of a volume at a specified position.
volumesample(surface_node
, prim_id
, x
, y
, z
)
surface_node
is the full path of the surface node.\nprim_id
is the primitive number of the volume primitive\nwithin the surface node.
Returns 0 if out of bound values are specified,\nor the given primitive is not a volume or VDB.
volumesample(\"/obj/geo1/isooffset1\", 0, $TX, $TX, $TZ)
Returns the approximage diameter of a volume voxel in world space.
volumevoxeldiameter(surface_node
, prim_id
)
surface_node
is the full path of the surface node.\nprim_id
is the primitive number of the volume primitive\nwithin the surface node.
Returns 0 if out of bound values are specified,\nor the given primitive is not a volume.
volumevoxeldiameter(\"/obj/geo1/isooffset1\", 0)
Returns a vector of an objects' transforms.
vorigin(obj1
, obj2
)
This function will return a vector with 6 values in it. The values are\nset to [TX, TY, TZ, RX, RY, RZ]
for the position of obj1 relative to\nobj2.
This can also be thought of as the position of obj2 relative to obj1.
If the empty string (\"\") is specified for either obj1 or obj2, then the\nidentity transform will be used instead. For example, if obj1 is the\nempty string, then the world space position of obj2 is returned.
Returns a vector of an objects' transforms.
vorigin(obj1
, obj2
)
This function will return a vector with 6 values in it. The values are\nset to [TX, TY, TZ, RX, RY, RZ]
for the position of obj1 relative to\nobj2.
This can also be thought of as the position of obj2 relative to obj1.
If the empty string () is specified for either obj1 or obj2, then the\nidentity transform will be used instead. For example, if obj1 is the\nempty string, then the world space position of obj2 is returned.
Takes a viewer name and a viewport number\nand returns the viewport\u2019s name.
vpname(viewer
, viewport_quadrant_number
)
Returns a vector of an object\u2019s rotations.
vrorigin(obj1
, obj2
)
This function will return a vector containing the rotates required to\ntransform obj1 to the space of obj2.
This can also be thought of as the orientation of obj2 relative to\nobj1.
If the empty string (\"\") is specified for either obj1 or obj2, then the\nidentity transform will be used instead. For example, if obj1 is the\nempty string, then the world space rotation of obj2 is returned.
Returns a vector of an object\u2019s rotations.
vrorigin(obj1
, obj2
)
This function will return a vector containing the rotates required to\ntransform obj1 to the space of obj2.
This can also be thought of as the orientation of obj2 relative to\nobj1.
If the empty string () is specified for either obj1 or obj2, then the\nidentity transform will be used instead. For example, if obj1 is the\nempty string, then the world space rotation of obj2 is returned.
Multiplies a vector by a scaling factor.
vscale(vec
, scale
)
A.K.A
. vex
* scale
Creates a vector with each component set to the same value.
vset(size
, value
)
Returns a vector of size size
, with each component set to value
.
Returns the number of elements in a vector.
vsize(vec
)
Returns a vector of an object\u2019s translations.
vtorigin(obj1
, obj2
)
This function will return a vector containing the translates required\nto transform obj1 to the space of obj2.
This can also be thought of as the position of obj2 relative to obj1.
If the empty string (\"\") is specified for either obj1 or obj2, then the\nidentity transform will be used instead. For example, if obj1 is the\nempty string, then the world space position of obj2 is returned.
Returns a vector of an object\u2019s translations.
vtorigin(obj1
, obj2
)
This function will return a vector containing the translates required\nto transform obj1 to the space of obj2.
This can also be thought of as the position of obj2 relative to obj1.
If the empty string () is specified for either obj1 or obj2, then the\nidentity transform will be used instead. For example, if obj1 is the\nempty string, then the world space position of obj2 is returned.
Wraps a value between a minimum and maximum.
wrap(value
, minimum
, maximum
)
Similar to the clamp expression in that the resulting value will always\nfall between the specified minimum and maximum value. It will, however,\ncreate a sawtooth wave for continuously increasing or decreasing values\nof the value.
wrap ($F, 5, 10)
Creates a sawtooth function between 5 and 10.
", "xyzdist": "Returns the distance between a 3D coordinate and a primitive.
x
, y
, z
, surface_node
, prim_num
,return_type
)`
If the prim_num
is -1, finds the closest distance to any\nprimitive in the surface node.
xyzdist(1, 2, 3, \"/obj/geo1/grid1\", 0, 0)
Returns the distance between (1, 2, 3) and the closest spot from the\n surface of grid1 primitive number 0. If the return_type were 1, the\n u parametric value that is closest to the point would be returned.