From 8977a4627063bf1fd813e5bbfde180a59ee6c0ea Mon Sep 17 00:00:00 2001 From: teared Date: Thu, 28 Nov 2019 01:26:25 +0500 Subject: [PATCH] Update for Houdini 18 Release 7.1.2 1. Updated for Houdini 18. 2. New expression functions added: string abspath(string relpath) string decodeattrib(string s) string decodeparm(string s) string encodeattrib(string s) string encodeparm(string s) string lopparentprims(string lop_paths) string loprelativeprims(string lop_paths, string relative_path) string opinputstring(string name, float index, string key) string pdgattribute(string name, float index) string pdgattributes(string name, float index) string pdginput(float index, string tag, float localize) string pdgoutput(float index, string tag, float localize) string relpath(string abspath) float scalefrommks(string dimensions) float scaletomks(string dimensions) Tip: to read about new functions quickly, copy the list in empty Sublime Text document, set HScript syntax and check documentation helpcards. 3. Commands highlighted in syntax: ociocolorspace ociodisplay scenegraphtree sceneviewopts sceneviewpurpose sceneviewrenderopts topcancel topcook topdirty visualizeradd visualizerset --- commands/helpcards.json | 26 ++++++--- messages.json | 3 +- messages/7.1.2.txt | 43 +++++++++++++++ snippets/expressions.sublime-completions | 68 ++++++++++++++++++++++-- syntax/HScript.sublime-syntax | 4 +- 5 files changed, 131 insertions(+), 13 deletions(-) create mode 100644 messages/7.1.2.txt diff --git a/commands/helpcards.json b/commands/helpcards.json index 6087f4d..b87e797 100644 --- a/commands/helpcards.json +++ b/commands/helpcards.json @@ -1,5 +1,6 @@ { "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
", "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
", @@ -15,7 +16,7 @@ "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
", @@ -47,8 +48,8 @@ "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\".

", "constant": "

constant

Channel segment function: constant value.

constant()

Related

linear
", - "contextoption": "

contextoption

Returns a cook context option as a floating point value.

contextoption(token)

Retrieves the current value of a cook 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 retrieves floating-point number values. For string\nvalues, use contextoptions.

token: the name of the option to retrieve.
", - "contextoptions": "

contextoption

Returns a cook context option as a string value.

contextoptions(token)

Retrieves the current value of a cook 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 retrieves string values. For floating-point number\nvalues, use contextoption.

token: the name of the option to retrieve.
", + "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
", "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
", "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
", @@ -66,7 +67,9 @@ "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 or geometry attribute name that was previously encoded.

decode(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 encode method to generate a string that\nobeys these restriction. This method takes one of these encoded strings, and\nreturns the original string. A string that has not been encoded will be\nreturned unmodified.

Related

encode
", + "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
", "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.

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.

", @@ -126,7 +129,9 @@ "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
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
edgegrouplist
", - "encode": "

encode

Encodes any string into a valid variable or geometry attribute name.

encode(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 decode method.\nA 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

decode
", + "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
", "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
", @@ -195,6 +200,8 @@ "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
", "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
", @@ -239,6 +246,7 @@ "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\")
", "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
", @@ -267,6 +275,10 @@ "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
", "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\")`
", + "pdgattribute": "

pdgattribute

Returns the value of a work item attribute

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

pdgattribute(\"pdg_frame\", 0)

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

pdgattribute(\"color\", 2)

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

Related

pdgattributes
", + "pdgattributes": "

pdgattributes

Returns the string value of a work item attribute

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

pdgattributes(\"pdg_input\", 0)

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

pdgattributes(\"filenames\", 2)

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

Related

pdgattribute
", + "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
", + "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
", "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)
", @@ -314,6 +326,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
", "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)
", @@ -327,6 +340,8 @@ "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\")
", "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
", @@ -363,7 +378,6 @@ "tex": "

tex

Returns the interpolated color of a point on an on-disk texture map.

tex(filename, U, V, color_type)

Textures can be 1, 3 or 4 channel images containing 8-bit, 16-bit or\nfloating point data.

color_type can be one of:

r, R, or D_CR = Red channel
g, G, or D_CG = Green channel
b, B, or D_CB = Blue channel
a, A, or D_CA = Alpha channel
h, H, or D_CHUE = Color hue
s, S, or D_CSAT = Color saturation
v, V, or D_CVAL = Color value
l, L, or D_CLUM = Color luminance

This function will interpolate colors smoothly between pixels.\nFor the non-interpolated version, use texni.

When the color component asked for doesn\u2019t match\nthe format of the image, some default behaviour will be taken.

Examples

tex(\"Mandril.pic\", $BBX, $BBY, r).

Related

texni
pic
picni
", "texni": "

texni

Returns the non-interpolated color of a point on an on-disk texture map.

texni(diskfile, U, V, color_type)

Textures can be 1, 3 or 4 channel images containing 8-bit, 16-bit or\nfloating point data.

color_type can be one of:

r, R, or D_CR = Red channel
g, G, or D_CG = Green channel
b, B, or D_CB = Blue channel
a, A, or D_CA = Alpha channel
h, H, or D_CHUE = Color hue
s, S, or D_CSAT = Color saturation
v, V, or D_CVAL = Color value
l, L, or D_CLUM = Color luminance

This function will not interpolate colors between pixels.\nFor the interpolated version, use tex.

When the color component asked for doesn\u2019t match\nthe format of the image, some default behaviour will be taken.

Examples

texni(\"Mandril.pic\", $BBX, $BBY, r).

Related

tex
pic
picni
", "tolower": "

tolower

Returns the all-lowercase version of a string.

tolower(s)

Related

toupper
", - "topexp": "

topexp

Returns the result of evaluating the given expression in the current TOP context.\nThere may be special local variables available depending on the parameter being \nevaluated.

topexp(expression)

Examples

topexp(\"workItem.data.stringData('command')\")
", "toupper": "

toupper

Returns the all-uppercase version of a string.

toupper(s)

Related

tolower
", "translate": "

translate

Takes X, Y, and Z translation values and returns a translation matrix.

translate(tx, ty, tz)

Related

rotate
rotaxis
scale
", "transpose": "

transpose

Transposes a matrix.

transpose(mat)
", diff --git a/messages.json b/messages.json index 67e7439..b92947f 100644 --- a/messages.json +++ b/messages.json @@ -1,5 +1,6 @@ { "install": "messages/install.txt", "7.1.0": "messages/7.1.0.txt", - "7.1.1": "messages/7.1.1.txt" + "7.1.1": "messages/7.1.1.txt", + "7.1.2": "messages/7.1.2.txt" } diff --git a/messages/7.1.2.txt b/messages/7.1.2.txt new file mode 100644 index 0000000..9fff569 --- /dev/null +++ b/messages/7.1.2.txt @@ -0,0 +1,43 @@ +Houdini add-on for Sublime Text: + https://github.com/teared/HScript + + +Release 7.1.2 + + +1. Updated for Houdini 18. + +2. New expression functions added: + + string abspath(string relpath) + string decodeattrib(string s) + string decodeparm(string s) + string encodeattrib(string s) + string encodeparm(string s) + string lopparentprims(string lop_paths) + string loprelativeprims(string lop_paths, string relative_path) + string opinputstring(string name, float index, string key) + string pdgattribute(string name, float index) + string pdgattributes(string name, float index) + string pdginput(float index, string tag, float localize) + string pdgoutput(float index, string tag, float localize) + string relpath(string abspath) + float scalefrommks(string dimensions) + float scaletomks(string dimensions) + + Tip: to read about new functions quickly, copy the list in empty + Sublime Text document, set HScript syntax and check documentation helpcards. + +3. Commands highlighted in syntax: + + ociocolorspace + ociodisplay + scenegraphtree + sceneviewopts + sceneviewpurpose + sceneviewrenderopts + topcancel + topcook + topdirty + visualizeradd + visualizerset \ No newline at end of file diff --git a/snippets/expressions.sublime-completions b/snippets/expressions.sublime-completions index ce38965..b888f9a 100644 --- a/snippets/expressions.sublime-completions +++ b/snippets/expressions.sublime-completions @@ -5,6 +5,10 @@ "trigger": "abs(number)", "contents": "abs(${1:number})" }, + { + "trigger": "abspath(relpath)", + "contents": "abspath(${1:relpath})" + }, { "trigger": "acos(number)", "contents": "acos(${1:number})" @@ -254,12 +258,12 @@ "contents": "decode(${1:s})" }, { - "trigger": "encode(s)", - "contents": "encode(${1:s})" + "trigger": "decodeattrib(s)", + "contents": "decodeattrib(${1:s})" }, { - "trigger": "ftrim(number)", - "contents": "ftrim(${1:number})" + "trigger": "decodeparm(s)", + "contents": "decodeparm(${1:s})" }, { "trigger": "deg(radians)", @@ -493,6 +497,18 @@ "trigger": "edgegroupmask(surface_node, pattern)", "contents": "edgegroupmask(${1:surface_node}, ${2:pattern})" }, + { + "trigger": "encode(s)", + "contents": "encode(${1:s})" + }, + { + "trigger": "encodeattrib(s)", + "contents": "encodeattrib(${1:s})" + }, + { + "trigger": "encodeparm(s)", + "contents": "encodeparm(${1:s})" + }, { "trigger": "eval(expression)", "contents": "eval(${1:expression})" @@ -565,6 +581,10 @@ "trigger": "ftoa(number)", "contents": "ftoa(${1:number})" }, + { + "trigger": "ftrim(number)", + "contents": "ftrim(${1:number})" + }, { "trigger": "groupbyval(surface_node, class, attribute, id)", "contents": "groupbyval(${1:surface_node}, ${2:class}, ${3:attribute}, ${4:id})" @@ -761,6 +781,14 @@ "trigger": "loplastmodifiedprims(lop_path)", "contents": "loplastmodifiedprims(${1:lop_path})" }, + { + "trigger": "lopparentprims(lop_paths)", + "contents": "lopparentprims(${1:lop_paths})" + }, + { + "trigger": "loprelativeprims(lop_paths, relative_path)", + "contents": "loprelativeprims(${1:lop_paths}, ${2:relative_path})" + }, { "trigger": "match()", "contents": "match()" @@ -937,6 +965,10 @@ "trigger": "opinputpath(name, index)", "contents": "opinputpath(${1:name}, ${2:index})" }, + { + "trigger": "opinputstring(name, index, key)", + "contents": "opinputstring(${1:name}, ${2:index}, ${3:key})" + }, { "trigger": "opisloading()", "contents": "opisloading()" @@ -1049,6 +1081,22 @@ "trigger": "parmisstring(parameter_name)", "contents": "parmisstring(${1:parameter_name})" }, + { + "trigger": "pdgattribute(name, index)", + "contents": "pdgattribute(${1:name}, ${2:index})" + }, + { + "trigger": "pdgattributes(name, index)", + "contents": "pdgattributes(${1:name}, ${2:index})" + }, + { + "trigger": "pdginput(index, tag, localize)", + "contents": "pdginput(${1:index}, ${2:tag}, ${3:localize})" + }, + { + "trigger": "pdgoutput(index, tag, localize)", + "contents": "pdgoutput(${1:index}, ${2:tag}, ${3:localize})" + }, { "trigger": "pic(copname, U, V, color_type)", "contents": "pic(${1:copname}, ${2:U}, ${3:V}, ${4:color_type})" @@ -1233,6 +1281,10 @@ "trigger": "realuv(surface_node, prim_num, uv_unit, D_U|D_V)", "contents": "realuv(${1:surface_node}, ${2:prim_num}, ${3:uv_unit}, ${4:D_U|D_V})" }, + { + "trigger": "relpath(abspath)", + "contents": "relpath(${1:abspath})" + }, { "trigger": "repeat(f1, f2)", "contents": "repeat(${1:f1}, ${2:f2})" @@ -1285,6 +1337,14 @@ "trigger": "scale(sx, sy, sz)", "contents": "scale(${1:sx}, ${2:sy}, ${3:sz})" }, + { + "trigger": "scalefrommks(dimensions)", + "contents": "scalefrommks(${1:dimensions})" + }, + { + "trigger": "scaletomks(dimensions)", + "contents": "scaletomks(${1:dimensions})" + }, { "trigger": "seqanim(compositing_node)", "contents": "seqanim(${1:compositing_node})" diff --git a/syntax/HScript.sublime-syntax b/syntax/HScript.sublime-syntax index 7115020..d1f75f8 100644 --- a/syntax/HScript.sublime-syntax +++ b/syntax/HScript.sublime-syntax @@ -6,8 +6,8 @@ file_extensions: scope: source.hscript variables: - expression: 'abs|acos|angvel|arclen|arclenD|arg|argc|asin|atan|atan2|atof|bbox|bezier|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|deg|degree|detail|detailattribsize|detailattribtype|details|detailsmap|detailsnummap|determinant|dihedral|distance|dopallfields|dopcontextgeo|dopcountslices|dopfield|dopfieldname|dopfields|dopfieldtype|dopframe|dopframetost|dopgrouphasobject|dopgroupismutual|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|eval|evals|execute|executeb|executee|exp|explodematrix|explodematrixp|explodematrixpr|findfile|findfiles|fit|fit01|fit10|fit11|floor|frac|ftoa|groupbyval|groupbyvals|hascontextoption|hasdetailattrib|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|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|oldrand|opblist|opcreator|opdigits|opexist|opflag|opfullpath|opfullpathfrom|opid|opinput|opinputpath|opisloading|opisquitting|oplightmask|oplistsort|opname|opnchildren|opninputs|opnoutputs|opoutput|opoutputpath|oppinput|oppwd|oppwf|oprelativepath|opselect|opselectpath|opselectrecurse|opselectrecursepath|opstreamname|opsubpath|optransform|optype|optypeinfo|origin|originoffset|padzero|param|parmisstring|pic|picni|pluralize|point|pointattribsize|pointattribtype|pointavg|pointdist|pointgrouplist|pointgroupmask|pointlist|pointneighbours|pointpattern|points|pointsmap|pointsnummap|pow|prim|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|raw|realuv|repeat|repeatt|res|rgb|rindex|rint|rotate|rotaxis|round|run|runb|rune|scale|seampoints|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|topexp|toupper|translate|transpose|trunc|turb|uniqueval|uniquevals|unituv|uvdist|vangle|vector|vector3|vector4|vertex|vertexattribsize|vertexattribtype|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|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|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|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|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|viewprojection|viewrefplane|viewroto|viewsnapshot|viewsnapshotoption|viewtool|viewtransform|viewtype|viewupdate|viewuvgrid|viewwrite|vopforcecompile|vopwritevfl' + expression: 'abs|abspath|acos|angvel|arclen|arclenD|arg|argc|asin|atan|atan2|atof|bbox|bezier|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|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|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|oldrand|opblist|opcreator|opdigits|opexist|opflag|opfullpath|opfullpathfrom|opid|opinput|opinputpath|opinputstring|opisloading|opisquitting|oplightmask|oplistsort|opname|opnchildren|opninputs|opnoutputs|opoutput|opoutputpath|oppinput|oppwd|oppwf|oprelativepath|opselect|opselectpath|opselectrecurse|opselectrecursepath|opstreamname|opsubpath|optransform|optype|optypeinfo|origin|originoffset|padzero|param|parmisstring|pdgattribute|pdgattributes|pdginput|pdgoutput|pic|picni|pluralize|point|pointattribsize|pointattribtype|pointavg|pointdist|pointgrouplist|pointgroupmask|pointlist|pointneighbours|pointpattern|points|pointsmap|pointsnummap|pow|prim|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|vertexattribsize|vertexattribtype|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|ociocolorspace|ociodisplay|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|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|viewprojection|viewrefplane|viewroto|viewsnapshot|viewsnapshotoption|viewtool|viewtransform|viewtype|viewupdate|viewuvgrid|viewwrite|visualizeradd|visualizerset|vopforcecompile|vopwritevfl' contexts: main: