From cf0f22cc8327cf331c50590dfd512d2eda3e3000 Mon Sep 17 00:00:00 2001 From: teared Date: Thu, 28 Oct 2021 16:12:35 +0500 Subject: [PATCH] Update for Houdini 19.0 --- commands/helpcards.json | 225 ++++++++++++----------- messages.json | 3 +- messages/7.1.5.txt | 35 ++++ snippets/expressions.sublime-completions | 36 +++- syntax/HScript.sublime-syntax | 4 +- 5 files changed, 187 insertions(+), 116 deletions(-) create mode 100644 messages/7.1.5.txt diff --git a/commands/helpcards.json b/commands/helpcards.json index b95a3dc..5a818c6 100644 --- a/commands/helpcards.json +++ b/commands/helpcards.json @@ -1,28 +1,28 @@ { "abs": "

abs

Returns the absolute value of the argument.

abs(number)

Examples

abs (-2.6)=2.6
", - "abspath": "

abspath

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.

abspath(relpath)

Related

relpath
", + "abspath": "18.0

abspath

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.

abspath(relpath)

Related

relpath
", "acos": "

acos

Returns the arc-cosine of the argument.

acos(number)

Examples

acos (0)=90
", "angvel": "

angvel

Returns the angular velocity required to\nrotate an object from one orientation to another in a certain period of\ntime.

angvel(rot1, rot2, time)

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.

Examples

angvel(vector3(0, 0, 0), vector3(90, 0, 0), 1)[0]=90
", "arclen": "

arclen

Returns the arc length of a curve between two U positions.

arclen(surface_node, prim_num, ustart, ustop)

ustart and ustop are unit values, defined in the\n[0, 1] interval.

Note

the primitive must be either a NURBS, Bezier, or Polygon curve.

Examples

arclen(\"/obj/geo1/model1\", 12, 0, 1)

Computes the length of the entire curve whose index is 12.

Related

arclenD
surflen
normal
curvature
unituv
", - "arclenD": "

arclenD

Returns the arc length of a curve between two U positions and number of divisions.

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

the primitive must be either a NURBS, Bezier, or Polygon curve.

Examples

arclenD(\"/obj/geo1/model1\", 12, 0, 1, 20)

Computes the length of the entire curve whose index is 12.

Related

arclen
surflen
normal
curvature
unituv
", - "arg": "

arg

Returns an argument from a list of HScript-style arguments.

arg(line, argNum)

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.

Examples

arg(\"This returns foobar from this sentence\", 2)

Returns the third word from the sentence: foobar.

arg (system(\"date\"), 3)

Returns the the fourth word from the date command. This is usually\n the system time, ie: 15:26:31.

arg(\"Quoting 'makes this one arg'\", 1)

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.

Related

argc
", + "arclenD": "17.0

arclenD

Returns the arc length of a curve between two U positions and number of divisions.

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

the primitive must be either a NURBS, Bezier, or Polygon curve.

Examples

arclenD(\"/obj/geo1/model1\", 12, 0, 1, 20)

Computes the length of the entire curve whose index is 12.

Related

arclen
surflen
normal
curvature
unituv
", + "arg": "

arg

Returns an argument from a list of HScript-style arguments.

arg(line, argNum)

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.

Examples

arg(\"This returns foobar from this sentence\", 2)

Returns the third word from the sentence: foobar.

arg (system(\"date\"), 3)

Returns the fourth word from the date command. This is usually\n the system time, ie: 15:26:31.

arg(\"Quoting 'makes this one arg'\", 1)

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.

Related

argc
", "argc": "

argc

Returns the number of arguments in an HScript-style list of arguments.

argc(line)

Standard parsing is done, no variable expansion\nis done on the line.

Examples

argc(\"This has four arguments\")

Returns 4, as that is the number of space delimited words.

argc(\"Quoting 'makes this one arg'\")

Returns two as the quotes cause the last four words to count as a\n single word.

Related

arg
", "asin": "

asin

Returns the arc-sine of the argument.

asin(number)

Examples

asin (.866025)=60
", "atan": "

atan

Returns the arc-tangent of the argument.

atan(number)

Examples

atan (1.73205)=60

Related

atan2
", "atan2": "

atan2

Returns the arc-tangent of y/x.

atan2(y, x)

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.

Examples

atan2(1, 0) = 90
atan2(0, 1) = 0
atan2(0, -1) = 180
", "atof": "

atof

Converts a string to a float.

atof(source)
", - "attriblist": "

attriblist

Returns a space-separated list of attribute names.

attriblist(surface_node, class)

The class can be one of D_VERTEX,D_POINT, D_PRIMITIVE, or D_DETAIL\nfor the corresponding attribute class.

Related

pointattriblist
vertexattriblist
primattriblist
detailattriblist
", + "attriblist": "18.5

attriblist

Returns a space-separated list of attribute names.

attriblist(surface_node, class)

The class can be one of D_VERTEX,D_POINT, D_PRIMITIVE, or D_DETAIL\nfor the corresponding attribute class.

Related

pointattriblist
vertexattriblist
primattriblist
detailattriblist
", "bbox": "

bbox

Returns bounding box information for a surface node.

bbox(surface_node, type)

The 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

centroid
", "bezier": "

bezier

Channel segment function: Bezier interpoloation spline

bezier()

Related

spline
cubic
", - "bitand": "

bitand

Combines two numbers with bitwise-and.

bitand(abits, bbits)

Returns the abits and bbits combined with bitwise-and.

All operands are rounded to the nearest integer before processing.

Examples

bitand (0, 6) = 0
bitand (15, 6) = 6
", - "bitor": "

bitor

Combines two numbers with bitwise-or.

bitor(abits, bbits)

Returns the abits and bbits combined with bitwise-or.

All operands are rounded to the nearest integer before processing.

Examples

bitor (0, 6) = 6
bitor (15, 6) = 15
", - "bitset": "

bitset

Sets or clears a bit in a number.

bitset(number, bit_index, value)

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.

Examples

bitset (0, 3, 1) = 8
bitset (15, 3, 0) = 7
", - "bittest": "

bittest

Returns if a given bit is set.

bittest(number, bit_index)

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.

Examples

bittest (8, 3) = 1
bittest (8, 1) = 0
", - "bitxor": "

bitxor

Combines two numbers with bitwise-xor.

bitxor(abits, bbits)

Returns the abits and bbits combined with bitwise-or.

All operands are rounded to the nearest integer before processing.

Examples

bitxor (0, 6) = 6
bitxor (15, 6) = 9
", + "bitand": "18.5

bitand

Combines two numbers with bitwise-and.

bitand(abits, bbits)

Returns the abits and bbits combined with bitwise-and.

All operands are rounded to the nearest integer before processing.

Examples

bitand (0, 6) = 0
bitand (15, 6) = 6
", + "bitor": "18.5

bitor

Combines two numbers with bitwise-or.

bitor(abits, bbits)

Returns the abits and bbits combined with bitwise-or.

All operands are rounded to the nearest integer before processing.

Examples

bitor (0, 6) = 6
bitor (15, 6) = 15
", + "bitset": "18.5

bitset

Sets or clears a bit in a number.

bitset(number, bit_index, value)

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.

Examples

bitset (0, 3, 1) = 8
bitset (15, 3, 0) = 7
", + "bittest": "18.5

bittest

Returns if a given bit is set.

bittest(number, bit_index)

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.

Examples

bittest (8, 3) = 1
bittest (8, 1) = 0
", + "bitxor": "18.5

bitxor

Combines two numbers with bitwise-xor.

bitxor(abits, bbits)

Returns the abits and bbits combined with bitwise-or.

All operands are rounded to the nearest integer before processing.

Examples

bitxor (0, 6) = 6
bitxor (15, 6) = 9
", "boneangle": "

boneangle

Returns the angle at the joint between two bone objects.

boneangle(bone1, bone2)
", "ceil": "

ceil

Returns the smallest integer not less than the value passed in.

ceil()

Related

floor
round
int
trunc
frac
", "centroid": "

centroid

Returns centroid information for a surface node.

centroid(surface_node, type)

The 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

The centroid is the center of the bounding box of the points, not the average position of the points.

Related

bbox
prim
", - "ch": "

ch

Returns the value of a parameter.

Overview

The 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.

For example, if you have two Geometry object nodes named 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

Now when you move geo1, geo2's Y position will always be 2 units higher.

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.

Path argument

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:

ch(\"ty\")

Tip

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 ty parameter of a node named geo2 in the same network:

ch(\"../geo2/ty\")

To reference the tx parameter of the parent network node:

ch(\"../tx\")

Getting numbers

ch(\"path\")

Returns the floating point value of the given parameter.

For example, to get the Origin X of the font1 node:

ch(\"../font1/tx\")
chf(\"path\", frame_num)

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 font1 node from ten frames previous:

chf(\"../font1/text\", $F - 10)
cht(\"path\", seconds)

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 font1 node from 2 seconds previous:

chf(\"../font1/text\", $T - 2)

Getting strings

chs(\"path\")

Returns the string value of the given parameter.

For example, to get the Text of the font1 node:

chs(\"../font1/text\")
chsraw(\"path\")

Returns the \"raw\" string value of the given parameter, without expanding quotes or variable names. For example, if the parameter contains an expression $F - 10, you will get the string \"$F - 10\" (instead of the computed value of the current frame minus ten).

Getting a node path

See chsop.

Getting ramp values

See chramp, chrampf, and chrampt.

Tips

You can automatically create channel-references using the \"Copy\" and \"Paste reference\" commands on the parameter right-click menu.
See linking parameter values for more information.

Related

chramp
chexist

", + "ch": "

ch

Returns the value of a parameter.

Overview

The 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.

For example, if you have two Geometry object nodes named 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

Now when you move geo1, geo2's Y position will always be 2 units higher.

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.

Path argument

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:

ch(\"ty\")

Tip

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 ty parameter of a node named geo2 in the same network:

ch(\"../geo2/ty\")

To reference the tx parameter of the parent network node:

ch(\"../tx\")

Getting numbers

ch(\"path\")

Returns the floating point value of the given parameter.

For example, to get the Origin X of the font1 node:

ch(\"../font1/tx\")
chf(\"path\", frame_num)

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 font1 node from ten frames previous:

chf(\"../font1/text\", $F - 10)
cht(\"path\", seconds)

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 font1 node from 2 seconds previous:

chf(\"../font1/text\", $T - 2)

Getting strings

chs(\"path\")

Returns the string value of the given parameter.

For example, to get the Text of the font1 node:

chs(\"../font1/text\")
chsraw(\"path\")

Returns the raw string value of the given parameter, without expanding quotes or variable names. For example, if the parameter contains an expression $F - 10, you will get the string \"$F - 10\" (instead of the computed value of the current frame minus ten).

Getting a node path

See chsop.

Getting ramp values

See chramp, chrampf, and chrampt.

Tips

You can automatically create channel-references using the Copy and Paste reference commands on the parameter right-click menu.
See linking parameter values for more information.

Related

chramp
chexist

", "chexist": "

chexist

Returns 1 if the specified channel exists, 0 if it doesn\u2019t.

chexist(channel_name)

The 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.

To check if a parameter exists, you can use python scripting:

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

Evaluates a channel with a new segment expression.

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

This can be used to extract in and out segment values, slopes and acceleration using channel expression local variables.

Related

chexprf
chexprt
", "chexprf": "

chexprf

Evaluates a channel with a new segment expression at a given frame.

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

This can be used to extract in and out segment values, slopes and acceleration using channel expression local variables.

Related

chexpr
chexprt
", @@ -38,7 +38,7 @@ "chopi": "

chopi

Evaluates a channel within a CHOP at a given sample point.

chopi(channel, index)

Evaluates the channel (within a CHOP) at the specified sample index.

Examples

chopi(\"/ch/ch1/wave1/chan1\", 10)

Related

chopf
chopt
chop
", "chopl": "

chopl

Returns the length of the channels in a CHOP, in samples.

chopl(CHOP)

Examples

chopl(\"/ch/ch1/wave1\")

Related

chops
chope
chopn
chopr
", "chopn": "

chopn

Returns the number of data channels within a CHOP.

chopn(CHOP)

Examples

chopn(\"/ch/ch1/wave1\")

Related

chops
chope
chopl
chopr
", - "chopnames": "

chopnames

Returns the names of all the data channels within a CHOP.

chopnames(CHOP)

Examples

chopnames(\"/ch/ch1/wave1\")

Related

chops
chope
chopl
chopr
", + "chopnames": "17.0

chopnames

Returns the names of all the data channels within a CHOP.

chopnames(CHOP)

Examples

chopnames(\"/ch/ch1/wave1\")

Related

chops
chope
chopl
chopr
", "chopr": "

chopr

Returns the sample rate of a CHOP.

chopr(CHOP)

Examples

chopr(\"/ch/ch1/wave1\")

Related

chops
chope
chopl
chopn
", "chops": "

chops

Returns the start index of a CHOP.

chops(CHOP)

Examples

chops(\"/ch/ch1/wave1\")

Related

chops
chope
chopl
chopn
chopr
", "chopstr": "

chopstr

Returns the string value of a channel within a CHOP at the current time.

chopstr(channel)

Examples

chopstr(\"/ch/ch1/wave1/chan1\")

Related

chop
chopf
chopt
chopi
", @@ -47,16 +47,17 @@ "chrampf": "

chrampf

Returns the value of a ramp parameter at a specific position and frame.

chrampf(ramp_path, position, component_index, frame)

When 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

Return second component of the evaluated ramp value at a position of 0.33 at frame 289:

chrampf(\"/obj/geo1/popnet1/color1/rampcolor\", 0.33, 1, 289)

Related

chramp
chrampt
ch
", "chrampt": "

chrampt

Returns the value of a ramp parameter at a specific position and time.

chrampf(ramp_path, position, component_index, time)

When 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

Return second component of the evaluated ramp value at a position of 0.33 at 12 seconds into the scene:

chrampf(\"/obj/geo1/popnet1/color1/rampcolor\", 0.33, 1, 12)

Related

chramp
chrampf
ch
", "chs": "

chs

Evaluates the string value of a parameter at the current time.

chs(channel)

This is useful for evaluating\nfilenames in parameters. The string will be expanded automatically.

Related

ch
chf
cht
chsop
chsraw
", - "chsop": "

chsop

Evaluates the parameter at the current time as a node path string.

chsop(\"path\")

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 object_merge1 node:

chsop(\"../object_merge1/object1\")

Related

ch
chf
chs
chsoplist
chsraw
cht
", - "chsoplist": "

chsoplist

Evaluates the parameter at the current time as a node path list string.

chsoplist(\"path\")

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 /obj/null*.

For example, to get the Object node path used by the object_merge1 node:

chsoplist(\"../object_merge1/object1\")

Related

ch
chf
chsop
chs
chsraw
cht
oplistsort
", + "chsop": "

chsop

Evaluates the parameter at the current time as a node path string.

chsop(\"parameter_path\")

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 object_merge1 node:

chsop(\"../object_merge1/object1\")

Related

ch
chf
chs
chsoplist
chsraw
cht
", + "chsoplist": "

chsoplist

Evaluates the parameter at the current time as a node path list string.

chsoplist(\"parameter_path\")

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 /obj/null*.

For example, to get the Object node path used by the object_merge1 node:

chsoplist(\"../object_merge1/object1\")

Related

ch
chf
chsop
chs
chsraw
cht
oplistsort
", "chsraw": "

chsraw

Returns the raw (unexpanded) expression value of a parameter as a string.

chsraw(channel)

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:

echo `chsraw(\"channel_path\")`

\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.

Related

ch
chf
chs
chsop
chsoplist
cht
", "cht": "

cht

Returns the value of a parameter at a specified time.

cht(channel, time)

Related

ch
chf
chs
chsraw
", "clamp": "

clamp

Returns a value clamped between a minimum and maximum.

clamp(value, minimum, 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.

", - "clamptosphere": "

clamptosphere

Clamps a vector to always end between a minimum and maximum sphere.

`clamptosphere(x, y, z, min_radius, max_radius,

constant_type)`

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 constant_type: \"X\", \"Y\" or \"Z\".

", + "clamptosphere": "

clamptosphere

Clamps a vector to always end between a minimum and maximum sphere.

`clamptosphere(x, y, z, min_radius, max_radius,

constant_type)`

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 constant_type: X, Y or Z.

", "constant": "

constant

Channel segment function: constant value.

constant()

Related

linear
", - "contextoption": "

contextoption

Returns the value of context option as a floating point value.

contextoption(name)

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.

Tip

You can get also get the value of a context option in an expression\n using @name.

Related

contextoptions
", - "contextoptions": "

contextoptions

Returns a cook context option as a string value.

contextoptions(name)

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.

Tip

You can get also get the value of a context option in an expression\n using @name.

Related

contextoption
", + "contextoption": "

contextoption

17.0

Returns the value of context option as a floating point value.

contextoption(name)

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.

Tip

You can get also get the value of a context option in an expression\n using @name.

Related

contextoptions
", + "contextoptions": "

contextoptions

17.0

Returns a cook context option as a string value.

contextoptions(name)

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.

Tip

You can get also get the value of a context option in an expression\n using @name.

Related

contextoption
", "cophasmeta": "

cophasmeta

Tests if metadata exists on a compositing node.

cophasmeta(compositing_node, metadata_name)

Metadata can be added to sequences with a Metadata COP.\nThis expression function queries if the metadata with metadata_name exists on the COP node composting_node.

Related

copmeta
copmetas
", + "cophasplane": "19.0

cophasplane

Tests if a plane exists on a compositing node.

cophasplane(compositing_node, plane_name)

This expression function queries if the plane with plane_name exists on the COP node composting_node. Returns 1 if it exists, and 0 if it does not.

", "copmeta": "

copmeta

Returns numeric metadata from a compositing node.

copmeta(compositing_node, metadata_name, index)

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.

Related

copmetas
cophasmeta
", "copmetas": "

copmeta

Returns string metadata from a compositing node.

copmetas(compositing_node, metadata_name)

Metadata can be added to sequences with a Metadata COP.\nThis expression function will return the value of string (text) metadata

Related

copmeta
cophasmeta
", "cos": "

cos

Returns the cosine of the argument.

cos(degrees)

Examples

cos (60)=0.5
", @@ -73,14 +74,14 @@ "cycleoffset": "

cycleoffset

Channel segment function: repeats the animation between frames f1 and f2, accumulating the value.

cycleoffset(f1, f2)

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 f1 and\nf2. If you wish to repeat motion exactly, use the cycle function\ninstead.

If 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

cycle
cyclet
cycleoffsett
", "cycleoffsett": "

cycleoffsett

Channel segment function: repeats the animation between times t1 and t2, accumulating the value.

cycleoffsett(t1, t2)

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 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

cycle
cyclet
cycleoffset
", "cyclet": "

cyclet

Channel segment function: repeats animation from previous frames.

cyclet(t1, t2)

Repeats the animation from t1 seconds to t2 seconds.

If you wish to repeat the animation cumulatively, use\nthe cycleoffsett function instead.

Related

cycle
cycleoffset
cycleoffsett
", - "decode": "

decode

Decodes a variable name that was previously encoded.

decode(s)

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 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

encode
", - "decodeattrib": "

decodeattrib

Decodes a geometry attribute name that was previously encoded.

decodeattrib(s)

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 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

encodeattrib
", - "decodeparm": "

decodeparm

Decodes a node parameter name that was previously encoded.

decodeparm(s)

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 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

encodeparm
", + "decode": "17.5

decode

Decodes a variable name that was previously encoded.

decode(s)

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 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

encode
", + "decodeattrib": "18.0

decodeattrib

Decodes a geometry attribute name that was previously encoded.

decodeattrib(s)

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 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

encodeattrib
", + "decodeparm": "18.0

decodeparm

Decodes a node parameter name that was previously encoded.

decodeparm(s)

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 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

encodeparm
", "deg": "

deg

Converts from radians to degrees.

deg(radians)
", "degree": "

degree

Returns the degree a specified face or hull.

degree(surface_node, prim_num, D_U|D_V)

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.

Note

If the primitive is a polygon or a curve, D_U and D_V are\n irrelevant.

", "detail": "

detail

Returns the value of a detail attribute.

detail(surface_node, attrib_name, attrib_index)

Tip

This expression may not work if surface_node is the currently cooking node.\n Try specifying an upstream node.

This can also be used to read the value of a detail 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.

Examples

detail(\"/obj/geo1/attribpromote1\", \"area\", 0)

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.

", - "detailattriblist": "

detailattriblist

Returns a space-separated list of detail attribute names.

detailattriblist(surface_node)

Related

pointattriblist
vertexattriblist
primattriblist
attriblist
", - "detailattribsize": "

detailattribsize

Returns the number of components in a detail attribute.

detailattribsize(surface_node, attribute)

If the surface node or attribute is not found, returns 0.

Examples

detailattribsize( \"/obj/model/capture\", \"pCaptData\" )

Returns the number of elements in a \"pCaptData\" attribute.

Related

detail
pointattribsize
vertexattribsize
primattribsize
", + "detailattriblist": "18.5

detailattriblist

Returns a space-separated list of detail attribute names.

detailattriblist(surface_node)

Related

pointattriblist
vertexattriblist
primattriblist
attriblist
", + "detailattribsize": "

detailattribsize

Returns the number of components in a detail attribute.

detailattribsize(surface_node, attribute)

If the surface node or attribute is not found, returns 0.

Examples

detailattribsize( \"/obj/model/capture\", \"pCaptData\" )

Returns the number of elements in a pCaptData attribute.

Related

detail
pointattribsize
vertexattribsize
primattribsize
", "detailattribtype": "

detailattribtype

Returns the type of a detail attribute.

detailattribtype(surface_node, attribute)

If the surface node or attribute are not found, returns -1.

Types are
-1 - Unknown/Invalid
0 - Integer
1 - Float
2 - String
3 - Array of integers
4 - Array of floats
5 - Array of strings
6 - Dictionary
7 - Array of dictionaries

Examples

detailattribsize( \"/obj/model/box\", \"Cd\" )

Returns 1 to denote a float attribute.

Related

detail
pointattribtype
vertexattribtype
primattribtype
", "details": "

details

Returns the string value of a detail attribute.

details(surface_node, attribute)

This can also be used to read the value of a detail 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.

Examples

details(\"/obj/geo1/attribcreate1\", \"varmap\")

Returns the currently bound index attribute\u2019s value.

", "detailsmap": "

detailsmap

Returns a string from a list of strings in a detail attribute.

detailsmap(surface_node, attribute, index)

This function will return the indexth 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)

Returns the first variable mappings on the given surface node.

", @@ -88,31 +89,31 @@ "determinant": "

determinant

Returns the determinant of a matrix.

determinant(mat)

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.

", "dihedral": "

dihedral

Computes the dihedral matrix between vectors v0 and v1.

dihedral(v0, v1)

This returns a rotation matrix which will rotate vector v0 to vector v1.

", "distance": "

distance

Returns the distance between two 3D points.

distance(x1, y1, z1, x2, y2, z2)

A.K.A. sqrt((x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2).

Related

pointdist
uvdist
", - "dopallfields": "

dopallfields

Returns a space separated list of all the field names that can be\npassed to the dopfield function.

`dopallfields(dop, objectSpec, subDataName,

recordType)`

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.

Examples

dopallfields(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\")

Returns all the field name values that can be passed to the dopfield\n function. This list would begin \"angvelx angvely angvelz \u2026\".

Related

dopfield
", - "dopcontextgeo": "

dopcontextgeo

Returns the full path of the node connected to a dopnetwork.

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).

This differs from 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

opinput
opinputpath
opninputs
opoutput
opoutputpath
opnoutputs
", + "dopallfields": "

dopallfields

Returns a space separated list of all the field names that can be\npassed to the dopfield function.

`dopallfields(dop, objectSpec, subDataName,

recordType)`

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.

Examples

dopallfields(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\")

Returns all the field name values that can be passed to the dopfield\n function. This list would begin angvelx angvely angvelz \u2026.

Related

dopfield
", + "dopcontextgeo": "

dopcontextgeo

Returns the full path of the node connected to a dopnetwork.

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).

This differs from 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

opinput
opinputpath
opninputs
opoutput
opoutputpath
opnoutputs
", "dopcountslices": "

dopcountslices

Returns the number of records of a given type in a piece of\ndynamics data.

dopcountslices(dop, objectFilter, subDataName)

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.

Examples

dopnumrecords(\"/obj/dopnet1\", \"object1\", \"Slice\")

Returns the number of logical slices object1 should be broken into\n given the slice data stored as subdata to Slice.

", "dopfield": "

dopfield

Returns the value of a field as a float.

`dopfield(dop, objectSpec, subDataName, recordType,

recordNum, fieldName)`

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, \"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\".

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.

Examples

dopfield(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 0, \"ty\")

Returns the y position of object obj0

dopfield(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 0, \"ry\")

Returns the ry component of the orientation of object obj0. This\n will be in degrees.

dopfield(\"/obj/geo1/dopnet1\", \"Relationships/Spring_spring_constraint1\", \"\", \"Basic\", 0, \"memusage\")

Returns the memory usage of a dynamics relationship

dopfield(\"/obj/dopnet1\", \"obj0\", \"Forces/Gravity_gravity1\", \"Options\", 0, \"forcey\")

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.

Related

dopfields
", "dopfieldname": "

dopfieldname

Returns the name of a DOP field.

`dopfieldname(dop, objectSpec, subDataName,

recordType, fieldNum)`

Returns the name of the fieldNumth field of the given record type.

Examples

dopfieldname(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 3)

Returns the name of the fourth field of the Options record of the\n Position subdata owned by obj0.

", "dopfields": "

dopfields

Returns the value of a DOP field as a string.

dopfields(dop, objectSpec, subDataName, recordType, recordNum, fieldName)

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.

Examples

vector(dopfields(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 0, \"position\"))

Gets the position of the object as a string and converts it into a\nvector.

dopfields(\"/obj/geo1/dopnet1\", \"Relationships/Spring_spring_constraint1\", \"\", \"ObjInGroup\", 0, \"objname\")

Returns the name of the first object involved in a spring constraint relationship\n(e.g. \"sphere2\").

dopfields(\"/obj/geo1/dopnet1\",\"sphere2\",\"\", \"RelInGroup\", 0, \"relname\")

Returns the name of the first relationship on an object\n(e.g. \"Spring_spring_constraint1\").

", - "dopfieldtype": "

dopfieldtype

Returns the type of a DOP field.

`dopfieldtype(dop, objectSpec, subDataName,

recordType, fieldNum)`

Returns the type of the fieldNumth field of the given record.

Possible types are: \"string\", \"float\", \"vector2\", and \"vector3\".

Examples

dopfieldtype(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 2)

Returns the type of the third field of the Options record of the\n Position data attached to object obj0.

", + "dopfieldtype": "

dopfieldtype

Returns the type of a DOP field.

`dopfieldtype(dop, objectSpec, subDataName,

recordType, fieldNum)`

Returns the type of the fieldNumth field of the given record.

Possible types are: string, float, vector2, and vector3.

Examples

dopfieldtype(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 2)

Returns the type of the third field of the Options record of the\n Position data attached to object obj0.

", "dopframe": "

dopframe

Returns the current frame of the simulation.

dopframe(dop)

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.

Related

doptime
dopsttoframe
dopframetost
", "dopframetost": "

dopframetost

Returns the simulation time equivalent of a simulation frame.

dopframetost(dop, simulationframe)

Related

dopsttoframe
dopframe
", "dopgrouphasobject": "

dopgrouphasobject

Returns 1 if a specified DOP group contains a specified object.

dopgrouphasobject(dop, objectSpec, group)

Examples

dopgrouphasobject(\"/obj/dopnet1\", \"rbdobject\", \"group1\")

Returns 1 if group1 contains an object named rbdobject.

Related

dopgrouplist
", "dopgroupismutual": "

dopgroupismutual

Returns 1 if a specified DOP group is mutually affecting.

dopgroupismutual(dop, group)

Examples

dopgroupismutual(\"/obj/dopnet1\", \"group1\")

Returns 1 if group1 is a mutual affector objects.

", - "dopgrouplist": "

dopgrouplist

returns a string containing a list of all object groups\nfor the current time in a specified DOP Network.

dopgrouplist(dop)

Examples

dopgrouplist(\"/obj/dopnet1\")

Returns a string such as \"group1 group2 rbdsolver1\".

", + "dopgrouplist": "

dopgrouplist

returns a string containing a list of all object groups\nfor the current time in a specified DOP Network.

dopgrouplist(dop)

Examples

dopgrouplist(\"/obj/dopnet1\")

Returns a string such as group1 group2 rbdsolver1.

", "dophasfield": "

dophasfield

Returns 1 if a specified DOP field exists.

`dophasfield(dop, objectSpec, subDataName,

recordType, recordNum, fieldName)`

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.

Examples

dophasfield(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 0, \"ty\")

Returns 1, because Position data has an option with the name ty.

dopfield(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\", 0, \"notafield\")

Returns 0 because notafield is not a field name in the Position data\n options.

", "dophassubdata": "

dophassubdata

Returns 1 if a dynamics object has the specified subdata.

dophassubdata(dop, objectSpec, subDataName)

Examples

dophassubdata(\"/obj/dopnet1\", \"obj0\", \"Geometry/Volume\")

Returns true if obj0's Geometry data has the Volume subdata attached\n to it.

", "dopnodeobjs": "

dopnodeobjs

Returns the list of objects processed by a DOP in the latest timestep.

dopnodeobjs(dop)

Returns a string containing a space-separated list of object identifies.

Examples

dopnodeobjs(\"/obj/dopnet1\")

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.

", - "dopnumfields": "

dopnumfields

Returns the number of fields in a DOP record type.

`dopnumfields(dop, objectSpec, subDataName,

recordType)`

The \"Options\" record type, for example, usually has one field for every\nparameter in the DOP Node that creates that data type.

Examples

dopnumfields(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\")

Returns the number of different fields that the \"Options\" record has\n in the \"Position\" data owned by \"obj0\".

", + "dopnumfields": "

dopnumfields

Returns the number of fields in a DOP record type.

`dopnumfields(dop, objectSpec, subDataName,

recordType)`

The Options record type, for example, usually has one field for every\nparameter in the DOP Node that creates that data type.

Examples

dopnumfields(\"/obj/dopnet1\", \"obj0\", \"Position\", \"Options\")

Returns the number of different fields that the Options record has\n in the Position data owned by obj0.

", "dopnumobjects": "

dopnumobjects

returns the number of objects in a simulation.

dopnumobjects(dop, objectFilter)

Examples

dopnumobjects(\"/obj/dopnet1\", \"foo*\")

Returns the number of objects in the dopnet with names prefixed by\n foo.

Related

dopobjectlist
", - "dopnumrecords": "

dopnumrecords

Returns the number of records of a given type in a piece of\ndynamics data.

`dopnumrecords(dop, objectFilter, subDataName,

recordType)`

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\".

Examples

dopnumrecords(\"/obj/dopnet1\", \"object1\", \"Impacts\", \"Impacts\")

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\"

", - "dopnumrecordtypes": "

dopnumrecordtypes

Returns the number of types of record in a piece of dynamics data.

dopnumrecordtypes(dop, objectSpec, subDataName)

Most subdata contains at least the records \"Basic\" and \"Options\"

Examples

dopnumrecordtypes(\"/obj/dopnet1\", \"object1\", \"Position\")

Returns the number of record types that the Position data attached\n to object1 has.

", + "dopnumrecords": "

dopnumrecords

Returns the number of records of a given type in a piece of\ndynamics data.

`dopnumrecords(dop, objectFilter, subDataName,

recordType)`

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.

Examples

dopnumrecords(\"/obj/dopnet1\", \"object1\", \"Impacts\", \"Impacts\")

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

", + "dopnumrecordtypes": "

dopnumrecordtypes

Returns the number of types of record in a piece of dynamics data.

dopnumrecordtypes(dop, objectSpec, subDataName)

Most subdata contains at least the records Basic and Options

Examples

dopnumrecordtypes(\"/obj/dopnet1\", \"object1\", \"Position\")

Returns the number of record types that the Position data attached\n to object1 has.

", "dopnumsubdata": "

dopnumsubdata

Returns the number of subdata items attached to an object or data.

dopnumsubdata(dop, objectSpec, subDataName)

Examples

dopnumsubdata(\"/obj/dopnet1\", \"obj0\", \"\")

Returns the number of data items attached to obj0.

dopnumsubdata(\"/obj/dopnet1\", \"obj0\", \"Geometry\")

Returns the number of data items attached to obj0/Geometry.

", - "dopobjectlist": "

dopobjectlist

Returns all objects matching the an object specification.

dopobjectlist(dop, objectSpec, listNames)

Returns a string containing a space-separated list. If the listNames\nargument is zero, then the string is a list of object identifiers.\nOtherwise it is a list of object names.

Object names are easier to read, but may not uniquely identify each object.

Examples

dopobjectlist(\"/obj/dopnet1\", \"obj? object*\", 1)

Returns a string such as \"obj1 obj2 object1 objectfoo\".

Related

dopnumobjects
", + "dopobjectlist": "

dopobjectlist

Returns all objects matching the an object specification.

dopobjectlist(dop, objectSpec, listNames)

Returns a string containing a space-separated list. If the listNames\nargument is zero, then the string is a list of object identifiers.\nOtherwise it is a list of object names.

Object names are easier to read, but may not uniquely identify each object.

Examples

dopobjectlist(\"/obj/dopnet1\", \"obj? object*\", 1)

Returns a string such as obj1 obj2 object1 objectfoo.

Related

dopnumobjects
", "dopobjectsareaffectors": "

dopobjectsareaffectors

Tests whether a set of objects has an affector relationship with\nanother object.

dopobjectsareaffectors(dop, objectSpec, affectors)

Returns 1 if all the objects specified by\nthe affectors argument are affectors of the single object specified with\nthe objectSpec argument.

Examples

dopobjectsareaffectors(\"/obj/dopnet1\", \"obj1\", \"obj2 obj3\")

Returns one if obj2 and obj3 are affectors of obj1.

", "dopobjscreatedby": "

dopobjscreatedby

Returns the list of objects created by a particular DOP node.

dopobjscreatedby(dop)

Returns a string containing a space-separated list of object identifies.

Examples

dopobjscreatedby(\"/obj/dopnet1/rbdglueobject1\")

Returns a list of identifiers for all objects created by the\n rbdglueobject1 DOP node.

", - "dopoption": "

dopoption

Returns the value of a DOP field as a float.

`dopoption(dop, objectSpec, subDataName,

fieldName)`

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.

Examples

dopoption(\"/obj/dopnet1\", \"obj0\", \"Position\", \"ty\")

Returns the y position of object obj0

dopoption(\"/obj/dopnet1\", \"obj0\", \"Position\", \"ry\")

Returns the ry component of the orientation of object obj0. This\n will be in degrees.

", - "dopoptions": "

dopoptions

Returns the value of a DOP field as a string.

`dopoptions(dop, objectSpec, subDataName,

fieldName)`

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.

Examples

vector(dopoptions(\"/obj/dopnet1\", \"obj0\", \"Position\", \"position\"))

Gets the position of the object as a string and converts it into a\n vector.

", + "dopoption": "

dopoption

Returns the value of a DOP field as a float.

`dopoption(dop, objectSpec, subDataName,

fieldName)`

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.

Examples

dopoption(\"/obj/dopnet1\", \"obj0\", \"Position\", \"ty\")

Returns the y position of object obj0

dopoption(\"/obj/dopnet1\", \"obj0\", \"Position\", \"ry\")

Returns the ry component of the orientation of object obj0. This\n will be in degrees.

", + "dopoptions": "

dopoptions

Returns the value of a DOP field as a string.

`dopoptions(dop, objectSpec, subDataName,

fieldName)`

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.

Examples

vector(dopoptions(\"/obj/dopnet1\", \"obj0\", \"Position\", \"position\"))

Gets the position of the object as a string and converts it into a\n vector.

", "doprecordtypename": "

doprecordtypename

Returns the name of a record in DOPs data given its index.

`doprecordtypename(dop, objectSpec, subDataName,

recordTypeNum)`

Returns the name of the recordTypeNumth record that is owned by the\ngiven subData.

Examples

doprecordtypename(\"/obj/dopnet1\", \"obj0\", \"Geometry/Volume\", 0)

Returns the name of the first record type of the Volume data which\n is attached to the Geometry data of obj0.

", "dopsolvedopnet": "

dopsolvedopnet

Script solver support function.

dopsolvedopnet()

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.

Related

dopsolvenumobjects
dopsolveobject
dopsolvenumnewobjects
dopsolvenewobject
dopsolvetimestep
dopsolveadddata
dopsolveremovedata
dopsolvesetoption
dop/scriptsolver
", "dopsolvenewobject": "

dopsolvenewobject

Script solver support function.

dopsolvenewobject(object_index)

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.

Examples

set lastobject=`dopsolvenumnewobjects() - 1` for i = 0 to $lastobject echo `dopsolvenewobject($i)` end

Outputs the unique object ids of all the objects being initialized by the\n current script solver.

Related

dopsolvenewobject
dopsolvenumobjects
dopsolvenumnewobjects
dopsolvedopnet
dopsolvetimestep
dopsolveadddata
dopsolveremovedata
dopsolvesetoption
dop/scriptsolver
", @@ -122,9 +123,9 @@ "dopsolvetimestep": "

dopsolvetimestep

Script solver support function.

dopsolvetimestep()

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.

Related

dopsolvenumobjects
dopsolveobject
dopsolvenumnewobjects
dopsolvenewobject
dopsolvedopnet
dopsolveadddata
dopsolveremovedata
dopsolvesetoption
dop/scriptsolver
", "dopsttoframe": "

dopsttoframe

returns the simulation frame of a given simulation time.

dopsttoframe(dop, simulationtime)

Related

dopframe
dopframetost
", "dopsttot": "

dopsttot

Returns the global time of a given simulation time.

dopsttot(dop, simulationtime)

Related

doptime
dopttost
", - "dopsubdataname": "

dopsubdataname

Returns the name of a subdata of a given DOP object.

`dopsubdataname(dop, objectSpec, subDataName,

subDataNum)`

Examples

dopsubdataname(\"/obj/dopnet1\", \"foobar\", \"\", 0)

Returns the name of the first data attached to the object foobar.

dopsubdataname(\"/obj/dopnet1\", \"foobar\", \"Geometry\", 3)

Returns the name of the 4th subdata attached to the object foobar\u2019s\n data \"Geometry\".

", + "dopsubdataname": "

dopsubdataname

Returns the name of a subdata of a given DOP object.

`dopsubdataname(dop, objectSpec, subDataName,

subDataNum)`

Examples

dopsubdataname(\"/obj/dopnet1\", \"foobar\", \"\", 0)

Returns the name of the first data attached to the object foobar.

dopsubdataname(\"/obj/dopnet1\", \"foobar\", \"Geometry\", 3)

Returns the name of the 4th subdata attached to the object foobar\u2019s\n data Geometry.

", "doptime": "

doptime

Returns the current time of a simulation.

doptime(dop)

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.

Related

dopframe
dopsttot
dopttost
", - "doptransform": "

doptransform

Returns a transformation matrix associated with a piece of data.

doptransform(dop, objectSpec, subDataName)

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.

Examples

doptransform(\"/obj/dopnet1\", \"obj0\", \"Geometry\")

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.

", + "doptransform": "

doptransform

Returns a transformation matrix associated with a piece of data.

doptransform(dop, objectSpec, subDataName)

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.

Examples

doptransform(\"/obj/dopnet1\", \"obj0\", \"Geometry\")

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.

", "dopttost": "

dopttost

Returns the simulation time equivalent to a given global time.

dopttost(dop, globaltime)

This is similar to the doptime expression except\nfor the ability to specify a global time other than the current time.

Related

dopsttot
doptime
", "dopvelatpos": "

dopvelatpos

Returns the velocity that a point at a location in simulation space\nwould have if it were attached to a DOP object.

`dopvelatpos(dop, objectSpec, posx, posy, posz,

usevolumevelocity, usepointvelocity)`

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.

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)

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.

", "dot": "

dot

Computes the dot product of two vectors.

dot(v0, v1)
", @@ -135,19 +136,19 @@ "easeoutp": "

easeoutp

Channel segment function: ease-out with configurable acceleration.

easeoutp(number)

Similar to the easeinp\nexpression only reversed. The change starts rapidly and begins to slow\nuntil it comes to rest. The 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 )

Eases out of a fairly high initial speed.

Related

easeout
easep
easeinp
", "easep": "

easep

Channel segment function: ease-in and -out with configurable acceleration.

easep(number)

This is a channel expression function which will gradually ease in to\nthe motion and gradually ease out. The 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 )

Eases in slowly and eases out quickly.

easep( 0.4 )

Eases in quickly and eases out slowly.

Related

ease
easeinp
easeoutp
", "edgegrouplist": "

edgegrouplist

Returns the list of edge groups in a surface node.

edgegrouplist(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.

Related

primgrouplist
pointgrouplist
vertexgrouplist
edgegroupmask
", - "edgegroupmask": "

edgegroupmask

Returns the list of edge groups matching a pattern in a surface node.

edgegroupmask(surface_node, pattern)

The returned string is a space separated list of group names.

To simply get a list of all edge groups (no pattern),\nuse edgegrouplist.

Examples

edgegroupmask(\"/obj/model\", \"group*\")

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\".

Related

primgroupmask
pointgroupmask
vertexgroupmask
edgegrouplist
", - "encode": "

encode

Encodes any string into a valid variable name.

encode(s)

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 decode method. A string that already\nobeys the rules is returned unmodified.

One exception to this rule is that a string starting with 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

decode
", - "encodeattrib": "

encodeattrib

Encodes any string into a valid geometry attribute name.

encodeattrib(s)

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 decodeattrib\nmethod. A string that already obeys the rules is returned unmodified.

One exception to this rule is that a string starting with 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

decodeattrib
", - "encodeparm": "

encodeparm

Encodes any string into a valid node parameter name.

encodeparm(s)

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\ndecodeparm method. A string that already obeys the rules is returned\nunmodified.

One exception to this rule is that a string starting with 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

decodeparm
", + "edgegroupmask": "

edgegroupmask

Returns the list of edge groups matching a pattern in a surface node.

edgegroupmask(surface_node, pattern)

The returned string is a space separated list of group names.

To simply get a list of all edge groups (no pattern),\nuse edgegrouplist.

Examples

edgegroupmask(\"/obj/model\", \"group*\")

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.

Related

primgroupmask
pointgroupmask
vertexgroupmask
edgegrouplist
", + "encode": "17.5

encode

Encodes any string into a valid variable name.

encode(s)

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 decode method. A string that already\nobeys the rules is returned unmodified.

One exception to this rule is that a string starting with 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

decode
", + "encodeattrib": "18.0

encodeattrib

Encodes any string into a valid geometry attribute name.

encodeattrib(s)

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 decodeattrib\nmethod. A string that already obeys the rules is returned unmodified.

One exception to this rule is that a string starting with 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

decodeattrib
", + "encodeparm": "18.0

encodeparm

Encodes any string into a valid node parameter name.

encodeparm(s)

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\ndecodeparm method. A string that already obeys the rules is returned\nunmodified.

One exception to this rule is that a string starting with 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

decodeparm
", "eval": "

eval

Evaulates a string as an expression returning a float.

eval(expression)

Useful for evaluating variables which contain more complex\nexpressions. Returns a floating point value.

Examples

set foo = 1+2 echo `eval($foo)`
", "evals": "

evals

Evaulates a string as an expression returning a string.

evals(expression)

Useful for evaluating variables which contain more complex\nexpressions. This function returns a string value.

Examples

set foo = system(\"ls\") echo `evals($foo)`
", "execute": "

execute

Runs a string as an HScript command and returns the command\u2019s output.

execute(command)

Returns a string containing the regular output of the command,\nbut not the error output.

Related

executee
executeb
", "executeb": "

executeb

Runs a string as an HScript command and returns the\ncommand and error output.

executeb(command)

Returns a string containing\nboth the regular and error output of the command, separated by ~~~~.

Related

execute
executee
", "executee": "

executee

Runs a string as an HScript command and returns any error output.

executee(command)

Returns a string containing\nthe error output of the command, but not the regular output.

Related

execute
executeb
", "exp": "

exp

Returns the logarithmic exponentiation of the argument.

exp(number)

Examples

exp (x)= $E^x
exp (2)= 7.3338906
", - "explodematrix": "

explodematrix

Explodes a 3\u00d73 or 4\u00d74 matrix into the euler rotations required to\nrebuild it.

explodematrix(mat, trs, xyz, component)

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.

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

Explodes a 3\u00d73 or 4\u00d74 matrix into the euler rotations required to\nrebuild it.

explodematrixp(mat, p, trs, xyz, component)

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.

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": "

explodematrixpr

Explodes a 3\u00d73 or 4\u00d74 matrix into the euler rotations required to\nrebuild it.

explodematrixp(mat, p, trs, xyz, component)

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.

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

Explodes a 3\u00d73 or 4\u00d74 matrix into the euler rotations required to\nrebuild it.

explodematrix(mat, trs, xyz, component)

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.

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

Explodes a 3\u00d73 or 4\u00d74 matrix into the euler rotations required to\nrebuild it.

explodematrixp(mat, p, trs, xyz, component)

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.

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": "

explodematrixpr

Explodes a 3\u00d73 or 4\u00d74 matrix into the euler rotations required to\nrebuild it.

explodematrixp(mat, p, trs, xyz, component)

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.

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

Searches the Houdini path for a file.

findfile(filename)

The filename specified should be relative to one of the paths specified in the HOUDINI_PATH environment variable.

Examples

findfile(\"scripts/123.cmd\")
findfile(\"config/Audio/Error.aiff\")

Related

findfiles
", "findfiles": "

findfiles

Searches the Houdini path for a file or directory.

findfiles(filename, separator)

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 \\\\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

findfile
", "fit": "

fit

Fits a value from one range to another.

fit(num, oldmin, oldmax, newmin, newmax)

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.

Examples

fit(3,1,4,5,20)=15

Related

fit01
fit11
fit10
", @@ -155,17 +156,18 @@ "fit10": "

fit10

Fits a number in the 0-1 range.

fit10(num, newmin, newmax)

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.

Examples

fit(.3,5,20)=15.5

Related

fit
fit01
fit11
", "fit11": "

fit11

Fits a number to the -1 to 1 range.

fit11(num, newmin, newmax)

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.

Examples

fit(.3,5,20)=14.75

Related

fit
fit01
fit10
", "floor": "

floor

Returns the largest integer not greater than a number.

floor(number)

Examples

floor(10.2)=10
floor(-10.2)=-11

Related

ceil
trunc
int
round
frac
", + "fpadzero": "

fpadzero

Returns a string padding a number to a given length with zeros.

fpadzero(integerpad, fracpad, value)

Returns a string containing 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.

Negative numbers will be prefixed with a minus sign.

Examples

padzero(5, 3, 126) = 00126.000
padzero(3, 2, 0.666) = 000.67
padzero(1, 0, 23) = 23
", "frac": "

frac

Returns the fractional part of a floating-point number.

frac(number)

The fractional\ncomponent is computed using the expression (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

trunc
floor
ceil
round
int
", "ftoa": "

ftoa

Converts a number to a string.

ftoa(number)

Type conversion is usually done automatically.\nHowever, you may wish to use this to force the conversion.

", - "ftrim": "

ftrim

Converts a number to a string.

ftrim(number)

Type conversion is usually done automatically. However, you may wish to use this to force the conversion.

The 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": "17.5

ftrim

Converts a number to a string.

ftrim(number)

Type conversion is usually done automatically. However, you may wish to use this to force the conversion.

The 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

Returns a string describing the set of elements with a given value for an integer attribute.

groupbyval(surface_node, class, attribute, id)

The 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)

Returns a string describing the set of primitives with a value of 1\n for the piece attribute in the facet1 surface node in geo1.

", "groupbyvals": "

groupbyvals

Returns a string describing the set of elements with a given value for a string attribute.

groupbyvals(surface_node, class, attribute, id)

The 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\")

Returns a string describing the set of primitives with a value of piece1\n for the name attribute in the facet1 surface node in geo1.

", - "hascontextoption": "

hascontextoption

Returns a non-zero value if the specified context option exists.

hascontextoption(token)

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.

token: the name of the option to check.
", + "hascontextoption": "17.0

hascontextoption

Returns a non-zero value if the specified context option exists.

hascontextoption(token)

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.

token: the name of the option to check.
", "hasdetailattrib": "

hasdetailattrib

Returns 1 if a specified detail attribute exists.

hasdetailattrib(surface_node, attribute)

This can also be used to determine if a key exists in a detail-level\ndictionary attribute. \"param.key\" will return 1 if key is in\nthe param dictionary attribute.

", - "haspdgattrib": "

haspdgattrib

Returns 1 if the active PDG work item has the specified attribute.

haspdgattrib(attribute)

Related

pdgattrib
pdgattribs
pdgattribsize
pdgattribtype
", - "haspoint": "

haspoint

Returns 1 if a specified point is in a specified group.

haspoint(group_name, surface_node, point_num)

The function will return 0 if the group is a primitive group.

Examples

haspoint(\"ears\", \"/obj/geo1/facet1\", 4)

Returns 1 if the group \"ears\" contains point number 4, otherwise\n returns 0.

Related

hasprim
pointlist
primlist
", + "haspdgattrib": "18.0

haspdgattrib

Returns 1 if the active PDG work item has the specified attribute.

haspdgattrib(attribute)

Related

pdgattrib
pdgattribs
pdgattribsize
pdgattribtype
", + "haspoint": "

haspoint

Returns 1 if a specified point is in a specified group.

haspoint(group_name, surface_node, point_num)

The function will return 0 if the group is a primitive group.

Examples

haspoint(\"ears\", \"/obj/geo1/facet1\", 4)

Returns 1 if the group ears contains point number 4, otherwise\n returns 0.

Related

hasprim
pointlist
primlist
", "haspointattrib": "

haspointattrib

Returns 1 if a specified point attribute exists.

haspointattrib(surface_node, attribute)
", - "hasprim": "

hasprim

Returns 1 if a specified primitive is in a specified group.

hasprim(group_name, surface_node, prim_num)

The function will return 0 if the group is a point group.

Examples

hasprim(\"ears\", \"/obj/geo1/facet1\", 3)

Returns 1 if the group \"ears\" contains primitive number 3, otherwise\n returns 0.

Related

haspoint
pointlist
primlist
", + "hasprim": "

hasprim

Returns 1 if a specified primitive is in a specified group.

hasprim(group_name, surface_node, prim_num)

The function will return 0 if the group is a point group.

Examples

hasprim(\"ears\", \"/obj/geo1/facet1\", 3)

Returns 1 if the group ears contains primitive number 3, otherwise\n returns 0.

Related

haspoint
pointlist
primlist
", "hasprimattrib": "

hasprimattrib

Returns 1 if a specified primitive attribute exists.

hasprimattrib(surface_node, attribute)
", "hasvertexattrib": "

hasvertexattrib

Returns 1 if a specified vertex attribute exists.

hasvertexattrib(surface_node, attribute)
", "hextoint": "

hextoint

Converts a hexadecimal argument string into an integer.

hextoint(value)

Examples

hextoint(\"A1\")

Returns 161.

Related

inttohex
", @@ -179,16 +181,16 @@ "icr": "

icr

Returns the sample rate of a CHOP\u2019s input.

icr(input_index)

Examples

icr(0)

Related

ics
ic
ice
icr
icn
icmin
icmax
icl
oc
", "ics": "

ics

Returns the start index of a CHOP\u2019s input.

ics(input_index)

Examples

ics(0)

Related

ics
ic
ice
icr
icn
icmin
icmax
icl
oc
", "identity": "

identity

Creates an identity matrix.

identity(size)

The resulting identity matrix will have size rows\nand size columns.

", - "if": "

if

Returns the value of the second or third argument depending on the\ntruth of the first argument.

if(expression, true_value, false_value)

Note

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.

Examples

if ($F<12, $F, 75)

When the current frame number ($F) is less than 12,\n returns the current frame number, otherwise returns 75.

Related

ifs
", + "if": "

if

Returns the value of the second or third argument depending on the\ntruth of the first argument.

if(expression, true_value, false_value)

Note

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

Examples

if ($F<12, $F, 75)

When the current frame number ($F) is less than 12,\n returns the current frame number, otherwise returns 75.

Related

ifs
Using an if statement in a multiline expression
", "ifs": "

ifs

Returns the string value of the second or third argument depending on the\ntruth of the first argument.

ifs(expression, true_value, false_value)

Note

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.

Examples

ifs ($F<12, padzero(4, $F), \"0075\")

When the current frame number ($F) is less than 12,\n returns a string containing the current frame number padded\n to four digits, otherwise returns 0075.

Related

if
", "index": "

index

Finds the first occurrence of a pattern in a string.

index(source, pattern)

Returns the number of characters before pattern occurs in\nsource. Returns -1 if the pattern is not found.

Examples

echo `index(\"Testing index\", \"sting\")`

Prints 2

echo `index(\"Testing index\", \"i\")`

Prints 4

Related

rindex
", "index_": "

index

Finds the first occurrence of a pattern in a string.

index(source, pattern)

Returns the number of characters before pattern occurs in\nsource. Returns -1 if the pattern is not found.

Examples

echo `index(\"Testing index\", \"sting\")`

Prints 2

echo `index(\"Testing index\", \"i\")`

Prints 4

Related

rindex
", "instancepoint": "

instancepoint

Returns the point number currently being instanced onto.

instancepoint()

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.

", "int": "

int

Converts a number to an integer by truncating any fractional part.

int(number)

Examples

int(2.501)=2
int(-2.501)=-2
int(0.2)=0
int(-.2)=0

Related

trunc
floor
ceil
round
", - "inttohex": "

inttohex

Converts a number into a hexadecimal string.

inttohex(value)

Examples

inttohex(123)

Returns \"0000007B\"

Related

hextoint
", + "inttohex": "

inttohex

Converts a number into a hexadecimal string.

inttohex(value)

Examples

inttohex(123)

Returns 0000007B

Related

hextoint
", "invert": "

invert

Inverts a matrix.

invert(mat)

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.

", - "iprquery": "

iprquery

Queries numeric (floating point) data from an interactive render pane.

iprquery(query, pane, x, y)

Use iprquerys to query textual (string) information.

The 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.

The 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.

The query string can be one of the following values:

cropx0, cropx1, cropy0, cropy1

Returns the left, right, top, or bottom values of the currently\n selected crop region.

exist.plane_name

Returns the index of the given plane if it exists in the rendered\n image, or -1 if it does not.

ipr

Returns 1 if the IPR button is on, or 0 if it is off.

lock

Returns 1 if the lock button is on (prevents automatic\n re-rendering), or 0 if it is off.

nplanes

Returns the number of deep raster planes in the current image.

object.ptinstance

Point number of the instance object (see \"Object queries\" below)\n that contributed the pixel at x,y. The x and y\n variables are coordinates in the rendered image.

object.primitive

Primitive number of the geometry object (see \"Object queries\" below)\n that contributed the pixel at x,y. The x and y\n variables are coordinates in the rendered image.

pindex.name

Returns the index of the deep raster plane named name. If there\n is no plane by that name, returns -1.

plane.vsize

Returns the vector size of the plane at the index specified by the\n 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)

(The y argument, here set to 0, is ignored.)

plane.name[.r|g|b|a]

Returns the value of the pixel component at x,y of the plane\n named name. For example:

iprquery(\"plane.C.g\", $PANE, $IX, $IY)

If you don\u2019t specify a component name (.r, .g, .b, or .a),\n returns the value of the first component.

You can also use .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

horizontal or vertical resolution of the image in the interactive\n render viewer.

Object queries

The queries beginning with 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

Queries textual (string) data from an interactive render pane.

iprquerys(query, pane, x, y)

Use iprquery to query numeric (floating point) information.

The 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.

The 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.

The query string can be one of the following values:

object.instance

Full path of the instanced object that contributed the pixel at\n 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

Full path of the geometry object that contributed the pixel at\n x, y. See \"Object queries\" below. The x and y\n arguments are coordinates in the rendered image.

object.surface

Full path of the surface shader that contributed the pixel at x,\n y. See \"Object queries\" below. The x and y arguments are\n coordinates in the rendered image.

object.displace

Full path of the displacement shader that affected the pixel at\n x, y. See \"Object queries\" below. The x and y\n arguments are coordinates in the rendered image.

plane.name

Returns the name of the plane at the index specified by the 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)

(The y argument, here set to 0, is ignored.)

rop

Returns the full path of the output driver node displayed in the\n interactive render pane.

Object queries

The queries beginning with 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

Queries numeric (floating point) data from an interactive render pane.

iprquery(query, pane, x, y)

Use iprquerys to query textual (string) information.

The 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.

The 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.

The query string can be one of the following values:

cropx0, cropx1, cropy0, cropy1

Returns the left, right, top, or bottom values of the currently\n selected crop region.

exist.plane_name

Returns the index of the given plane if it exists in the rendered\n image, or -1 if it does not.

ipr

Returns 1 if the IPR button is on, or 0 if it is off.

lock

Returns 1 if the lock button is on (prevents automatic\n re-rendering), or 0 if it is off.

nplanes

Returns the number of deep raster planes in the current image.

object.ptinstance

Point number of the instance object (see Object queries below)\n that contributed the pixel at x,y. The x and y\n variables are coordinates in the rendered image.

object.primitive

Primitive number of the geometry object (see Object queries below)\n that contributed the pixel at x,y. The x and y\n variables are coordinates in the rendered image.

pindex.name

Returns the index of the deep raster plane named name. If there\n is no plane by that name, returns -1.

plane.vsize

Returns the vector size of the plane at the index specified by the\n 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)

(The y argument, here set to 0, is ignored.)

plane.name[.r|g|b|a]

Returns the value of the pixel component at x,y of the plane\n named name. For example:

iprquery(\"plane.C.g\", $PANE, $IX, $IY)

If you don\u2019t specify a component name (.r, .g, .b, or .a),\n returns the value of the first component.

You can also use .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

horizontal or vertical resolution of the image in the interactive\n render viewer.

Object queries

The queries beginning with 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

Queries textual (string) data from an interactive render pane.

iprquerys(query, pane, x, y)

Use iprquery to query numeric (floating point) information.

The 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.

The 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.

The query string can be one of the following values:

object.instance

Full path of the instanced object that contributed the pixel at\n 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

Full path of the geometry object that contributed the pixel at\n x, y. See Object queries below. The x and y\n arguments are coordinates in the rendered image.

object.surface

Full path of the surface shader that contributed the pixel at x,\n y. See Object queries below. The x and y arguments are\n coordinates in the rendered image.

object.displace

Full path of the displacement shader that affected the pixel at\n x, y. See Object queries below. The x and y\n arguments are coordinates in the rendered image.

plane.name

Returns the name of the plane at the index specified by the 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)

(The y argument, here set to 0, is ignored.)

rop

Returns the full path of the output driver node displayed in the\n interactive render pane.

Object queries

The queries beginning with 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
", "isclosed": "

isclosed

Returns 1 if a primitive is closed.

isclosed(surface_node, prim_num)

This is the same as iswrapu, and\nworks on polygonal, NURBS, and Bezier curves and surfaces.

Related

iswrapu
iswrapv
", "iscollided": "

iscollided

Returns 1 if a specified point has collided with something.

iscollided(surface_node, pointnumber)

Examples

iscollided(\"../particle1\", $PT)
", "ishvariable": "

ishvariable

Returns 1 if a specified Houdini environment variable exists.

ishvariable(variable_name)

Checks only houdini variables to see if variable_name exists.\nSystem variables are not checked.

Related

isvariable
", @@ -204,13 +206,13 @@ "lock": "

lock

Returns a value that cannot be changed.

lock(float)

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.

", "log": "

log

Returns the natural logarithm of the argument.

log(number)

Examples

log (2.718281828)= 1
", "log10": "

log10

Returns the base 10 logarithm of the argument.

log10(number)

Examples

log10(10) = 1
log10(100) = 2
", - "lopinputprim": "

lopinputprim

Returns the path of the USD primitive last modified by an input to a LOP node.

lopinputprim(lop_path, input_index)
This function is a shortcut, equivalent to the following expression
loplastmodifiedprim(opinput(<<lop_path>>, <<input_index>>))

See loplastmodifiedprim for more information about the last modified\nprimitive value.

Related

loplastmodifiedprim
", - "lopinputprims": "

lopinputprims

Returns the paths of the USD primitives last modified by an input to a LOP node.

lopinputprims(lop_path, input_index)
This function is a shortcut, equivalent to the following expression
loplastmodifiedprims(opinput(<<lop_path>>, <<input_index>>))

See loplastmodifiedprims for more information about the last modified\nprimitives value.

Related

loplastinputprim
loplastmodifiedprims
", - "loplastmodifiedprim": "

loplastmodifiedprim

Returns the path of the USD primitive last modified by a LOP node.

loplastmodifiedprim(lop_path)

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 lop_path parameter.

Using this expression function it is easy to create and edit scene graph\nhierarchies without using complex channel referencing expressions.

Related

lopinputprim
", - "loplastmodifiedprims": "

loplastmodifiedprims

Returns the paths of the USD primitives last modified by a LOP node.

loplastmodifiedprims(lop_path)

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 lop_path parameter.

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.

Related

lopinputprims
loplastmodifiedprim
", - "lopparentprims": "

lopparentprims

Returns the paths of the parents of the supplied list of USD primitives.

lopparentprims(lop_paths)

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.

Related

loprelativeprims
loplastmodifiedprims
", - "loprelativeprims": "

loprelativeprims

Returns the paths at a particular location relative to the supplied list of USD primitives.

loprelativeprims(lop_paths, relative_path)

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.

Related

lopparentprims
loplastmodifiedprims
", - "match": "

match

Channel segment function: matches the incoming and outgoing slopes.

match()

The curve will move smoothly from the in coming value to\nthe out going value.

Related

vmatch
matchin
matchout
", + "lopinputprim": "17.0

lopinputprim

Returns the path of the USD primitive last modified by an input to a LOP node.

lopinputprim(lop_path, input_index)
This function is a shortcut, equivalent to the following expression
loplastmodifiedprim(opinput(<<lop_path>>, <<input_index>>))

See loplastmodifiedprim for more information about the last modified\nprimitive value.

Related

loplastmodifiedprim
", + "lopinputprims": "17.0

lopinputprims

Returns the paths of the USD primitives last modified by an input to a LOP node.

lopinputprims(lop_path, input_index)
This function is a shortcut, equivalent to the following expression
loplastmodifiedprims(opinput(<<lop_path>>, <<input_index>>))

See loplastmodifiedprims for more information about the last modified\nprimitives value.

Related

loplastinputprim
loplastmodifiedprims
", + "loplastmodifiedprim": "17.0

loplastmodifiedprim

Returns the path of the USD primitive last modified by a LOP node.

loplastmodifiedprim(lop_path)

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 lop_path parameter.

Using this expression function it is easy to create and edit scene graph\nhierarchies without using complex channel referencing expressions.

Related

lopinputprim
", + "loplastmodifiedprims": "17.0

loplastmodifiedprims

Returns the paths of the USD primitives last modified by a LOP node.

loplastmodifiedprims(lop_path)

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 lop_path parameter.

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.

Related

lopinputprims
loplastmodifiedprim
", + "lopparentprims": "18.0

lopparentprims

Returns the paths of the parents of the supplied list of USD primitives.

lopparentprims(lop_paths)

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.

Related

loprelativeprims
loplastmodifiedprims
", + "loprelativeprims": "18.0

loprelativeprims

Returns the paths at a particular location relative to the supplied list of USD primitives.

loprelativeprims(lop_paths, relative_path)

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.

Related

lopparentprims
loplastmodifiedprims
", + "match": "

match

Channel segment function: matches the incoming and outgoing values.

match()

The curve will move smoothly from the incoming value to the outgoing value.

Related

vmatch
matchin
matchout
", "matchin": "

matchin

Channel segment function: matches the incoming slope.

matchin()

Related

vmatchin
match
matchout
", "matchout": "

matchout

Channel segment function: matches the outgoing slope.

matchout()

Related

vmatchout
match
matchin
", "matrix": "

matrix

Converts a string specification into a matrix.

matrix(pattern)

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.

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
", @@ -238,24 +240,26 @@ "nprims": "

nprims

Returns the number of primitives in a surface node.

nprims(name)

Returns -1 if the surface node cannot be cooked.

", "nprimsgroup": "

nprimsgroup

Returns the number of primitives in the specified group.

nprimsgroup(surface_node, group_name)

Returns -1 if the surface node cannot be cooked\nor 0 if the group does not exist.

", "nuniquevals": "

nuniquevals

Returns the number of unique values for an integer or string attribute in a surface node.

nuniquevals(surface_node, class, attribute)

The 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\")

Returns the number of unique values for the primitive attribute name in\n the facet1 surface node in geo1.

", + "nvertices": "

nvertices

Returns the number of vertices in a geometry.

nvertices(surface_node)

Returns -1 if the surface node cannot be cooked.

", + "nverticesgroup": "

nverticesgroup

Returns the number of vertices in the specified group.

nverticesgroup(surface_node, group_name)

Returns -1 if the surface node cannot be cooked\nor 0 if the group does not exist.

", "objkinoverride": "

objkinoverride

Returns the current global kinematic override setting for bone objects.

objkinoverride()

This is equivalent to running the objkinoverride\ncommand without any arguments.

Return values are: none (no overrides, rest (bones cook using the rest\ntransform), or capture (bones cook using the capture pose transform).

Examples

objkinoverride()

Related

objkinoverride
", - "objlightmask": "

objlightmask

Returns a list of lights matching an object\u2019s light mask.

objlightmask(geometry, options)

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:

f

Generate full path names for the lights. If this option is excluded,\n the path names will be generated relative to /obj

a

Ignore ambient lights.

A

Only include ambient lights.

Examples

objlightmask(\"/obj/geo1\", \"fa\")

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\".

Related

oplightmask
", + "objlightmask": "

objlightmask

Returns a list of lights matching an object\u2019s light mask.

objlightmask(geometry, options)

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:

f

Generate full path names for the lights. If this option is excluded,\n the path names will be generated relative to /obj

a

Ignore ambient lights.

A

Only include ambient lights.

Examples

objlightmask(\"/obj/geo1\", \"fa\")

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.

Related

oplightmask
", "objlookat": "

objlookat

Computes the rotation vector\nof a lookat from one object to another.

objlookat(base_node, target_node, upv)

Examples

objlookat(\"/obj/null1\",\"/obj/null2\",vector3(0,1,0))[0]

Returns the rotation parameter for Rx to get null1 to look at null2

", "objpretransform": "

objpretransform

Returns an object\u2019s pre-transform matrix.

objpretransform(object_name)

Examples

objpretransform(\"/obj/bone1\")

Returns the pretransform matrix for /obj/bone1.

", "oc": "

oc

Returns the value of a CHOP\u2019s output at a specific sample index.

oc(output_channel_index, index)

Examples

oc(0, 10)

Related

ics
ic
ice
icr
icn
icmin
icmax
icl
oc
", - "ocldeviceinfo": "

ocldeviceinfo

Queries the current OpenCL device with the provided flag

ocldeviceinfo(flag)

flag is a string containing the name of the device flag.

This function queries the current OpenCL device and returns the numeric value\nof the specified flag. Internally this function calls the OpenCL clGetDeviceInfo\nfunction; the available flags are described in\nthe OpenCL documentation.

Some useful flags include:

CL_DEVICE_TYPE which returns 2 for a CPU device and 4 for a GPU device.
CL_DEVICE_GLOBAL_MEM_SIZE and CL_DEVICE_MAX_MEM_ALLOC_SIZE which return\nthe total memory and largest single allocation that can be made on a device, respectively.
CL_DEVICE_DEVICE_ENQUEUE_SUPPORT which indicates the device supports\ndevice-side enqueuing\nof kernels.

The full list of flags supported is as follows:

CL_DEVICE_TYPECL_DEVICE_VENDOR_IDCL_DEVICE_MAX_COMPUTE_UNITSCL_DEVICE_MAX_WORK_ITEM_DIMENSIONSCL_DEVICE_MAX_WORK_GROUP_SIZECL_DEVICE_PREFERRED_VECTOR_WIDTH_CHARCL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORTCL_DEVICE_PREFERRED_VECTOR_WIDTH_INTCL_DEVICE_PREFERRED_VECTOR_WIDTH_LONGCL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOATCL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLECL_DEVICE_MAX_CLOCK_FREQUENCYCL_DEVICE_ADDRESS_BITSCL_DEVICE_MAX_READ_IMAGE_ARGSCL_DEVICE_MAX_WRITE_IMAGE_ARGSCL_DEVICE_MAX_MEM_ALLOC_SIZECL_DEVICE_IMAGE2D_MAX_WIDTHCL_DEVICE_IMAGE2D_MAX_HEIGHTCL_DEVICE_IMAGE3D_MAX_WIDTHCL_DEVICE_IMAGE3D_MAX_HEIGHTCL_DEVICE_IMAGE3D_MAX_DEPTHCL_DEVICE_IMAGE_SUPPORTCL_DEVICE_MAX_PARAMETER_SIZECL_DEVICE_MAX_SAMPLERSCL_DEVICE_MEM_BASE_ADDR_ALIGNCL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZECL_DEVICE_SINGLE_FP_CONFIGCL_DEVICE_GLOBAL_MEM_CACHE_TYPECL_DEVICE_GLOBAL_MEM_CACHELINE_SIZECL_DEVICE_GLOBAL_MEM_CACHE_SIZECL_DEVICE_GLOBAL_MEM_SIZECL_DEVICE_MAX_CONSTANT_BUFFER_SIZECL_DEVICE_MAX_CONSTANT_ARGSCL_DEVICE_LOCAL_MEM_TYPECL_DEVICE_LOCAL_MEM_SIZECL_DEVICE_ERROR_CORRECTION_SUPPORTCL_DEVICE_PROFILING_TIMER_RESOLUTIONCL_DEVICE_ENDIAN_LITTLECL_DEVICE_AVAILABLECL_DEVICE_COMPILER_AVAILABLECL_DEVICE_PREFERRED_VECTOR_WIDTH_HALFCL_DEVICE_NATIVE_VECTOR_WIDTH_CHARCL_DEVICE_NATIVE_VECTOR_WIDTH_SHORTCL_DEVICE_NATIVE_VECTOR_WIDTH_INTCL_DEVICE_NATIVE_VECTOR_WIDTH_LONGCL_DEVICE_NATIVE_VECTOR_WIDTH_FLOATCL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLECL_DEVICE_NATIVE_VECTOR_WIDTH_HALFCL_DEVICE_HOST_UNIFIED_MEMORYCL_DEVICE_LINKER_AVAILABLECL_DEVICE_IMAGE_MAX_BUFFER_SIZECL_DEVICE_IMAGE_MAX_ARRAY_SIZECL_DEVICE_PARTITION_MAX_SUB_DEVICESCL_DEVICE_REFERENCE_COUNTCL_DEVICE_PREFERRED_INTEROP_USER_SYNCCL_DEVICE_PRINTF_BUFFER_SIZECL_DEVICE_IMAGE_PITCH_ALIGNMENTCL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENTCL_DEVICE_MAX_READ_WRITE_IMAGE_ARGSCL_DEVICE_MAX_GLOBAL_VARIABLE_SIZECL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZECL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZECL_DEVICE_MAX_ON_DEVICE_QUEUESCL_DEVICE_MAX_ON_DEVICE_EVENTSCL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZECL_DEVICE_MAX_PIPE_ARGSCL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONSCL_DEVICE_PIPE_MAX_PACKET_SIZECL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENTCL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENTCL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENTCL_DEVICE_NUMERIC_VERSIONCL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORTCL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLECL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORTCL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORTCL_DEVICE_DEVICE_ENQUEUE_SUPPORTCL_DEVICE_PIPE_SUPPORT
", + "ocldeviceinfo": "18.5

ocldeviceinfo

Queries the current OpenCL device with the provided flag

ocldeviceinfo(flag)

flag is a string containing the name of the device flag.

This function queries the current OpenCL device and returns the numeric value\nof the specified flag. Internally this function calls the OpenCL clGetDeviceInfo\nfunction; the available flags are described in\nthe OpenCL documentation.

Some useful flags include:

CL_DEVICE_TYPE which returns 2 for a CPU device and 4 for a GPU device.
CL_DEVICE_GLOBAL_MEM_SIZE and CL_DEVICE_MAX_MEM_ALLOC_SIZE which return\nthe total memory and largest single allocation that can be made on a device, respectively.
CL_DEVICE_DEVICE_ENQUEUE_SUPPORT which indicates the device supports\ndevice-side enqueuing\nof kernels.

The full list of flags supported is as follows:

CL_DEVICE_TYPECL_DEVICE_VENDOR_IDCL_DEVICE_MAX_COMPUTE_UNITSCL_DEVICE_MAX_WORK_ITEM_DIMENSIONSCL_DEVICE_MAX_WORK_GROUP_SIZECL_DEVICE_PREFERRED_VECTOR_WIDTH_CHARCL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORTCL_DEVICE_PREFERRED_VECTOR_WIDTH_INTCL_DEVICE_PREFERRED_VECTOR_WIDTH_LONGCL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOATCL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLECL_DEVICE_MAX_CLOCK_FREQUENCYCL_DEVICE_ADDRESS_BITSCL_DEVICE_MAX_READ_IMAGE_ARGSCL_DEVICE_MAX_WRITE_IMAGE_ARGSCL_DEVICE_MAX_MEM_ALLOC_SIZECL_DEVICE_IMAGE2D_MAX_WIDTHCL_DEVICE_IMAGE2D_MAX_HEIGHTCL_DEVICE_IMAGE3D_MAX_WIDTHCL_DEVICE_IMAGE3D_MAX_HEIGHTCL_DEVICE_IMAGE3D_MAX_DEPTHCL_DEVICE_IMAGE_SUPPORTCL_DEVICE_MAX_PARAMETER_SIZECL_DEVICE_MAX_SAMPLERSCL_DEVICE_MEM_BASE_ADDR_ALIGNCL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZECL_DEVICE_SINGLE_FP_CONFIGCL_DEVICE_GLOBAL_MEM_CACHE_TYPECL_DEVICE_GLOBAL_MEM_CACHELINE_SIZECL_DEVICE_GLOBAL_MEM_CACHE_SIZECL_DEVICE_GLOBAL_MEM_SIZECL_DEVICE_MAX_CONSTANT_BUFFER_SIZECL_DEVICE_MAX_CONSTANT_ARGSCL_DEVICE_LOCAL_MEM_TYPECL_DEVICE_LOCAL_MEM_SIZECL_DEVICE_ERROR_CORRECTION_SUPPORTCL_DEVICE_PROFILING_TIMER_RESOLUTIONCL_DEVICE_ENDIAN_LITTLECL_DEVICE_AVAILABLECL_DEVICE_COMPILER_AVAILABLECL_DEVICE_PREFERRED_VECTOR_WIDTH_HALFCL_DEVICE_NATIVE_VECTOR_WIDTH_CHARCL_DEVICE_NATIVE_VECTOR_WIDTH_SHORTCL_DEVICE_NATIVE_VECTOR_WIDTH_INTCL_DEVICE_NATIVE_VECTOR_WIDTH_LONGCL_DEVICE_NATIVE_VECTOR_WIDTH_FLOATCL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLECL_DEVICE_NATIVE_VECTOR_WIDTH_HALFCL_DEVICE_HOST_UNIFIED_MEMORYCL_DEVICE_LINKER_AVAILABLECL_DEVICE_IMAGE_MAX_BUFFER_SIZECL_DEVICE_IMAGE_MAX_ARRAY_SIZECL_DEVICE_PARTITION_MAX_SUB_DEVICESCL_DEVICE_REFERENCE_COUNTCL_DEVICE_PREFERRED_INTEROP_USER_SYNCCL_DEVICE_PRINTF_BUFFER_SIZECL_DEVICE_IMAGE_PITCH_ALIGNMENTCL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENTCL_DEVICE_MAX_READ_WRITE_IMAGE_ARGSCL_DEVICE_MAX_GLOBAL_VARIABLE_SIZECL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZECL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZECL_DEVICE_MAX_ON_DEVICE_QUEUESCL_DEVICE_MAX_ON_DEVICE_EVENTSCL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZECL_DEVICE_MAX_PIPE_ARGSCL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONSCL_DEVICE_PIPE_MAX_PACKET_SIZECL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENTCL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENTCL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENTCL_DEVICE_NUMERIC_VERSIONCL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORTCL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLECL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORTCL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORTCL_DEVICE_DEVICE_ENQUEUE_SUPPORTCL_DEVICE_PIPE_SUPPORT
", "oldrand": "

oldrand

Returns a pseudo-random number between 0 and 1.

oldrand(value)

Using the same value will give the same result each time. A\ndifferent number is returned if fractional values are different.

Note

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.

Examples

oldrand(12.1) gives a different result than oldrand(12.2)

Related

rand
", "opblist": "

opblist

Returns the full paths of all operators in a bundle.

opblist(bundle_name)

Returns a string containing a space separated list of paths.

", "opcreator": "

opcreator

Returns the creator of this node.

opcreator(name)

Examples

opcreator(\"/obj/geo1/line1\")

Returns /obj/geo1, indicating that object geo1 is the creator network for line1.

Related

optypeinfo
", "opdigits": "

opdigits

Returns the numeric suffix of a node name.

opdigits(name)

This function will return the numeric value of the last set of\nconsecutive digits in a node\u2019s name.

Examples

opdigits(\"/obj/geo1\") = 1
opdigits(\".\") = 1
", "opexist": "

opexist

Returns 1 if the specified node, group, or bundle exists.

opexist(op_name)

Examples

echo `opexist(\"../box1\")`
echo `opexist(\"/obj/@mygroup\")`
echo `opexist(\"@mybundle\")`
", - "opflag": "

opflag

Returns a list nodes with a particular flag set.

opflag(network, flag)

The flag argument follows the same convention as the opset\ncommand. Examples are:

\"d\"

Display Flag

\"r\"

Render Flag

\"t\"

Template

\"b\"

Bypass

\"l\"

Lock.

\"e\"

Expose

\"h\"

Highlight

\"f\"

Footprint

\"s\"

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\"

\"u\"

Unload data after cook (surface nodes and CHOPs only).

\"c\"

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\".

\"C\"

Current

\"p\"

Picked

\"P\"

Display descriptive parm.

\"O\"

Output For View.

The following flags are only available for objects:

\"S\"

Selectable in viewport

\"x\"

Object pivot axes

\"y\"

Xray

The following flags are only available for CHOPs.

\"a\"

Audio

\"o\"

Export

Examples

hscript -> echo `opflag(\"/obj\", \"d\")`

Lists all displayed objects

hscript -> echo `opflag(\"/obj/geo1\", \"l\")`

Lists all locked surface nodes in object geo1.

Related

opselect
opselectrecurse
", + "opflag": "

opflag

Returns a list nodes with a particular flag set.

opflag(network, flag)

The flag argument follows the same convention as the opset\ncommand. Examples are:

d

Display Flag

r

Render Flag

t

Template

b

Bypass

l

Lock.

e

Expose

h

Highlight

f

Footprint

s

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

u

Unload data after cook (surface nodes and CHOPs only).

c

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.

C

Current

p

Picked

P

Display descriptive parm.

O

Output For View.

The following flags are only available for objects:

S

Selectable in viewport

x

Object pivot axes

y

Xray

The following flags are only available for CHOPs.

a

Audio

o

Export

Examples

hscript -> echo `opflag(\"/obj\", \"d\")`

Lists all displayed objects

hscript -> echo `opflag(\"/obj/geo1\", \"l\")`

Lists all locked surface nodes in object geo1.

Related

opselect
opselectrecurse
", "opfullpath": "

opfullpath

Returns the full path of a node.

opfullpath(relpath)

Related

opfullpathfrom
oprelativepath
opname
opsubpath
", "opfullpathfrom": "

opfullpathfrom

Returns the path of a node relative to another node.

opfullpathfrom(node, basenode)

This function will return the full path to node,\nrelative to basenode. If basenode is a relative\npath it is relative to the current nodes.

Related

oprelativepath
opfullpath
opname
opsubpath
", "opid": "

opid

Returns the unique ID of a node.

opid(name)

The value of the ID is unique to that operator at any given\nmoment, however it changes each time Houdini is reloaded.

Examples

opid(\"/obj/model\")

Returns a unique ID of the model object.

", "opinput": "

opinput

Returns the name of the node connected to a given input.

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
opninputs
opoutput
opoutputpath
opnoutputs
", "opinputpath": "

opinputpath

Returns the full path of the node connected to a given input.

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

opinput
opninputs
opoutput
opoutputpath
opnoutputs
", - "opinputstring": "

opinputstring

Returns the value associated with a key string on node connection.

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.

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.

Examples

opinputstring(\".\", 1, \"refprimpath\")
", + "opinputstring": "18.0

opinputstring

Returns the value associated with a key string on node connection.

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.

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.

Examples

opinputstring(\".\", 1, \"refprimpath\")
", "opisloading": "

opisloading

Returns 1 if Houdini is currently loading a scene file.

opisloading()
", "opisquitting": "

opisquitting

Returns 1 if Houdini is currently shutting down.

opisquitting()

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.

", "oplightmask": "

oplightmask

Returns a list of lights matching an object\u2019s light mask.

oplightmask(geometry)

Returns a string containing a space separated list of path names.

This function is equivalent to objlightmask(geometry, \"f\").

Examples

oplightmask(\"/obj/geo1\")

Might return the string\n \"/obj/ambient1 /obj/light1 /obj/subnet1/light1\".

Related

objlightmask
", @@ -263,74 +267,77 @@ "opname": "

opname

Returns the name of a node given its path.

opname(name)

This is useful to find out the name of the network containing the node,\ne.g. opname(\"..\") will return the name of the network containing the\ncurrent node.

Related

opfullpath
opsubpath
oprelativepath
", "opnchildren": "

opnchildren

Returns the number of nodes inside a container node.

opnchildren(name)

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.

", "opninputs": "

opninputs

Returns the maximum number of connected inputs.

opninputs(name)

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,\nopninputs will return 4. If the first and third inputs are connected,\nopninputs will return 3.

Related

opinput
opoutput
opnoutputs
", - "opnodigits": "

opnodigits

Returns the alphanumeric prefix of a node name eliminating trailing digits.

opnodigits(name)

This function will return the numeric value of the last set of\nconsecutive digits in a node\u2019s name.

Examples

opnodigits(\"/obj/geo1\") = /obj/geo
opdigits(\".\") = /obj/geo
", + "opnodigits": "18.5

opnodigits

Returns the alphanumeric prefix of a node name eliminating trailing digits.

opnodigits(name)

This function will return the alphanumeric prefix of a node name eliminating trailing digits.

Examples

opnodigits(\"/obj/geo1\") = /obj/geo
opdigits(\".\") = /obj/geo
", "opnoutputs": "

opnoutputs

Returns the number of nodes connected to a node\u2019s output.

opnoutputs(name)

Related

opinput
opoutput
opninputs
", "opoutput": "

opoutput

Returns the name of a node connected a given node\u2019s output.

opoutput(name, index)

Multiple operators may be connected to a node\u2019s output\nand the index ordering is arbitrary.

Related

opinput
opinputpath
opninputs
opoutputpath
opnoutputs
", "opoutputpath": "

opoutputpath

Returns the full path of a node connected a given node\u2019s output.

opoutputpath(name, index)

Multiple operators may be connected to a node\u2019s output\nand the index ordering is arbitrary.

Related

opinput
opinputpath
opninputs
opoutput
opnoutputs
", "oppinput": "

oppinput

Deprecated: replaced by opinput.

oppinput(name, index)

Use opinput instead.

", "oppwd": "

oppwd

Returns the path of the current network.

oppwd()

This is a shortcut for execute(\"oppwf\").

", - "oppwf": "

oppwf

Prints the path of the current network.

oppwf()

This is a short form for execute(\"oppwf\").

", + "oppwf": "

oppwf

Prints the path of the current network.

oppwf()

This is a short form for execute(oppwf).

", "oprelativepath": "

oprelativepath

Returns the relative path from one node to another.

oprelativepath(srcpath, destpath)

Related

opfullpathfrom
opfullpath
opname
opsubpath
", - "opselect": "

opselect

Returns a list of the selected nodes.

opselect(network)

Returns a string with a space separated list of the selected nodes\nin the given network.

Examples

echo `opselect(\"/obj\")`

Returns \"geo1 geo2\".

Related

opselectpath
opselectrecurse
opselectrecursepath
opflag
", - "opselectpath": "

opselectpath

Returns a list of the full paths of selected nodes.

opselectpath(network)

Returns a string with a space separated list of the full paths of selected\nnodes in the given network.

Examples

echo `opselectpath(\"/obj\")`

Returns \"/obj/geo1 /obj/geo2\".

Related

opselect
opselectrecurse
opselectrecursepath
opflag
", - "opselectrecurse": "

opselectrecurse

Returns a recursive list of the selected nodes.

opselectrecurse(network, flag)

Returns a string with a space separated list of the selected nodes\nin the given network, including selected children according to the context.

flag = 0: Do not keep the context. Every selected node will be\n returned.
flag = 1: Keep the context. It will return only selected nodes\n belonging to the same context as the \"network\" argument.

Examples

echo `opselectrecurse(\"/obj/model\",1)`

Returns \"edgecusp1 subnet1 subnet1/sphere2\"

echo `opselectrecurse(\"/obj/model\",0)`

Returns \"edgecusp1 shopnet1 subnet1 subnet1/sphere2\".

Related

opselect
opselectpath
opselectrecursepath
opflag
", - "opselectrecursepath": "

opselectrecursepath

Returns a recursive list of the full paths of selected nodes.

opselectrecursepath(network, flag)

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.

flag = 0: Do not keep the context. Every selected node will be\n returned.
flag = 1: Keep the context. It will return only selected nodes\n belonging to the same context as the \"network\" argument.

Examples

echo `opselectrecursepath(\"/obj/model\",1)`

Returns \"/obj/model/edgecusp1 /obj/model/subnet1 /obj/model/subnet1/sphere2\"

echo `opselectrecursepath(\"/obj/model\",0)`

Returns \"/obj/model/edgecusp1 /obj/model/shopnet1 /obj/model/subnet1 /obj/model/subnet1/sphere2\".

Related

opselect
opselectpath
opselectrecurse
opflag
", + "opselect": "

opselect

Returns a list of the selected nodes.

opselect(network)

Returns a string with a space separated list of the selected nodes\nin the given network.

Examples

echo `opselect(\"/obj\")`

Returns geo1 geo2.

Related

opselectpath
opselectrecurse
opselectrecursepath
opflag
", + "opselectpath": "

opselectpath

Returns a list of the full paths of selected nodes.

opselectpath(network)

Returns a string with a space separated list of the full paths of selected\nnodes in the given network.

Examples

echo `opselectpath(\"/obj\")`

Returns /obj/geo1 /obj/geo2.

Related

opselect
opselectrecurse
opselectrecursepath
opflag
", + "opselectrecurse": "

opselectrecurse

Returns a recursive list of the selected nodes.

opselectrecurse(network, flag)

Returns a string with a space separated list of the selected nodes\nin the given network, including selected children according to the context.

flag = 0: Do not keep the context. Every selected node will be\n returned.
flag = 1: Keep the context. It will return only selected nodes\n belonging to the same context as the network argument.

Examples

echo `opselectrecurse(\"/obj/model\",1)`

Returns edgecusp1 subnet1 subnet1/sphere2

echo `opselectrecurse(\"/obj/model\",0)`

Returns edgecusp1 shopnet1 subnet1 subnet1/sphere2.

Related

opselect
opselectpath
opselectrecursepath
opflag
", + "opselectrecursepath": "

opselectrecursepath

Returns a recursive list of the full paths of selected nodes.

opselectrecursepath(network, flag)

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.

flag = 0: Do not keep the context. Every selected node will be\n returned.
flag = 1: Keep the context. It will return only selected nodes\n belonging to the same context as the network argument.

Examples

echo `opselectrecursepath(\"/obj/model\",1)`

Returns /obj/model/edgecusp1 /obj/model/subnet1 /obj/model/subnet1/sphere2

echo `opselectrecursepath(\"/obj/model\",0)`

Returns /obj/model/edgecusp1 /obj/model/shopnet1 /obj/model/subnet1 /obj/model/subnet1/sphere2.

Related

opselect
opselectpath
opselectrecurse
opflag
", "opstreamname": "

opstreamname

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 opstreamname expression computes the ad hoc point group for the nodes active stream.

If the node has only a single solid input that leads to a generator, this will evaluate to the 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

Returns the full path of a node including any containing subnets.

opsubpath(node)

Related

opfullpath
oprelativepath
opname
", - "optransform": "

optransform

Returns the transformation matrix of an object at the current time.

optransform(object_name)

This function will return the transformation matrix of object_name.

If object_name is the empty string (\"\"), then the identity matrix is\n returned.

", - "optype": "

optype

Returns the type of a node.

optype(name)

Examples

optype(\"/obj/geo1\")

Returns \"geo\", indicating that object geo1 is a Geometry container object.

Related

optypeinfo
", + "optransform": "

optransform

Returns the transformation matrix of an object at the current time.

optransform(object_name)

This function will return the transformation matrix of object_name.

If object_name is the empty string (), then the identity matrix is\n returned.

", + "optype": "

optype

Returns the type of a node.

optype(name)

Examples

optype(\"/obj/geo1\")

Returns geo, indicating that object geo1 is a Geometry container object.

Related

optypeinfo
", "optypeinfo": "

optypeinfo

Returns type information about a node.

optypeinfo(name, pattern)

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.

N

The name of the node. For /obj/geo1, this would be geo1.

r

The type of the node, same as in optype. For\n /obj/geo1, this would be geo.

e

The type\u2019s label. For /obj/geo1, this would be Geometry.

n

The network type of the operator. For /obj/geo1, this would be\n OBJ.

s

The script path of the operator. For /obj/geo1, this would be\n obj.

i

The operator\u2019s index. This number corresponds to the network type.

T

The table name of the operator. For /obj/geo1, this would be\n Object.

t

The operator type. For /obj/model, this would be geo.

o

The full operator type name, consisting of the table name and operator name,\n separated by a /, 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

optype
", - "origin": "

origin

Returns components of an object\u2019s transforms.

origin(obj1, obj2, constant_type)

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.

Related

vorigin
vtorigin
vrorigin
originoffset
", - "originoffset": "

originoffset

Returns components of an object\u2019s offset transforms.

`originoffset(obj1, pos1, obj2, pos2,

constant_type)`

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.

Related

origin
vorigin
vtorigin
vrorigin
", - "padzero": "

padzero

Returns a string padding a number to a given length with zeros.

padzero(size, value)

Returns a string containing 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

Returns components of an object\u2019s transforms.

origin(obj1, obj2, constant_type)

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.

Related

vorigin
vtorigin
vrorigin
originoffset
", + "originoffset": "

originoffset

Returns components of an object\u2019s offset transforms.

`originoffset(obj1, pos1, obj2, pos2,

constant_type)`

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.

Related

origin
vorigin
vtorigin
vrorigin
", + "padzero": "

padzero

Returns a string padding a number to a given length with zeros.

padzero(size, value)

Returns a string containing value preceded by enough zeros to make up\nsize digits.

Negative numbers will be prefixed with a minus sign.

Examples

padzero(5, 126) = 00126
padzero(5, 23) = 00023
padzero(1, 23) = 23
", "param": "

param

Deprecated: use stamp instead.

param(token, value)

This function is now obsolete, please use stamp instead. A\nwarning will be generated if used.

Related

stamp
", "parmisstring": "

parmisstring

Returns 1 if a specified parameter is a string.

parmisstring(parameter_name)

Examples

echo `parmisstring(\"/obj/model/lookatpath\")`
", - "pdgattrib": "

pdgattrib

Returns the value of a PDG work item attrib

pdgattrib(name, index)

name is the name of the attribute

index is the component index of the attribute

Note

This function is equivalent to doing @name.index, but makes it\n easier to programtically select the attribute name or index.

Examples

pdgattrib(\"pdg_frame\", 0)

Returns the frame value of the current work item - equivalent to @pdg_frame

pdgattrib(\"color\", 2)

Returns the second component of the \"color\" attribute.

Related

pdgattribs
pdgattribvals
", - "pdgattriblist": "

pdgattriblist

Returns a space-separated list of attribute names on the active PDG work item.

pdgattriblist()

Related

pdgattrib
pdgattribs
pdgattribsize
", - "pdgattribs": "

pdgattribs

Returns the string value of a PDG work item attribute

pdgattribs(name, index)

name is the name of the attribute

index is the component index of the attribute

Note

This function is equivalent to doing @name.index, but makes it\n easier to programtically select the attribute name or index.

Examples

pdgattribs(\"pdg_input\", 0)

Returns the first input file on the active work item. This is equivalent to using\n@pdg_input.

pdgattribs(\"filenames\", 2)

Returns the second component of the \"filenames\" attribute.

Related

pdgattrib
pdgattribvals
", - "pdgattribsize": "

pdgattribsize

Returns the number of components in a PDG work item attribute.

pdgattribsize(attribute)

If there is no active work item or the attribute is not found on the work item, returns 0

Examples

pdgattribsize( \"position\" )

Returns the size of the \"position\" attribute on the active work item

Related

pdgattrib
pdgattribtype
", - "pdgattribtype": "

pdgattribtype

Returns the type of a PDG work item attribute.

pdgattribtype(attribute)

If there is no active work item or the attribute does not exist, returns -1.

Types are
-1 - Unknown/Invalid
0 - Integer Array
1 - Float Array
2 - String Array
3 - File Array
4 - Python Object
5 - Geometry Data

Examples

pdgattribtype( \"wedgeindex\" )

Returns 0, which indicates that the attribute is an integer.

Related

pdgattrib
pdgattribsize
", - "pdgattribute": "

pdgattribute

Deprecated: replaced by pdgattrib.

pdgattribute(name, index)

Use pdgattrib instead.

", - "pdgattributes": "

pdgattributes

Deprecated: replaced by pdgattribs.

pdgattributes(name, index)

Use pdgattribs instead.

", - "pdgattribvals": "

pdgattribvals

Returns the space separated list of values for a PDG work item attribute

pdgattribvals(name)

name is the name of the attribute

Note

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.

Examples

pdgattribvals(\"image_files\")

Returns the space separated list of values in the image_files attribute. For example: image1.png image2.png \"image with space.png\".

pdgattribvals(\"wedgevalues\")

Example evaluation: 0.5 10 20.

Related

pdgattrib
pdgattribs
", - "pdginput": "

pdginput

Returns a work item input file for the specified file index and tag

pdginput(index, tag, localize)

index the input file number, from the list of files on the active work item

tag the tag, which can be set to empty string if unspecified

localize set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.

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.

Note

This function is a more generalized version of the @pdg_input attribute.

Examples

pdginput(1, \"file/image\", 0)

Returns the input image file with index 1, from the list of input files on the active work item.

Related

pdgoutput
", - "pdginputsize": "

pdginputsize

Returns the number of input files on the active PDG work item

pdginputsize(tag)

tag the tag, which can be set to empty string if unspecified

This function returns the number of input files to the active work item, with the specified file tag.

Examples

pdginputsize(\"file/geo\")

Returns the number of input geometry files.

Related

pdginput
pdgoutput
pdgoutputsize
", - "pdginputvals": "

pdginputvals

Returns a space separated string of all work item input files for the specified tag

pdginputvals(tag, localize)

tag the tag, which can be set to empty string if unspecified

localize set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.

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.

Examples

pdginputvals(\"file/image\", 0)

Returns all input image file paths. For example: image1.png image2.png \"image with space\".png

Related

pdginput
pdgoutput
", - "pdgoutput": "

pdgoutput

Returns a work item output file for the specified file index and tag

pdgoutput(index, tag, localize)

index the output file index

tag the tag, which can be set to empty string if unspecified

localize set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.

Note

This function is a more generalized version of the @pdg_output attribute.

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.

Examples

pdgoutput(1, \"\", 0)

Returns the second output file from the active work item, equivalent to @pdg_output.1.

Related

pdginput
", - "pdgoutputsize": "

pdgoutputsize

Returns the number of output files on the active PDG work item

pdgoutputsize(tag)

tag the tag, which can be set to empty string if unspecified

This function returns the number of output files from the active work item, with the specified file tag.

Examples

pdgoutputsize(\"file/image\")

Returns the number of output image files.

Related

pdginput
pdginputsize
pdgoutput
", - "pdgoutputvals": "

pdgoutputvals

Returns a space separated string of all work item output files for the specified tag

pdgoutputvals(tag, localize)

tag the tag, which can be set to empty string if unspecified

localize set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.

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.

Examples

pdgoutputvals(\"file/geo\", 0)

Returns all output geometry file paths. For example: ropfetch1.01.bgeo.sc ropfetch2.02.bgeo.sc.

Related

pdginput
pdgoutput
", + "pdgattrib": "18.0

pdgattrib

Returns the value of a PDG work item attrib

pdgattrib(name, index)

name is the name of the attribute

index is the component index of the attribute

Note

This function is equivalent to doing @name.index, but makes it\n easier to programtically select the attribute name or index.

Examples

pdgattrib(\"pdg_frame\", 0)

Returns the frame value of the current work item - equivalent to @pdg_frame

pdgattrib(\"color\", 2)

Returns the second component of the color attribute.

Related

pdgattribs
pdgattribvals
", + "pdgattriblist": "18.0

pdgattriblist

Returns a space-separated list of attribute names on the active PDG work item.

pdgattriblist()

Note

The list of attributes returned by this function is sorted by attribute name in ascending order.

Related

pdgattrib
pdgattribs
pdgattribsize
", + "pdgattribs": "18.0

pdgattribs

Returns the string value of a PDG work item attribute

pdgattribs(name, index)

name is the name of the attribute

index is the component index of the attribute

Note

This function is equivalent to doing @name.index, but makes it\n easier to programtically select the attribute name or index.

Examples

pdgattribs(\"pdg_input\", 0)

Returns the first input file on the active work item. This is equivalent to using\n@pdg_input.

pdgattribs(\"filenames\", 2)

Returns the second component of the filenames attribute.

Related

pdgattrib
pdgattribvals
pdgmappath
", + "pdgattribsize": "18.0

pdgattribsize

Returns the number of components in a PDG work item attribute.

pdgattribsize(attribute)

If there is no active work item or the attribute is not found on the work item, returns 0

Examples

pdgattribsize( \"position\" )

Returns the size of the position attribute on the active work item

Related

pdgattrib
pdgattribtype
", + "pdgattribtype": "18.0

pdgattribtype

Returns the type of a PDG work item attribute.

pdgattribtype(attribute)

If there is no active work item or the attribute does not exist, returns -1.

Types are
-1 - Unknown/Invalid
0 - Integer Array
1 - Float Array
2 - String Array
3 - File Array
4 - Python Object
5 - Geometry Data

Examples

pdgattribtype( \"wedgeindex\" )

Returns 0, which indicates that the attribute is an integer.

Related

pdgattrib
pdgattribsize
", + "pdgattribute": "17.5

pdgattribute

Deprecated: replaced by pdgattrib.

pdgattribute(name, index)

Use pdgattrib instead.

", + "pdgattributes": "17.5

pdgattributes

Deprecated: replaced by pdgattribs.

pdgattributes(name, index)

Use pdgattribs instead.

", + "pdgattribvals": "18.0

pdgattribvals

Returns the space separated list of values for a PDG work item attribute

pdgattribvals(name)

name is the name of the attribute

Note

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.

Examples

pdgattribvals(\"image_files\")

Returns the space separated list of values in the image_files attribute. For example: image1.png image2.png \"image with space.png\".

pdgattribvals(\"wedgevalues\")

Example evaluation: 0.5 10 20.

Related

pdgattrib
pdgattribs
", + "pdginput": "17.5

pdginput

Returns a work item input file for the specified file index and tag

pdginput(index, tag, localize)

index the input file number, from the list of files on the active work item

tag the tag, which can be set to empty string if unspecified

localize set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.

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.

Note

This function is a more generalized version of the @pdg_input attribute.

Examples

pdginput(1, \"file/image\", 0)

Returns the input image file with index 1, from the list of input files on the active work item.

Related

pdgoutput
", + "pdginputsize": "18.0

pdginputsize

Returns the number of input files on the active PDG work item

pdginputsize(tag)

tag the tag, which can be set to empty string if unspecified

This function returns the number of input files to the active work item, with the specified file tag.

Examples

pdginputsize(\"file/geo\")

Returns the number of input geometry files.

Related

pdginput
pdgoutput
pdgoutputsize
", + "pdginputtag": "19.0

pdginputtag

Returns the file tag for the input file at the specified index.

pdginputtag(index)

index the index in the list of input files

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.

Examples

pdginputtag(2)

Returns the file tag on the input file at index=2.

Related

pdginput
pdginputsize
pdgoutputtag
", + "pdginputvals": "18.0

pdginputvals

Returns a space separated string of all work item input files for the specified tag

pdginputvals(tag, localize)

tag the tag, which can be set to empty string if unspecified

localize set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.

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.

Examples

pdginputvals(\"file/image\", 0)

Returns all input image file paths. For example: image1.png image2.png \"image with space\".png

Related

pdginput
pdgoutput
", + "pdgmappath": "18.5

pdgmappath

Maps the given path to the local Zone

pdgmappath(path)

path the path to be mapped.

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.

Tip

PDG file attrib references will automatically be mapped to the local zone when they are evaluated.

Examples

pdgmappath(\"/mnt/hq/myproj/file1.bgeo.sc\")

Returns the local path, for example //winfilehost/hq/myproj/file1.bgeo.sc

Related

pdginput
pdginputsize
pdgoutput
", + "pdgoutput": "17.5

pdgoutput

Returns a work item output file for the specified file index and tag

pdgoutput(index, tag, localize)

index the output file index

tag the tag, which can be set to empty string if unspecified

localize set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.

Note

This function is a more generalized version of the @pdg_output attribute.

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.

Examples

pdgoutput(1, \"\", 0)

Returns the second output file from the active work item, equivalent to @pdg_output.1.

Related

pdginput
", + "pdgoutputsize": "18.0

pdgoutputsize

Returns the number of output files on the active PDG work item

pdgoutputsize(tag)

tag the tag, which can be set to empty string if unspecified

This function returns the number of output files from the active work item, with the specified file tag.

Examples

pdgoutputsize(\"file/image\")

Returns the number of output image files.

Related

pdginput
pdginputsize
pdgoutput
", + "pdgoutputtag": "19.0

pdgoutputtag

Returns the file tag for the output file at the specified index.

pdgoutputtag(index)

index the index in the list of output files

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.

Examples

pdgoutputtag(2)

Returns the file tag on the output file at index=2.

Related

pdginputtag
pdgoutput
pdgoutputsize
", + "pdgoutputvals": "18.0

pdgoutputvals

Returns a space separated string of all work item output files for the specified tag

pdgoutputvals(tag, localize)

tag the tag, which can be set to empty string if unspecified

localize set to 1 to indicate that the input file path should have PDG\n directory tokens resolved.

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.

Examples

pdgoutputvals(\"file/geo\", 0)

Returns all output geometry file paths. For example: ropfetch1.01.bgeo.sc ropfetch2.02.bgeo.sc.

Related

pdginput
pdgoutput
", "pic": "

pic

Returns the color of a pixel in a compositing node.

pic(copname, U, V, color_type)

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.

Examples

pic(\"/img/img1/color1\", .5, .5, D_CLUM)

Related

picni
tex
texni
res
", "picni": "

picni

Returns the non-interpolated color of a pixel in a compositing node.

picni(copname, U, V, color_type)

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.

Examples

picni(\"/img/img1/color1\", .5, .5, D_CLUM)

Related

pic
tex
texni
res
", "pluralize": "

pluralize

Converts an English noun to its plural.

pluralize(s)
", - "point": "

point

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.

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.

Note

This function will interpolate between point values if the point\n number is fractional, such as 3.35.

Examples

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.

Related

pointavg
vertex
", - "pointattriblist": "

pointattriblist

Returns a space-separated list of point attribute names.

pointattriblist(surface_node)

Related

vertexattriblist
primattriblist
detailattriblist
attriblist
", - "pointattribsize": "

pointattribsize

Returns the number of components in a point attribute.

pointattribsize(surface_node, attribute)

If the surface node or attribute is not found, returns 0.

Examples

pointattribsize( \"/obj/model/grid1\", \"P\" )

Returns 3, the number of components in a \"P\"\n (position) attribute (X, Y, and Z).

Related

point
vertexattribsize
primattribsize
detailattribsize
", + "point": "

point

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.

Note

This function will interpolate between point values if the point\n number is fractional, such as 3.35.

Examples

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.

Related

pointavg
vertex
", + "pointattriblist": "18.5

pointattriblist

Returns a space-separated list of point attribute names.

pointattriblist(surface_node)

Related

vertexattriblist
primattriblist
detailattriblist
attriblist
", + "pointattribsize": "

pointattribsize

Returns the number of components in a point attribute.

pointattribsize(surface_node, attribute)

If the surface node or attribute is not found, returns 0.

Examples

pointattribsize( \"/obj/model/grid1\", \"P\" )

Returns 3, the number of components in a P\n (position) attribute (X, Y, and Z).

Related

point
vertexattribsize
primattribsize
detailattribsize
", "pointattribtype": "

pointattribtype

Returns the type of a point attribute.

pointattribtype(surface_node, attribute)

If the surface node or attribute are not found, returns -1.

Types are
-1 - Unknown/Invalid
0 - Integer
1 - Float
2 - String
3 - Array of integers
4 - Array of floats
5 - Array of strings
6 - Dictionary
7 - Array of dictionaries

Examples

pointattribsize( \"/obj/model/box\", \"Cd\" )

Returns 1 to denote a float attribute.

Related

point
primattribtype
vertexattribtype
detailattribtype
", - "pointavg": "

pointavg

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.

", + "pointavg": "

pointavg

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": "

pointdist

Returns the distance between a point and a primitive.

`pointdist(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.

return_type = 0 returns the minimum distance.
return_type = 1 returns the u parametric value at the point of minimum\n distance.
return_type = 2 returns the v parametric value at the point of minimum\n distance.
return_type = 3 returns the primitive number that was closest. Enter\n -1 as the prim_num.

Examples

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.

Related

primdist
xyzdist
nearpoint
", "pointgrouplist": "

pointgrouplist

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.

Related

haspoint
pointlist
hasprim
primlist
primgrouplist
edgegrouplist
vertexgrouplist
pointgroupmask
", - "pointgroupmask": "

pointgroupmask

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.

Examples

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\".

Related

haspoint
pointlist
primgroupmask
edgegroupmask
vertexgroupmask
pointgrouplist
", + "pointgroupmask": "

pointgroupmask

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.

Examples

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.

Related

haspoint
pointlist
primgroupmask
edgegroupmask
vertexgroupmask
pointgrouplist
", "pointlist": "

pointlist

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.

Related

haspoint
pointgrouplist
pointpattern
hasprim
primlist
primgrouplist
", "pointneighbours": "

pointneighbours

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.

Examples

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.

Related

primneighbours
", - "pointpattern": "

pointpattern

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.

Examples

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.

Related

pointlist
", + "pointpattern": "

pointpattern

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.

Examples

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.

Related

pointlist
", "points": "

points

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.

Examples

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.

", "pointsmap": "

pointsmap

Returns a string from a list of strings in a point attribute.

pointsmap(surface_node, attribute, index)

This function will return the indexth 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.

Examples

pointsmap(\"/obj/geo1/attribcreate1\", \"foo\", 0)

Returns the first unique string on the given surface node.

", "pointsnummap": "

pointsnummap

Returns the number of unique strings bound to a point attribute.

pointsnummap(surface_node, attribute)

Examples

pointsnummap(\"/obj/geo1/attribcreate1\", \"foo\")

Returns number of unique strings in the foo attribute.

", "pow": "

pow

Raises a number to an exponent.

pow(base, exponent)

Examples

pow(2, 3) = 8
", "prim": "

prim

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.

Examples

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.

Related

primuv
point
", - "primattriblist": "

primattriblist

Returns a space-separated list of primitive attribute names.

primattriblist(surface_node)

Related

pointattriblist
vertexattriblist
detailattriblist
attriblist
", + "primattriblist": "18.5

primattriblist

Returns a space-separated list of primitive attribute names.

primattriblist(surface_node)

Related

pointattriblist
vertexattriblist
detailattriblist
attriblist
", "primattribsize": "

primattribsize

Returns the number of components in a primitive attribute.

primattribsize(surface_node, attribute)

If the surface node or attribute are not found, returns 0.

Examples

primattribsize( \"/obj/model/box\", \"Cd\" )

Returns the number of elements of a diffuse color attribute.

Related

prim
pointattribsize
vertexattribsize
detailattribsize
", "primattribtype": "

primattribtype

Returns the type of a primitive attribute.

primattribtype(surface_node, attribute)

If the surface node or attribute are not found, returns -1.

Types are
-1 - Unknown/Invalid
0 - Integer
1 - Float
2 - String
3 - Array of integers
4 - Array of floats
5 - Array of strings
6 - Dictionary
7 - Array of dictionaries

Examples

primattribsize( \"/obj/model/box\", \"Cd\" )

Returns 1 to denote a float attribute.

Related

prim
pointattribtype
vertexattribtype
detailattribtype
", "primdist": "

primdist

Returns the minimum distance and closest points between two primitives.

`primdist(surface_node, prim1_num, surface_node, prim2_num,

return_type)`

return_type = 0: minimum distance
return_type = 1: U value of closest point on primitive 1
return_type = 2: V value of closest point on primitive 1
return_type = 3: U value of closest point on primitive 2
return_type = 4: V value of closest point on primitive 2

Only works for faces, curves, and spline surfaces. Other types of\nprimitives will always return 0.

Note

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.

Examples

primdist(\"/obj/geo1/sphere1\", 0, \"/obj/geo1/grid1\", 0, 0)

Returns the distance between the first primitives in both sphere1\n and grid1.

Related

pointdist
xyzdist
nearpoint
", - "primduv": "

primduv

Returns the partial derivatives of a primitive attribute.

`primduv(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.

Note

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.

Examples

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).

Related

primuv
normal
curvature
unituv
", + "primduv": "

primduv

Returns the partial derivatives of a primitive attribute.

`primduv(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.

Note

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.

Examples

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).

Related

primuv
normal
curvature
unituv
", "primgrouplist": "

primgrouplist

Returns the list of primitive groups in a surface node.

primgrouplist(surface_node)

The returned string is a space separated list of group names.

Related

haspoint
pointlist
pointgrouplist
edgegrouplist
vertexgrouplist
hasprim
primlist
primgroupmask
", - "primgroupmask": "

primgroupmask

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.

Examples

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\".

Related

hasprim
primlist
pointgroupmask
edgegroupmask
vertexgroupmask
primgrouplist
", + "primgroupmask": "

primgroupmask

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.

Examples

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.

Related

hasprim
primlist
pointgroupmask
edgegroupmask
vertexgroupmask
primgrouplist
", "primlist": "

primlist

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.

Related

haspoint
pointlist
pointgrouplist
hasprim
primgrouplist
", "primneighbours": "

primneighbours

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.

Examples

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.

Related

pointneighbours
", "prims": "

prims

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.

Examples

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.

", "primsmap": "

primsmap

Returns a string from a list of strings in a primitive attribute.

primsmap(surface_node, attribute, index)

This function will return the indexth 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.

Examples

primsmap(\"/obj/geo1/attribcreate1\", \"foo\", 0)

Returns the first unique string in the foo attribute.

", "primsnummap": "

primsnummap

Returns the number of unique strings bound to a primitive attribute.

primsnummap(surface_node, attribute)

Examples

primsnummap(\"/obj/geo1/attribcreate1\", \"foo\")

Returns number of unique strings tied to the foo attribute.

", - "primuv": "

primuv

Returns the value of a primitive attribute at a certain UV location.

`primuv(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.

Note

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.

Examples

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).

Related

primduv
normal
curvature
unituv
", + "primuv": "

primuv

Returns the value of a primitive attribute at a certain UV location.

`primuv(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.

Note

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.

Examples

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).

Related

primduv
normal
curvature
unituv
", "print": "

print

Prints a message to the console.

print(label, expression)

This is useful diagnose parameters in nodes or channels.

Returns the value of expression.

Examples

print(\"wheel:\", sin($T))
", "property": "

property

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) == 1property(\"/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\") == 1ch(\"/obj/geo1/vm_samplecovingexpansion,\") == 0

See the equivalent ch function for more information on each variant.

Related

ch
chf
cht
chs
chsop
chsraw
", "propertyf": "

propertyf

Evaluates a render property at a given frame.

See property.

", @@ -348,7 +355,7 @@ "rand": "

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)

Note

It is a good idea to use non-integer values as the argument to\n rand().

", "raw": "

raw

Channel segment function.

raw()
", "realuv": "

realuv

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.

Note

the result is undefined if the primitive is neither a face nor a\n hull.

Related

unituv
", - "relpath": "

relpath

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)

Related

abspath
", + "relpath": "18.0

relpath

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)

Related

abspath
", "repeat": "

repeat

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.

Related

repeatt
cycle
cyclet
", "repeatt": "

repeatt

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.

Related

repeat
cycle
cyclet
", "res": "

res

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.

Examples

res(\"/img/img1/color1\", D_XRES)
", @@ -362,14 +369,14 @@ "runb": "

runb

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.

Related

executeb
run
rune
", "rune": "

rune

Runs a string as an HScript command and returns any error output.

rune(command)

This is a short form for the executee function.

Related

executee
run
runb
", "scale": "

scale

Takes three scaling values and returns a scale matrix.

scale(sx, sy, sz)

Related

rotate
rotaxis
translate
", - "scalefrommks": "

scalefrommks

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)

Examples

scalefrommks (\"m2\")
", - "scaletomks": "

scaletomks

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)

Examples

scaletomks (\"m2\")
", + "scalefrommks": "18.0

scalefrommks

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)

Examples

scalefrommks (\"m2\")
", + "scaletomks": "18.0

scaletomks

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)

Examples

scaletomks (\"m2\")
", "seampoints": "

seampoints

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.

Related

pointlist
pointpattern
", "seqanim": "

seqanim

Returns 1 if a specified compositing node has an animated sequence.

seqanim(compositing_node)

Returns 0 if compositing_node has a single image.

Related

seqstart
seqend
seqlength
", "seqend": "

seqend

Returns the end frame of a compositing node\u2019s image sequence.

seqend(compositing_node)

Related

seqanim
seqstart
seqlength
", "seqlength": "

seqlength

Returns the number of frames in a compositing node\u2019s image sequence.

seqlength(compositing_node)

Related

seqanim
seqstart
seqend
", "seqstart": "

seqstart

Returns the start frame of a compositing node\u2019s image sequence.

seqstart(compositing_node)

Related

seqanim
seqend
seqlength
", - "shopstring": "

shopstring

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.

", + "shopstring": "

shopstring

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.

", "sign": "

sign

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.

", "sin": "

sin

Returns the sine of the argument.

sin(degrees)

Examples

sin (60)=0.866025
", "sinh": "

sinh

Returns the hyperbolic sine of the argument.

sinh(number)
", @@ -381,8 +388,8 @@ "stamp": "

stamp

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.

scope: the path of the node to get the value from.
token: the name of the variable to retrieve.
value: the default value to use if token does not exist.

Examples of stamping operators\ninclude: Cache, Copy, and LSystem surface nodes, and the\nCopy channel node.

Examples

stamp(\"../copy1\", \"sides\", 5)
stamp(\"..\", \"fuzzy\", 0.5)
", "stamps": "

stamps

Returns a copy stamping string value.

stamps(stamp_op_path, token, value)

Retrieves a stamping variable. See copy stamping.

Note

This expression does not work with the Copy SOP.

This function retrieves string values. For floating-point number\nvalues, use stamp.

scope: the path of the node to get the value from.
token: the name of the variable to retrieve.
value: the default string to use if token does not exist.

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.

Examples

stamps(\"../copydata1\", \"name\", \"defaultname\")
", "strcasecmp": "

strcasecmp

Compares two strings, ignoring case.

strcasecmp(s1, s2)
Returns -1 if s1 comes before s2 according to ASCII.
Returns 1 if s1 comes after s2 according to ASCII.
Returns 0 if s1 is equal to s2.

This function is case-insensitive. For case-sensitive comparison,\nuse strcmp.

Related

strcmp
strmatch
strcasematch
", - "strcasematch": "

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.

Examples

strmatch(\"FOO*\", \"foobar\")

Returns 1.

strmatch(\"?baR\", \"fred\")

Returns 0.

strmatch(\"FoO*,bAr*, \"bar\")

Returns 1.

Related

strcmp
strcasecmp
strcasematch
", - "strcat": "

strcat

Returns the concatenation of two strings.

strcat(s1, s2)

Examples

strcat(\"Current motion file is \", $MOTNAME)

Returns \"Current motion file is job1.bmot\"

", + "strcasematch": "

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.

Examples

strmatch(\"FOO*\", \"foobar\")

Returns 1.

strmatch(\"?baR\", \"fred\")

Returns 0.

strmatch(\"FoO*,bAr*, \"bar\")

Returns 1.

Related

strcmp
strcasecmp
strcasematch
", + "strcat": "

strcat

Returns the concatenation of two strings.

strcat(s1, s2)

Examples

strcat(\"Current motion file is \", $MOTNAME)

Returns Current motion file is job1.bmot

", "strcmp": "

strcmp

Compares two strings.

strcmp(s1, s2)
Returns -1 if s1 comes before s2 according to ASCII.
Returns 1 if s1 comes after s2 according to ASCII.
Returns 0 if s1 is equal to s2.

This function is case-sensitive. For case-insensitive comparison,\nuse strcasecmp.

Examples

strcmp(\"abc\", \"xyz\") = -1
strcmp(\"A\", \"a\") = -1
strcmp(\"xyz, \"abc\") = 1
strcmp(\"abc\", \"abc\") = 0
", "strdup": "

strdup

Duplicates a string.

strdup(count, s2)

Returns s2 repeated count times.

Examples

strdup(3, \"abc\") = \"abcabcabc\"
strdup(0, \"Foobar\") = \"\"
strdup(3, \"/(120)[B]\") = \"/(120)[B]/(120)[B]/(120)[B]\"
", "stripmatrix": "

stripmatrix

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.

Examples

stripmatrix(identity(3)) = \"1 0 0 0 1 0 0 0 1\"
stripmatrix(vector3(1,2,3)) = \"1 2 3\"
", @@ -406,19 +413,19 @@ "trunc": "

trunc

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.

Examples

trunc(2.6)=2
trunc(-2.6)=-2

Related

int
floor
ceil
round
frac
", "turb": "

turb

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.

Related

sturb
noise
snoise
", "uniqueval": "

uniqueval

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.

Examples

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.

", - "uniquevals": "

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.

Examples

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": "

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.

Examples

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": "

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.

Note

the result is undefined if the primitive is neither a face nor a\n hull.

Related

realuv
", "uvdist": "

uvdist

Returns the distance between parameteric locations on two primitives.

`uvdist(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.

Examples

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.

Related

distance
primdist
pointdist
unituv
", "vangle": "

vangle

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.

Tip

Try the following expression to get a signed result: sign(dot(cross(cross(a,b),b),a)) * vangle(a,b)

", "vector": "

vector

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.

Examples

vector v = vector(\"[1,2,3,4,5]\"); float f = v[0]; # f is 1
", "vector3": "

vector3

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.

Examples

vector v = vector3(3,2,1); float f = v[0]; # f is 3
", "vector4": "

vector4

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.

Examples

vector v = vector4(3,2,1,0); float f = v[0]; # f is 3
", - "vertex": "

vertex

Returns the value of a vertex attribute.

`vertex(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.

Note

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.

Examples

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.

Related

point
pointavg
", - "vertexattriblist": "

vertexattriblist

Returns a space-separated list of vertex attribute names.

vertexattriblist(surface_node)

Related

pointattriblist
primattriblist
detailattriblist
attriblist
", + "vertex": "

vertex

Returns the value of a vertex attribute.

`vertex(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.

Note

This function will interpolate between point values if the vertex\n number is fractional, such as 3.35.

Examples

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.

Related

point
pointavg
", + "vertexattriblist": "18.5

vertexattriblist

Returns a space-separated list of vertex attribute names.

vertexattriblist(surface_node)

Related

pointattriblist
primattriblist
detailattriblist
attriblist
", "vertexattribsize": "

vertexattribsize

Returns the number of components in a vertex attribute.

vertexattribsize(surface_node, attribute)

If the surface node or attribute are not found, returns 0.

Examples

vertexattribsize( \"/obj/model/sphere\", \"uv\" )

Returns the number of elements of a texture attribute.

Related

vertex
pointattribsize
primattribsize
detailattribsize
", "vertexattribtype": "

vertexattribtype

Returns the type of a vertex attribute.

vertexattribtype(surface_node, attribute)

If the surface node or attribute are not found, returns -1.

Types are
-1 - Unknown/Invalid
0 - Integer
1 - Float
2 - String
3 - Array of integers
4 - Array of floats
5 - Array of strings
6 - Dictionary
7 - Array of dictionaries

Examples

vertexattribsize( \"/obj/model/box\", \"Cd\" )

Returns 1 to denote a float attribute.

Related

vertex
pointattribtype
primattribtype
detailattribtype
", - "vertexgrouplist": "

vertexgrouplist

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.

Related

primgrouplist
pointgrouplist
edgegrouplist
vertexgroupmask
", - "vertexgroupmask": "

vertexgroupmask

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.

Examples

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\".

Related

primgroupmask
pointgroupmask
edgegroupmask
vertexgrouplist
", + "vertexgrouplist": "18.5

vertexgrouplist

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.

Related

primgrouplist
pointgrouplist
edgegrouplist
vertexgroupmask
", + "vertexgroupmask": "18.5

vertexgroupmask

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.

Examples

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.

Related

primgroupmask
pointgroupmask
edgegroupmask
vertexgrouplist
", "vertexs": "

vertexs

Returns the string value of a vertex attribute.

`vertexs(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.

Examples

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.

", "vertexsmap": "

vertexsmap

Returns a string from a list of strings in a vertex attribute.

vertexsmap(surface_node, attribute, index)

This function will return the indexth 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.

Examples

vertexsmap(\"/obj/geo1/attribcreate1\", \"foo\", 0)

Returns the first unique string in the foo attribute.

", "vertexsnummap": "

vertexsnummap

Returns the number of unique strings bound to a point attribute.

vertexsnummap(surface_node, attribute)

Examples

vertexsnummap(\"/obj/geo1/attribcreate1\", \"foo\")

Returns number of unique strings for the foo attribute.

", @@ -437,13 +444,13 @@ "volumeres": "

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:

axis = 0: X-axis
axis = 1: Y-axis
axis = 2: Z-axis

Returns 0 if out of bound values are specified, or the given primitive\nis not a volume.

Examples

volumeres(\"/obj/geo1/isooffset1\", 0, 1)

Related

volumesample
", "volumesample": "

volumesample

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.

Examples

volumesample(\"/obj/geo1/isooffset1\", 0, $TX, $TX, $TZ)

Related

volumeindex
volumegradient
", "volumevoxeldiameter": "

volumevoxeldiameter

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.

Examples

volumevoxeldiameter(\"/obj/geo1/isooffset1\", 0)

Related

volumeindex
volumesample
", - "vorigin": "

vorigin

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.

Related

origin
vtorigin
vrorigin
originoffset
", + "vorigin": "

vorigin

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.

Related

origin
vtorigin
vrorigin
originoffset
", "vpname": "

vpname

Takes a viewer name and a viewport number\nand returns the viewport\u2019s name.

vpname(viewer, viewport_quadrant_number)
", - "vrorigin": "

vrorigin

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.

Related

origin
vorigin
vtorigin
originoffset
", + "vrorigin": "

vrorigin

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.

Related

origin
vorigin
vtorigin
originoffset
", "vscale": "

vscale

Multiplies a vector by a scaling factor.

vscale(vec, scale)

A.K.A vex * scale.

", "vset": "

vset

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.

", "vsize": "

vsize

Returns the number of elements in a vector.

vsize(vec)
", - "vtorigin": "

vtorigin

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.

Related

origin
vorigin
vrorigin
originoffset
", + "vtorigin": "

vtorigin

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.

Related

origin
vorigin
vrorigin
originoffset
", "wrap": "

wrap

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.

Examples

wrap ($F, 5, 10)

Creates a sawtooth function between 5 and 10.

", "xyzdist": "

xyzdist

Returns the distance between a 3D coordinate and a primitive.

`xyzdist(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.

return_type = 0 returns the minimum distance.
return_type = 1 returns the u parametric value at the point of minimum\n distance.
return_type = 2 returns the v parametric value at the point of minimum\n distance.
return_type = 3 returns the primitive number that was closest.

Examples

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.

Related

primdist
nearpoint
pointdist
" } \ No newline at end of file diff --git a/messages.json b/messages.json index 0551616..da7b50e 100644 --- a/messages.json +++ b/messages.json @@ -4,5 +4,6 @@ "7.1.1": "messages/7.1.1.txt", "7.1.2": "messages/7.1.2.txt", "7.1.3": "messages/7.1.3.txt", - "7.1.4": "messages/7.1.4.txt" + "7.1.4": "messages/7.1.4.txt", + "7.1.5": "messages/7.1.5.txt" } diff --git a/messages/7.1.5.txt b/messages/7.1.5.txt new file mode 100644 index 0000000..0233b1c --- /dev/null +++ b/messages/7.1.5.txt @@ -0,0 +1,35 @@ +Houdini add-on for Sublime Text: + https://github.com/teared/HScript + + +Release 7.1.5 + + +1. Updated for Houdini 19.0. + +2. Documentation popups changes: + + Display version tag for the expressions added in the last few versions of Houdini. + Provided by the documentation, so it is not always present. + +3. New expression functions added: + + cophasplane + fpadzero + nvertices + nverticesgroup + pdginputtag + pdgmappath + pdgoutputtag + + Tip: to read about new functions quickly, copy the list in empty + Sublime Text document, set HScript syntax and check documentation helpcards. + +4. New commands added: + + sceneviewconfig + viewforeground + + +Open issues for bug reports, requests, suggestions, etc: + https://github.com/teared/HScript/issues \ No newline at end of file diff --git a/snippets/expressions.sublime-completions b/snippets/expressions.sublime-completions index 749215d..94b4444 100644 --- a/snippets/expressions.sublime-completions +++ b/snippets/expressions.sublime-completions @@ -194,12 +194,12 @@ "contents": "chs(${1:channel})" }, { - "trigger": "chsop(path)", - "contents": "chsop(${1:path})" + "trigger": "chsop(parameter_path)", + "contents": "chsop(${1:parameter_path})" }, { - "trigger": "chsoplist(path)", - "contents": "chsoplist(${1:path})" + "trigger": "chsoplist(parameter_path)", + "contents": "chsoplist(${1:parameter_path})" }, { "trigger": "chsraw(channel)", @@ -233,6 +233,10 @@ "trigger": "cophasmeta(compositing_node, metadata_name)", "contents": "cophasmeta(${1:compositing_node}, ${2:metadata_name})" }, + { + "trigger": "cophasplane(compositing_node, plane_name)", + "contents": "cophasplane(${1:compositing_node}, ${2:plane_name})" + }, { "trigger": "copmeta(compositing_node, metadata_name, index)", "contents": "copmeta(${1:compositing_node}, ${2:metadata_name}, ${3:index})" @@ -601,6 +605,10 @@ "trigger": "floor(number)", "contents": "floor(${1:number})" }, + { + "trigger": "fpadzero(integerpad, fracpad, value)", + "contents": "fpadzero(${1:integerpad}, ${2:fracpad}, ${3:value})" + }, { "trigger": "frac(number)", "contents": "frac(${1:number})" @@ -933,6 +941,14 @@ "trigger": "nuniquevals(surface_node, class, attribute)", "contents": "nuniquevals(${1:surface_node}, ${2:class}, ${3:attribute})" }, + { + "trigger": "nvertices(surface_node)", + "contents": "nvertices(${1:surface_node})" + }, + { + "trigger": "nverticesgroup(surface_node, group_name)", + "contents": "nverticesgroup(${1:surface_node}, ${2:group_name})" + }, { "trigger": "objkinoverride()", "contents": "objkinoverride()" @@ -1161,10 +1177,18 @@ "trigger": "pdginputsize(tag)", "contents": "pdginputsize(${1:tag})" }, + { + "trigger": "pdginputtag(index)", + "contents": "pdginputtag(${1:index})" + }, { "trigger": "pdginputvals(tag, localize)", "contents": "pdginputvals(${1:tag}, ${2:localize})" }, + { + "trigger": "pdgmappath(path)", + "contents": "pdgmappath(${1:path})" + }, { "trigger": "pdgoutput(index, tag, localize)", "contents": "pdgoutput(${1:index}, ${2:tag}, ${3:localize})" @@ -1173,6 +1197,10 @@ "trigger": "pdgoutputsize(tag)", "contents": "pdgoutputsize(${1:tag})" }, + { + "trigger": "pdgoutputtag(index)", + "contents": "pdgoutputtag(${1:index})" + }, { "trigger": "pdgoutputvals(tag, localize)", "contents": "pdgoutputvals(${1:tag}, ${2:localize})" diff --git a/syntax/HScript.sublime-syntax b/syntax/HScript.sublime-syntax index b7033ff..dfa2407 100644 --- a/syntax/HScript.sublime-syntax +++ b/syntax/HScript.sublime-syntax @@ -6,8 +6,8 @@ file_extensions: scope: source.hscript variables: - expression: 'abs|abspath|acos|angvel|arclen|arclenD|arg|argc|asin|atan|atan2|atof|attriblist|bbox|bezier|bitand|bitor|bitset|bittest|bitxor|boneangle|ceil|centroid|ch|chexist|chexpr|chexprf|chexprt|chf|chgroup|chop|chopcf|chopci|chopct|chope|chopf|chopi|chopl|chopn|chopnames|chopr|chops|chopstr|chopt|chramp|chrampf|chrampt|chs|chsop|chsoplist|chsraw|cht|clamp|clamptosphere|constant|contextoption|contextoptions|cophasmeta|copmeta|copmetas|cos|cosh|cross|cubic|curvature|cycle|cycleoffset|cycleoffsett|cyclet|decode|decodeattrib|decodeparm|deg|degree|detail|detailattriblist|detailattribsize|detailattribtype|details|detailsmap|detailsnummap|determinant|dihedral|distance|dopallfields|dopcontextgeo|dopcountslices|dopfield|dopfieldname|dopfields|dopfieldtype|dopframe|dopframetost|dopgrouphasobject|dopgrouplist|dophasfield|dophassubdata|dopnodeobjs|dopnumfields|dopnumobjects|dopnumrecords|dopnumrecordtypes|dopnumsubdata|dopobjectlist|dopobjectsareaffectors|dopobjscreatedby|dopoption|dopoptions|doprecordtypename|dopsolvedopnet|dopsolvenewobject|dopsolvenumnewobjects|dopsolvenumobjects|dopsolveobject|dopsolvetimestep|dopsttoframe|dopsttot|dopsubdataname|doptime|doptransform|dopttost|dopvelatpos|dot|ease|easein|easeinp|easeout|easeoutp|easep|edgegrouplist|edgegroupmask|encode|encodeattrib|encodeparm|eval|evals|execute|executeb|executee|exp|explodematrix|explodematrixp|explodematrixpr|findfile|findfiles|fit|fit01|fit10|fit11|floor|frac|ftoa|ftrim|groupbyval|groupbyvals|hascontextoption|hasdetailattrib|haspdgattrib|haspoint|haspointattrib|hasprim|hasprimattrib|hasvertexattrib|hextoint|hsv|ic|ice|icl|icmax|icmin|icn|icr|ics|identity|if|ifs|imgbounds|index|instancepoint|int|inttohex|invert|iprquery|iprquerys|isclosed|iscollided|ishvariable|isspline|isstuck|isvariable|iswrapu|iswrapv|length|linear|listbyval|listbyvals|lock|log|log10|lopinputprim|lopinputprims|loplastmodifiedprim|loplastmodifiedprims|lopparentprims|loprelativeprims|match|matchin|matchout|matrix|matrixtoquat|max|mcols|metaweight|min|mindist|mlookat|mlookatup|mobjlookat|modblend|morient|mousepane|mousepath|mrows|mzero|nearpoint|noise|normal|normalize|npoints|npointsgroup|nprims|nprimsgroup|nuniquevals|objkinoverride|objlightmask|objlookat|objpretransform|oc|ocldeviceinfo|oldrand|opblist|opcreator|opdigits|opexist|opflag|opfullpath|opfullpathfrom|opid|opinput|opinputpath|opinputstring|opisloading|opisquitting|oplightmask|oplistsort|opname|opnchildren|opninputs|opnodigits|opnoutputs|opoutput|opoutputpath|oppinput|oppwd|oppwf|oprelativepath|opselect|opselectpath|opselectrecurse|opselectrecursepath|opstreamname|opsubpath|optransform|optype|optypeinfo|origin|originoffset|padzero|param|parmisstring|pdgattrib|pdgattriblist|pdgattribs|pdgattribsize|pdgattribtype|pdgattribute|pdgattributes|pdgattribvals|pdginput|pdginputsize|pdginputvals|pdgoutput|pdgoutputsize|pdgoutputvals|pic|picni|pluralize|point|pointattriblist|pointattribsize|pointattribtype|pointavg|pointdist|pointgrouplist|pointgroupmask|pointlist|pointneighbours|pointpattern|points|pointsmap|pointsnummap|pow|prim|primattriblist|primattribsize|primattribtype|primdist|primduv|primgrouplist|primgroupmask|primlist|primneighbours|prims|primsmap|primsnummap|primuv|print|property|propertyf|propertys|propertysop|propertysraw|propertyt|pulse|pythonexprf|pythonexprs|qlinear|quattomatrix|quintic|rad|rand|realuv|relpath|repeat|repeatt|res|rgb|rindex|rint|rotate|rotaxis|round|run|runb|rune|scale|scalefrommks|scaletomks|seqanim|seqend|seqlength|seqstart|shopstring|sign|sin|sinh|smooth|snoise|spknot|spline|sqrt|stamp|stamps|strcasecmp|strcasematch|strcat|strcmp|strdup|stripmatrix|strlen|strmatch|strreplace|sturb|substr|surflen|system|systemES|systemRAW|tan|tanh|tex|texni|tolower|toupper|translate|transpose|trunc|turb|uniqueval|uniquevals|unituv|uvdist|vangle|vector|vector3|vector4|vertex|vertexattriblist|vertexattribsize|vertexattribtype|vertexgrouplist|vertexgroupmask|vertexs|vertexsmap|vertexsnummap|vlength|vlength2|vmatch|vmatchin|vmatchout|volumeaverage|volumegradient|volumeindex|volumeindextopos|volumemax|volumemin|volumepostoindex|volumeres|volumesample|volumevoxeldiameter|vorigin|vpname|vrorigin|vscale|vset|vsize|vtorigin|wrap|xyzdist' - command: 'alias|animeditor|appendseq|atjob|audiopanel|autosave|bonealigncapture|boneconvert|bonefixchops|bonemoveend|bookmark|bundlelist|chadd|chalias|chaneditor|chanlist|chautoscope|chautoselect|chblockbegin|chblockend|chcommit|chcp|chgadd|chgglobal|chgls|chgop|chgpopulate|chgrm|chhold|chkey|chkeyget|chkeyls|chkeymv|chkeyrm|chlock|chls|chopexportmap|chopls|chopscope|chopview|chread|chrefit|chrename|chreverse|chrm|chround|chscope|chstretch|chwrite|clear|closeport|cmdread|colladaimport|colorsettings|commandecho|compfree|compopts|compproject|cplane|datatree|desk|dopdatahint|dopdatatypealias|dopdatatypes|dopsave|dopsavedata|dopsolveadddata|dopsolvecopydata|dopsolveremovedata|dopsolvesetoption|dsedit|dsoinfo|dsreload|echo|excat|exedit|exhelp|exit|exls|exread|exrm|fbximport|fbximportanim|fcur|fdependadd|fdependhide|fdependls|fdependrm|filechooser|fplayback|fps|frange|fset|ftimecode|geocache|glcache|help|helpbrowser|helpsearch|history|hotkey|imgdispopt|imgsave|imgview|imgview2d|imgviewhist|imgviewls|imgviewtime|imgviewtool|iprview|java|job|kinconvert|linker|listchooser|loadaudio|loadseq|matrman|matupdateref|memory|menurefresh|message|mnew|mplayfit|mplayhome|mplayprofile|mread|mwrite|nbadd|nbcolor|nbcp|nbget|nbglob|nblocate|nbls|nblsop|nbname|nbop|nbrm|nbset|nbsize|netcolumns|neteditor|netviewdep|networkeditor|nextkey|nodegraph|objcache|objcleantransform|objextractpretransform|objkinoverride|objlightlink|objmaterial|objparent|objpretransform|objresetpretransform|ociocolorspace|ociodisplay|ombind|ombindinfo|omls|omparm|omsbind|omsbindinfo|omsls|omsunbind|omswhere|omunbind|omwhere|omwrite|opadd|opalias|opautoplace|opbadd|opbfilters|opbls|opbname|opbop|opbrm|opcf|opchange|opchangetype|opchmod|opcollapse|opcolor|opcomment|opcook|opcopy|opcp|opdefaultcolor|opdefaultshape|opdelscript|opdepend|opdeprecate|openport|opeventscriptcache|opexclude|opexprlanguage|opextern|opextract|opfind|opfirstname|opgadd|opget|opgetinput|opglob|opgls|opgop|opgrm|ophelp|ophide|opinfo|opinputstring|oplayout|oplegacyinputs|oplocate|opls|opmenu|opmultiparm|opname|oporder|oppane|opparm|oppaste|oppresetload|oppresetloadfile|oppresetls|oppresetrm|oppresetsave|oppresetsavefile|opproperty|oppwf|opramp|opread|oprename|oprm|oprmtype|opsave|opscale|opscript|opset|opspare|opspareds|opstat|optype|optypeinstall|optyperead|optypeuninstall|opunhide|opunload|opunwire|opupdate|opuserdata|opwire|opwrite|otcollapse|otcomment|otconfig|otcontentadd|otcontentdelete|otcontentls|otcontentsave|otcopy|otcplayout|otcreatecompiledtypefrom|otcreatetypefrom|otdelete|otedit|otexpand|otgetotl|otglob|otinuse|otload|otls|otmerge|otprefer|otrefresh|otrenamesource|otsync|ottouch|otunload|otunsync|otversion|otwrite|pane|panepath|parmeditor|parmlist|parmsheet|pathmap|perfmon|performance|pilist|play|pomadd|pomattach|pomclear|pomdetach|pomls|pomparm|pomremove|pomrename|pomscript|pomset|preference|prependseq|prompt|propertyedit|python|pythonpanel|quit|radial|read|render|rexport|rkill|ropview|rps|scenegraphtree|sceneviewopts|sceneviewpurpose|sceneviewrenderopts|seqls|set|setcomp|setenv|setplane|shelfdock|shift|shopconvert|shoppromote|shopthumb|shopvisible|sopcache|sopcreateedit|source|stampdirty|system|takeadd|takeautomode|takeinclude|takelist|takeload|takels|takemerge|takemove|takename|takerm|takesave|takescript|takeset|tcur|test_access|texcache|time|timeslice|tmgadd|tmgls|tmgname|tmgop|tmgrm|tmgshift|toolbar|topcancel|topcook|topdirty|treechooser|treecontrol|tset|ucd|uls|umkdir|undoctrl|unitlength|unitmass|unix|updateui|upwd|urm|varchange|version|vexinfo|vexprofile|viewagentopts|viewbackground|viewcamera|viewcolor|viewcopy|viewdisplay|viewdispopts|viewdispset|vieweffect|viewergrouplist|viewerinspect|vieweroption|viewerstow|viewhome|viewinfotext|viewlayout|viewlight|viewls|viewmaskoverlay|viewname|viewonionskin|viewoptadd|viewoptenable|viewoptls|viewoptname|viewoptrm|viewoptset|vieworthogrid|viewposteffects|viewprojection|viewrefplane|viewroto|viewsnapshot|viewsnapshotoption|viewtool|viewtransform|viewtype|viewupdate|viewuvgrid|viewwrite|visualizeradd|visualizerset|vopforcecompile|vopwritevfl' + expression: 'abs|abspath|acos|angvel|arclen|arclenD|arg|argc|asin|atan|atan2|atof|attriblist|bbox|bezier|bitand|bitor|bitset|bittest|bitxor|boneangle|ceil|centroid|ch|chexist|chexpr|chexprf|chexprt|chf|chgroup|chop|chopcf|chopci|chopct|chope|chopf|chopi|chopl|chopn|chopnames|chopr|chops|chopstr|chopt|chramp|chrampf|chrampt|chs|chsop|chsoplist|chsraw|cht|clamp|clamptosphere|constant|contextoption|contextoptions|cophasmeta|cophasplane|copmeta|copmetas|cos|cosh|cross|cubic|curvature|cycle|cycleoffset|cycleoffsett|cyclet|decode|decodeattrib|decodeparm|deg|degree|detail|detailattriblist|detailattribsize|detailattribtype|details|detailsmap|detailsnummap|determinant|dihedral|distance|dopallfields|dopcontextgeo|dopcountslices|dopfield|dopfieldname|dopfields|dopfieldtype|dopframe|dopframetost|dopgrouphasobject|dopgrouplist|dophasfield|dophassubdata|dopnodeobjs|dopnumfields|dopnumobjects|dopnumrecords|dopnumrecordtypes|dopnumsubdata|dopobjectlist|dopobjectsareaffectors|dopobjscreatedby|dopoption|dopoptions|doprecordtypename|dopsolvedopnet|dopsolvenewobject|dopsolvenumnewobjects|dopsolvenumobjects|dopsolveobject|dopsolvetimestep|dopsttoframe|dopsttot|dopsubdataname|doptime|doptransform|dopttost|dopvelatpos|dot|ease|easein|easeinp|easeout|easeoutp|easep|edgegrouplist|edgegroupmask|encode|encodeattrib|encodeparm|eval|evals|execute|executeb|executee|exp|explodematrix|explodematrixp|explodematrixpr|findfile|findfiles|fit|fit01|fit10|fit11|floor|fpadzero|frac|ftoa|ftrim|groupbyval|groupbyvals|hascontextoption|hasdetailattrib|haspdgattrib|haspoint|haspointattrib|hasprim|hasprimattrib|hasvertexattrib|hextoint|hsv|ic|ice|icl|icmax|icmin|icn|icr|ics|identity|if|ifs|imgbounds|index|instancepoint|int|inttohex|invert|iprquery|iprquerys|isclosed|iscollided|ishvariable|isspline|isstuck|isvariable|iswrapu|iswrapv|length|linear|listbyval|listbyvals|lock|log|log10|lopinputprim|lopinputprims|loplastmodifiedprim|loplastmodifiedprims|lopparentprims|loprelativeprims|match|matchin|matchout|matrix|matrixtoquat|max|mcols|metaweight|min|mindist|mlookat|mlookatup|mobjlookat|modblend|morient|mousepane|mousepath|mrows|mzero|nearpoint|noise|normal|normalize|npoints|npointsgroup|nprims|nprimsgroup|nuniquevals|nvertices|nverticesgroup|objkinoverride|objlightmask|objlookat|objpretransform|oc|ocldeviceinfo|oldrand|opblist|opcreator|opdigits|opexist|opflag|opfullpath|opfullpathfrom|opid|opinput|opinputpath|opinputstring|opisloading|opisquitting|oplightmask|oplistsort|opname|opnchildren|opninputs|opnodigits|opnoutputs|opoutput|opoutputpath|oppinput|oppwd|oppwf|oprelativepath|opselect|opselectpath|opselectrecurse|opselectrecursepath|opstreamname|opsubpath|optransform|optype|optypeinfo|origin|originoffset|padzero|param|parmisstring|pdgattrib|pdgattriblist|pdgattribs|pdgattribsize|pdgattribtype|pdgattribute|pdgattributes|pdgattribvals|pdginput|pdginputsize|pdginputtag|pdginputvals|pdgmappath|pdgoutput|pdgoutputsize|pdgoutputtag|pdgoutputvals|pic|picni|pluralize|point|pointattriblist|pointattribsize|pointattribtype|pointavg|pointdist|pointgrouplist|pointgroupmask|pointlist|pointneighbours|pointpattern|points|pointsmap|pointsnummap|pow|prim|primattriblist|primattribsize|primattribtype|primdist|primduv|primgrouplist|primgroupmask|primlist|primneighbours|prims|primsmap|primsnummap|primuv|print|property|propertyf|propertys|propertysop|propertysraw|propertyt|pulse|pythonexprf|pythonexprs|qlinear|quattomatrix|quintic|rad|rand|realuv|relpath|repeat|repeatt|res|rgb|rindex|rint|rotate|rotaxis|round|run|runb|rune|scale|scalefrommks|scaletomks|seqanim|seqend|seqlength|seqstart|shopstring|sign|sin|sinh|smooth|snoise|spknot|spline|sqrt|stamp|stamps|strcasecmp|strcasematch|strcat|strcmp|strdup|stripmatrix|strlen|strmatch|strreplace|sturb|substr|surflen|system|systemES|systemRAW|tan|tanh|tex|texni|tolower|toupper|translate|transpose|trunc|turb|uniqueval|uniquevals|unituv|uvdist|vangle|vector|vector3|vector4|vertex|vertexattriblist|vertexattribsize|vertexattribtype|vertexgrouplist|vertexgroupmask|vertexs|vertexsmap|vertexsnummap|vlength|vlength2|vmatch|vmatchin|vmatchout|volumeaverage|volumegradient|volumeindex|volumeindextopos|volumemax|volumemin|volumepostoindex|volumeres|volumesample|volumevoxeldiameter|vorigin|vpname|vrorigin|vscale|vset|vsize|vtorigin|wrap|xyzdist' + command: 'alias|animeditor|appendseq|atjob|audiopanel|autosave|bonealigncapture|boneconvert|bonefixchops|bonemoveend|bookmark|bundlelist|chadd|chalias|chaneditor|chanlist|chautoscope|chautoselect|chblockbegin|chblockend|chcommit|chcp|chgadd|chgglobal|chgls|chgop|chgpopulate|chgrm|chhold|chkey|chkeyget|chkeyls|chkeymv|chkeyrm|chlock|chls|chopexportmap|chopls|chopscope|chopview|chread|chrefit|chrename|chreverse|chrm|chround|chscope|chstretch|chwrite|clear|closeport|cmdread|colladaimport|colorsettings|commandecho|compfree|compopts|compproject|cplane|datatree|desk|dopdatahint|dopdatatypealias|dopdatatypes|dopsave|dopsavedata|dopsolveadddata|dopsolvecopydata|dopsolveremovedata|dopsolvesetoption|dsedit|dsoinfo|dsreload|echo|excat|exedit|exhelp|exit|exls|exread|exrm|fbximport|fbximportanim|fcur|fdependadd|fdependhide|fdependls|fdependrm|filechooser|fplayback|fps|frange|fset|ftimecode|geocache|glcache|help|helpbrowser|helpsearch|history|hotkey|imgdispopt|imgsave|imgview|imgview2d|imgviewhist|imgviewls|imgviewtime|imgviewtool|iprview|java|job|kinconvert|linker|listchooser|loadaudio|loadseq|matrman|matupdateref|memory|menurefresh|message|mnew|mplayfit|mplayhome|mplayprofile|mread|mwrite|nbadd|nbcolor|nbcp|nbget|nbglob|nblocate|nbls|nblsop|nbname|nbop|nbrm|nbset|nbsize|netcolumns|neteditor|netviewdep|networkeditor|nextkey|nodegraph|objcache|objcleantransform|objextractpretransform|objkinoverride|objlightlink|objmaterial|objparent|objpretransform|objresetpretransform|ociocolorspace|ociodisplay|ombind|ombindinfo|omls|omparm|omsbind|omsbindinfo|omsls|omsunbind|omswhere|omunbind|omwhere|omwrite|opadd|opalias|opautoplace|opbadd|opbfilters|opbls|opbname|opbop|opbrm|opcf|opchange|opchangetype|opchmod|opcollapse|opcolor|opcomment|opcook|opcopy|opcp|opdefaultcolor|opdefaultshape|opdelscript|opdepend|opdeprecate|openport|opeventscriptcache|opexclude|opexprlanguage|opextern|opextract|opfind|opfirstname|opgadd|opget|opgetinput|opglob|opgls|opgop|opgrm|ophelp|ophide|opinfo|opinputstring|oplayout|oplegacyinputs|oplocate|opls|opmenu|opmultiparm|opname|oporder|oppane|opparm|oppaste|oppresetload|oppresetloadfile|oppresetls|oppresetrm|oppresetsave|oppresetsavefile|opproperty|oppwf|opramp|opread|oprename|oprm|oprmtype|opsave|opscale|opscript|opset|opspare|opspareds|opstat|optype|optypeinstall|optyperead|optypeuninstall|opunhide|opunload|opunwire|opupdate|opuserdata|opwire|opwrite|otcollapse|otcomment|otconfig|otcontentadd|otcontentdelete|otcontentls|otcontentsave|otcopy|otcplayout|otcreatecompiledtypefrom|otcreatetypefrom|otdelete|otedit|otexpand|otgetotl|otglob|otinuse|otload|otls|otmerge|otprefer|otrefresh|otrenamesource|otsync|ottouch|otunload|otunsync|otversion|otwrite|pane|panepath|parmeditor|parmlist|parmsheet|pathmap|perfmon|performance|pilist|play|pomadd|pomattach|pomclear|pomdetach|pomls|pomparm|pomremove|pomrename|pomscript|pomset|preference|prependseq|prompt|propertyedit|python|pythonpanel|quit|radial|read|render|rexport|rkill|ropview|rps|scenegraphtree|sceneviewconfig|sceneviewopts|sceneviewpurpose|sceneviewrenderopts|seqls|set|setcomp|setenv|setplane|shelfdock|shift|shopconvert|shoppromote|shopthumb|shopvisible|sopcache|sopcreateedit|source|stampdirty|system|takeadd|takeautomode|takeinclude|takelist|takeload|takels|takemerge|takemove|takename|takerm|takesave|takescript|takeset|tcur|test_access|texcache|time|timeslice|tmgadd|tmgls|tmgname|tmgop|tmgrm|tmgshift|toolbar|topcancel|topcook|topdirty|treechooser|treecontrol|tset|ucd|uls|umkdir|undoctrl|unitlength|unitmass|unix|updateui|upwd|urm|varchange|version|vexinfo|vexprofile|viewagentopts|viewbackground|viewcamera|viewcolor|viewcopy|viewdisplay|viewdispopts|viewdispset|vieweffect|viewergrouplist|viewerinspect|vieweroption|viewerstow|viewforeground|viewhome|viewinfotext|viewlayout|viewlight|viewls|viewmaskoverlay|viewname|viewonionskin|viewoptadd|viewoptenable|viewoptls|viewoptname|viewoptrm|viewoptset|vieworthogrid|viewposteffects|viewprojection|viewrefplane|viewroto|viewsnapshot|viewsnapshotoption|viewtool|viewtransform|viewtype|viewupdate|viewuvgrid|viewwrite|visualizeradd|visualizerset|vopforcecompile|vopwritevfl' contexts: main: