diff --git a/commands/helpcards.json b/commands/helpcards.json
index 996c2b9..3a2d385 100644
--- a/commands/helpcards.json
+++ b/commands/helpcards.json
@@ -2,7 +2,8 @@
"abs": "
Returns the absolute value of the argument.
abs(number
)
Examples
abs (-2.6)=2.6
",
"acos": "Returns the arc-cosine of the argument.
acos(number
)
Examples
acos (0)=90
",
"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": "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
",
+ "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": "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
",
"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": "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
",
"asin": "Returns the arc-sine of the argument.
asin(number
)
Examples
asin (.866025)=60
",
@@ -30,6 +31,7 @@
"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
",
"chopl": "Returns the length of the channels in a CHOP, in samples.
chopl(CHOP
)
Examples
chopl(\"/ch/ch1/wave1\")
Related
",
"chopn": "Returns the number of data channels within a CHOP.
chopn(CHOP
)
Examples
chopn(\"/ch/ch1/wave1\")
Related
",
+ "chopnames": "Returns the names of all the data channels within a CHOP.
chopnames(CHOP
)
Examples
chopnames(\"/ch/ch1/wave1\")
Related
",
"chopr": "Returns the sample rate of a CHOP.
chopr(CHOP
)
Examples
chopr(\"/ch/ch1/wave1\")
Related
",
"chops": "Returns the start index of a CHOP.
chops(CHOP
)
Examples
chops(\"/ch/ch1/wave1\")
Related
",
"chopstr": "Returns the string value of a channel within a CHOP at the current time.
chopstr(channel
)
Examples
chopstr(\"/ch/ch1/wave1/chan1\")
Related
",
@@ -45,10 +47,12 @@
"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": "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": "Channel segment function: constant value.
constant()
Related
",
+ "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": "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.
",
"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": "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": "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
",
- "cos": "Returns the cosine of the argument.
cos(number
)
Examples
cos (60)=0.5
",
+ "cos": "Returns the cosine of the argument.
cos(degrees
)
Examples
cos (60)=0.5
",
"cosh": "Returns the hyperbolic cosine of the argument.
cosh(number
)
Examples
cosh (2) = 3.7622
",
"cross": "Computes the cross-product of two vectors.
cross(v1
, v2
)
",
"cubic": "Channel segment function: cubic spline.
cubic()
This function uses the slopes at either end to\nsolve the differential equation to give a smooth curve between the end\npoints.
Related
",
@@ -78,7 +82,7 @@
"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": "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
",
"dopfieldname": "Returns the name of a DOP field.
`dopfieldname(dop
, objectSpec
, subDataName
,
recordType
, fieldNum
)`
Returns the name of the fieldNum
th 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": "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\n vector.
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\"
).
",
+ "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": "Returns the type of a DOP field.
`dopfieldtype(dop
, objectSpec
, subDataName
,
recordType
, fieldNum
)`
Returns the type of the fieldNum
th 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": "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
",
"dopframetost": "Returns the simulation time equivalent of a simulation frame.
dopframetost(dop
, simulationframe
)
Related
",
@@ -141,6 +145,7 @@
"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.
",
"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": "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": "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": "Returns 1 if a specified detail attribute exists.
hasdetailattrib(surface_node
, attribute
)
",
"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
",
"haspointattrib": "Returns 1 if a specified point attribute exists.
haspointattrib(surface_node
, attribute
)
",
@@ -183,6 +188,10 @@
"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": "Returns the natural logarithm of the argument.
log(number
)
Examples
log (2.718281828)= 1
",
"log10": "Returns the base 10 logarithm of the argument.
log10(number
)
Examples
log10(10) = 1
log10(100) = 2
",
+ "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
",
+ "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
",
+ "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
",
+ "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
",
"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
",
"matchin": "Channel segment function: matches the incoming slope.
matchin()
Related
",
"matchout": "Channel segment function: matches the outgoing slope.
matchout()
Related
",
@@ -330,7 +339,7 @@
"seqstart": "Returns the start frame of a compositing node\u2019s image sequence.
seqstart(compositing_node
)
Related
",
"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": "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": "Returns the sine of the argument.
sin(number
)
Examples
sin (60)=0.866025
",
+ "sin": "Returns the sine of the argument.
sin(degrees
)
Examples
sin (60)=0.866025
",
"sinh": "Returns the hyperbolic sine of the argument.
sinh(number
)
",
"smooth": "Takes a value and range and returns a smooth interpolation\nbetween 0 and 1.
smooth(value
, minimum
, maximum
)
When value
is less than minimum
, the return value is 0.\nIf value
is greater than maximum
, the return value is 1.
Examples
smooth ($F, 12, 55)
This example will generate an ease-type curve between values 0 and 1,\n starting at frame 12 and ending at frame 55. Dig it!
",
"snoise": "Generates sparse convolution 3D noise.
snoise(X
, Y
, Z
)
The noise is generated on points scattered in space and interpolated\nbetween the points in the voronoi decomposition. The output of the\nnoise function is approximately -1.15 to 1.15.
snoise($TX, $TY, $TZ)
Related
",
@@ -339,8 +348,6 @@
"sqrt": "Returns the square root of the argument.
sqrt(number
)
Examples
sqrt (144)=12
",
"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": "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\")
",
- "statevalue": "Returns a global state variable floating point value.
statevalue(token
, value
)
Retrieves a global state variable variable from the LOP Network currently\nbeing evaluated.
This function retrieves floating-point number values. For string\nvalues, use statevalues.
token
: the name of the variable to retrieve.
value
: the default value to use if token
does not exist.
",
- "statevalues": "Returns a global state variable floating point value.
statevalues(token
, value
)
Retrieves a global state variable variable from the LOP Network currently\nbeing evaluated.
This function retrieves string values. For floating-point number\nvalues, use statevalue.
token
: the name of the variable to retrieve.
value
: the default value to use if token
does not exist.
",
"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
",
"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
",
"strcat": "Returns the concatenation of two strings.
strcat(s1
, s2
)
Examples
strcat(\"Current motion file is \", $MOTNAME)
Returns \"Current motion file is job1.bmot\"
",
@@ -356,11 +363,12 @@
"system": "Runs a system command line and returns the output.
This will transform all linefeeds and carriage returns into spaces.\nTo get the raw output, use systemRAW.
system(command_string
)
Examples
system(\"finger\")
",
"systemES": "Runs a system command line and returns the exit status.
systemES(command_string
)
This function returns the exit code of the command. To get\nthe output of the command instead, use system.
Examples
systemES(\"test -r $HOME/houdini/123.cmd\") = 0
",
"systemRAW": "Runs a system command line and returns the output with no processing.
Unlike the system command, this does not transform linefeeds or\ncarriage returns into spaces.
systemRAW(command_string
)
Examples
systemRAW(\"cat myfile.txt\")
",
- "tan": "Returns the tangent of the argument.
tan(number
)
Examples
tan (60)=1.73205
",
+ "tan": "Returns the tangent of the argument.
tan(degrees
)
Examples
tan (60)=1.73205
",
"tanh": "Returns the hyperbolic tangent of the argument.
tanh(number
)
",
"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": "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
",
"tolower": "Returns the all-lowercase version of a string.
tolower(s
)
Related
",
+ "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": "Returns the all-uppercase version of a string.
toupper(s
)
Related
",
"translate": "Takes X, Y, and Z translation values and returns a translation matrix.
translate(tx
, ty
, tz
)
Related
",
"transpose": "Transposes a matrix.
transpose(mat
)
",
diff --git a/messages.json b/messages.json
index a917a4f..28fcc53 100644
--- a/messages.json
+++ b/messages.json
@@ -1,3 +1,4 @@
{
- "install": "messages/install.txt"
+ "install": "messages/install.txt",
+ "7.1.0": "messages/7.1.0.txt"
}
diff --git a/messages/7.1.0.txt b/messages/7.1.0.txt
new file mode 100644
index 0000000..547a764
--- /dev/null
+++ b/messages/7.1.0.txt
@@ -0,0 +1,42 @@
+Houdini add-on for Sublime Text:
+ https://github.com/teared/HScript
+
+
+Release 7.1.0
+
+
+1. Updated for Houdini 17.0.
+
+2. New expression functions added:
+
+ float arclenD(string surface_node, float prim_num, float ustart, float ustop, float divs)
+ string chopnames(string CHOP)
+ float contextoption(string token)
+ string contextoptions(string token)
+ float hascontextoption(string token)
+ string lopinputprim(string lop_path, float input_index)
+ string lopinputprims(string lop_path, float input_index)
+ string loplastmodifiedprim(string lop_path)
+ string loplastmodifiedprims(string lop_path)
+ string topexp(string expression)
+
+ Tip: to read about new functions quickly, copy the list in empty
+ Sublime Text document, set HScript syntax and check documentation helpcards.
+
+3. Older expressions that is now highlighted and documented:
+
+ float dopgroupismutual(string dop, string group)
+ float raw()
+ string seampoints(string surface_node, float whichside)
+
+4. Commands highlighted in syntax:
+
+ animeditor
+ chautoselect
+ imgsave
+ kinconvert
+ matrman
+ matupdateref
+ rexport
+ shopconvert
+ system
\ No newline at end of file
diff --git a/snippets/expressions.sublime-completions b/snippets/expressions.sublime-completions
index 2347add..2ebb00d 100644
--- a/snippets/expressions.sublime-completions
+++ b/snippets/expressions.sublime-completions
@@ -9,17 +9,13 @@
"trigger": "acos(number)",
"contents": "acos(${1:number})"
},
- {
- "trigger": "angvel(rot1, rot2, time)",
- "contents": "angvel(${1:rot1}, ${2:rot2}, ${3:time})"
- },
{
"trigger": "arclen(surface_node, prim_num, ustart, ustop)",
"contents": "arclen(${1:surface_node}, ${2:prim_num}, ${3:ustart}, ${4:ustop})"
},
{
- "trigger": "arg(line, argNum)",
- "contents": "arg(${1:line}, ${2:argNum})"
+ "trigger": "arclenD(surface_node, prim_num, ustart, ustop, divs)",
+ "contents": "arclenD(${1:surface_node}, ${2:prim_num}, ${3:ustart}, ${4:ustop}, ${5:divs})"
},
{
"trigger": "argc(line)",
@@ -85,10 +81,6 @@
"trigger": "chf(channel, frame)",
"contents": "chf(${1:channel}, ${2:frame})"
},
- {
- "trigger": "chgroup(group_name)",
- "contents": "chgroup(${1:group_name})"
- },
{
"trigger": "chop(channel)",
"contents": "chop(${1:channel})"
@@ -133,10 +125,6 @@
"trigger": "chops(CHOP)",
"contents": "chops(${1:CHOP})"
},
- {
- "trigger": "chopstr(channel)",
- "contents": "chopstr(${1:channel})"
- },
{
"trigger": "chopt(channel, time)",
"contents": "chopt(${1:channel}, ${2:time})"
@@ -153,22 +141,6 @@
"trigger": "chrampt(ramp_path, position, component_index, time)",
"contents": "chrampt(${1:ramp_path}, ${2:position}, ${3:component_index}, ${4:time})"
},
- {
- "trigger": "chs(channel)",
- "contents": "chs(${1:channel})"
- },
- {
- "trigger": "chsop(path)",
- "contents": "chsop(${1:path})"
- },
- {
- "trigger": "chsoplist(path)",
- "contents": "chsoplist(${1:path})"
- },
- {
- "trigger": "chsraw(channel)",
- "contents": "chsraw(${1:channel})"
- },
{
"trigger": "cht(channel, time)",
"contents": "cht(${1:channel}, ${2:time})"
@@ -186,17 +158,13 @@
"contents": "constant()"
},
{
- "trigger": "cophasmeta(compositing_node, metadata_name)",
- "contents": "cophasmeta(${1:compositing_node}, ${2:metadata_name})"
+ "trigger": "contextoption(token)",
+ "contents": "contextoption(${1:token})"
},
{
"trigger": "copmeta(compositing_node, metadata_name, index)",
"contents": "copmeta(${1:compositing_node}, ${2:metadata_name}, ${3:index})"
},
- {
- "trigger": "copmetas(compositing_node, metadata_name)",
- "contents": "copmetas(${1:compositing_node}, ${2:metadata_name})"
- },
{
"trigger": "cos(number)",
"contents": "cos(${1:number})"
@@ -205,10 +173,6 @@
"trigger": "cosh(number)",
"contents": "cosh(${1:number})"
},
- {
- "trigger": "cross(v1, v2)",
- "contents": "cross(${1:v1}, ${2:v2})"
- },
{
"trigger": "cubic()",
"contents": "cubic()"
@@ -253,14 +217,6 @@
"trigger": "detailattribtype(surface_node, attribute)",
"contents": "detailattribtype(${1:surface_node}, ${2:attribute})"
},
- {
- "trigger": "details(surface_node, attribute)",
- "contents": "details(${1:surface_node}, ${2:attribute})"
- },
- {
- "trigger": "detailsmap(surface_node, attribute, index)",
- "contents": "detailsmap(${1:surface_node}, ${2:attribute}, ${3:index})"
- },
{
"trigger": "detailsnummap(surface_node, attribute)",
"contents": "detailsnummap(${1:surface_node}, ${2:attribute})"
@@ -269,22 +225,10 @@
"trigger": "determinant(mat)",
"contents": "determinant(${1:mat})"
},
- {
- "trigger": "dihedral(v0, v1)",
- "contents": "dihedral(${1:v0}, ${2:v1})"
- },
{
"trigger": "distance(x1, y1, z1, x2, y2, z2)",
"contents": "distance(${1:x1}, ${2:y1}, ${3:z1}, ${4:x2}, ${5:y2}, ${6:z2})"
},
- {
- "trigger": "dopallfields(dop, objectSpec, subDataName, recordType)",
- "contents": "dopallfields(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:recordType})"
- },
- {
- "trigger": "dopcontextgeo(name, index)",
- "contents": "dopcontextgeo(${1:name}, ${2:index})"
- },
{
"trigger": "dopcountslices(dop, objectFilter, subDataName)",
"contents": "dopcountslices(${1:dop}, ${2:objectFilter}, ${3:subDataName})"
@@ -293,18 +237,6 @@
"trigger": "dopfield(dop, objectSpec, subDataName, recordType, recordNum, fieldName)",
"contents": "dopfield(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:recordType}, ${5:recordNum}, ${6:fieldName})"
},
- {
- "trigger": "dopfieldname(dop, objectSpec, subDataName, recordType, fieldNum)",
- "contents": "dopfieldname(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:recordType}, ${5:fieldNum})"
- },
- {
- "trigger": "dopfields(dop, objectSpec, subDataName, recordType, recordNum, fieldName)",
- "contents": "dopfields(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:recordType}, ${5:recordNum}, ${6:fieldName})"
- },
- {
- "trigger": "dopfieldtype(dop, objectSpec, subDataName, recordType, fieldNum)",
- "contents": "dopfieldtype(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:recordType}, ${5:fieldNum})"
- },
{
"trigger": "dopframe(dop)",
"contents": "dopframe(${1:dop})"
@@ -317,10 +249,6 @@
"trigger": "dopgrouphasobject(dop, objectSpec, group)",
"contents": "dopgrouphasobject(${1:dop}, ${2:objectSpec}, ${3:group})"
},
- {
- "trigger": "dopgrouplist(dop)",
- "contents": "dopgrouplist(${1:dop})"
- },
{
"trigger": "dophasfield(dop, objectSpec, subDataName, recordType, recordNum, fieldName)",
"contents": "dophasfield(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:recordType}, ${5:recordNum}, ${6:fieldName})"
@@ -329,10 +257,6 @@
"trigger": "dophassubdata(dop, objectSpec, subDataName)",
"contents": "dophassubdata(${1:dop}, ${2:objectSpec}, ${3:subDataName})"
},
- {
- "trigger": "dopnodeobjs(dop)",
- "contents": "dopnodeobjs(${1:dop})"
- },
{
"trigger": "dopnumfields(dop, objectSpec, subDataName, recordType)",
"contents": "dopnumfields(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:recordType})"
@@ -353,34 +277,14 @@
"trigger": "dopnumsubdata(dop, objectSpec, subDataName)",
"contents": "dopnumsubdata(${1:dop}, ${2:objectSpec}, ${3:subDataName})"
},
- {
- "trigger": "dopobjectlist(dop, objectSpec, listNames)",
- "contents": "dopobjectlist(${1:dop}, ${2:objectSpec}, ${3:listNames})"
- },
{
"trigger": "dopobjectsareaffectors(dop, objectSpec, affectors)",
"contents": "dopobjectsareaffectors(${1:dop}, ${2:objectSpec}, ${3:affectors})"
},
- {
- "trigger": "dopobjscreatedby(dop)",
- "contents": "dopobjscreatedby(${1:dop})"
- },
{
"trigger": "dopoption(dop, objectSpec, subDataName, fieldName)",
"contents": "dopoption(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:fieldName})"
},
- {
- "trigger": "dopoptions(dop, objectSpec, subDataName, fieldName)",
- "contents": "dopoptions(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:fieldName})"
- },
- {
- "trigger": "doprecordtypename(dop, objectSpec, subDataName, recordTypeNum)",
- "contents": "doprecordtypename(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:recordTypeNum})"
- },
- {
- "trigger": "dopsolvedopnet()",
- "contents": "dopsolvedopnet()"
- },
{
"trigger": "dopsolvenewobject(object_index)",
"contents": "dopsolvenewobject(${1:object_index})"
@@ -409,26 +313,14 @@
"trigger": "dopsttot(dop, simulationtime)",
"contents": "dopsttot(${1:dop}, ${2:simulationtime})"
},
- {
- "trigger": "dopsubdataname(dop, objectSpec, subDataName, subDataNum)",
- "contents": "dopsubdataname(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:subDataNum})"
- },
{
"trigger": "doptime(dop)",
"contents": "doptime(${1:dop})"
},
- {
- "trigger": "doptransform(dop, objectSpec, subDataName)",
- "contents": "doptransform(${1:dop}, ${2:objectSpec}, ${3:subDataName})"
- },
{
"trigger": "dopttost(dop, globaltime)",
"contents": "dopttost(${1:dop}, ${2:globaltime})"
},
- {
- "trigger": "dopvelatpos(dop, objectSpec, posx, posy, posz, usevolumevelocity, usepointvelocity)",
- "contents": "dopvelatpos(${1:dop}, ${2:objectSpec}, ${3:posx}, ${4:posy}, ${5:posz}, ${6:usevolumevelocity}, ${7:usepointvelocity})"
- },
{
"trigger": "dot(v0, v1)",
"contents": "dot(${1:v0}, ${2:v1})"
@@ -457,34 +349,10 @@
"trigger": "easep(number)",
"contents": "easep(${1:number})"
},
- {
- "trigger": "edgegrouplist(surface_node)",
- "contents": "edgegrouplist(${1:surface_node})"
- },
- {
- "trigger": "edgegroupmask(surface_node, pattern)",
- "contents": "edgegroupmask(${1:surface_node}, ${2:pattern})"
- },
{
"trigger": "eval(expression)",
"contents": "eval(${1:expression})"
},
- {
- "trigger": "evals(expression)",
- "contents": "evals(${1:expression})"
- },
- {
- "trigger": "execute(command)",
- "contents": "execute(${1:command})"
- },
- {
- "trigger": "executeb(command)",
- "contents": "executeb(${1:command})"
- },
- {
- "trigger": "executee(command)",
- "contents": "executee(${1:command})"
- },
{
"trigger": "exp(number)",
"contents": "exp(${1:number})"
@@ -501,14 +369,6 @@
"trigger": "explodematrixpr(mat, p, pr, trs, xyz, component)",
"contents": "explodematrixpr(${1:mat}, ${2:p}, ${3:pr}, ${4:trs}, ${5:xyz}, ${6:component})"
},
- {
- "trigger": "findfile(filename)",
- "contents": "findfile(${1:filename})"
- },
- {
- "trigger": "findfiles(filename, separator)",
- "contents": "findfiles(${1:filename}, ${2:separator})"
- },
{
"trigger": "fit(num, oldmin, oldmax, newmin, newmax)",
"contents": "fit(${1:num}, ${2:oldmin}, ${3:oldmax}, ${4:newmin}, ${5:newmax})"
@@ -534,16 +394,8 @@
"contents": "frac(${1:number})"
},
{
- "trigger": "ftoa(number)",
- "contents": "ftoa(${1:number})"
- },
- {
- "trigger": "groupbyval(surface_node, class, attribute, id)",
- "contents": "groupbyval(${1:surface_node}, ${2:class}, ${3:attribute}, ${4:id})"
- },
- {
- "trigger": "groupbyvals(surface_node, class, attribute, id)",
- "contents": "groupbyvals(${1:surface_node}, ${2:class}, ${3:attribute}, ${4:id})"
+ "trigger": "hascontextoption(token)",
+ "contents": "hascontextoption(${1:token})"
},
{
"trigger": "hasdetailattrib(surface_node, attribute)",
@@ -609,18 +461,10 @@
"trigger": "ics(input_index)",
"contents": "ics(${1:input_index})"
},
- {
- "trigger": "identity(size)",
- "contents": "identity(${1:size})"
- },
{
"trigger": "if(expression, true_value, false_value)",
"contents": "if(${1:expression}, ${2:true_value}, ${3:false_value})"
},
- {
- "trigger": "ifs(expression, true_value, false_value)",
- "contents": "ifs(${1:expression}, ${2:true_value}, ${3:false_value})"
- },
{
"trigger": "imgbounds(foo, bar, baz, qux)",
"contents": "imgbounds(${1:foo}, ${2:bar}, ${3:baz}, ${4:qux})"
@@ -637,22 +481,10 @@
"trigger": "int(number)",
"contents": "int(${1:number})"
},
- {
- "trigger": "inttohex(value)",
- "contents": "inttohex(${1:value})"
- },
- {
- "trigger": "invert(mat)",
- "contents": "invert(${1:mat})"
- },
{
"trigger": "iprquery(query, pane, x, y)",
"contents": "iprquery(${1:query}, ${2:pane}, ${3:x}, ${4:y})"
},
- {
- "trigger": "iprquerys(query, pane, x, y)",
- "contents": "iprquerys(${1:query}, ${2:pane}, ${3:x}, ${4:y})"
- },
{
"trigger": "isclosed(surface_node, prim_num)",
"contents": "isclosed(${1:surface_node}, ${2:prim_num})"
@@ -693,14 +525,6 @@
"trigger": "linear()",
"contents": "linear()"
},
- {
- "trigger": "listbyval(surface_node, class, attribute, id)",
- "contents": "listbyval(${1:surface_node}, ${2:class}, ${3:attribute}, ${4:id})"
- },
- {
- "trigger": "listbyvals(surface_node, class, attribute, id)",
- "contents": "listbyvals(${1:surface_node}, ${2:class}, ${3:attribute}, ${4:id})"
- },
{
"trigger": "lock(float)",
"contents": "lock(${1:float})"
@@ -725,14 +549,6 @@
"trigger": "matchout()",
"contents": "matchout()"
},
- {
- "trigger": "matrix(pattern)",
- "contents": "matrix(${1:pattern})"
- },
- {
- "trigger": "matrixtoquat(m)",
- "contents": "matrixtoquat(${1:m})"
- },
{
"trigger": "max(value1, value2)",
"contents": "max(${1:value1}, ${2:value2})"
@@ -753,42 +569,14 @@
"trigger": "mindist(surface_node, point_num, surface_node, prim_num, return_type)",
"contents": "mindist(${1:surface_node}, ${2:point_num}, ${3:surface_node}, ${4:prim_num}, ${5:return_type})"
},
- {
- "trigger": "mlookat(v1, v2)",
- "contents": "mlookat(${1:v1}, ${2:v2})"
- },
- {
- "trigger": "mlookatup(v1, v2, upv)",
- "contents": "mlookatup(${1:v1}, ${2:v2}, ${3:upv})"
- },
- {
- "trigger": "mobjlookat(base_node, target_node, upv)",
- "contents": "mobjlookat(${1:base_node}, ${2:target_node}, ${3:upv})"
- },
{
"trigger": "modblend(val1, val2, length, weight)",
"contents": "modblend(${1:val1}, ${2:val2}, ${3:length}, ${4:weight})"
},
- {
- "trigger": "morient(zaxis, yaxis)",
- "contents": "morient(${1:zaxis}, ${2:yaxis})"
- },
- {
- "trigger": "mousepane()",
- "contents": "mousepane()"
- },
- {
- "trigger": "mousepath()",
- "contents": "mousepath()"
- },
{
"trigger": "mrows(mat)",
"contents": "mrows(${1:mat})"
},
- {
- "trigger": "mzero(mat)",
- "contents": "mzero(${1:mat})"
- },
{
"trigger": "nearpoint(surface_node, x, y, z)",
"contents": "nearpoint(${1:surface_node}, ${2:x}, ${3:y}, ${4:z})"
@@ -801,10 +589,6 @@
"trigger": "normal(surface_node, prim_num, u, v, index)",
"contents": "normal(${1:surface_node}, ${2:prim_num}, ${3:u}, ${4:v}, ${5:index})"
},
- {
- "trigger": "normalize(v)",
- "contents": "normalize(${1:v})"
- },
{
"trigger": "npoints(surface_node)",
"contents": "npoints(${1:surface_node})"
@@ -825,22 +609,6 @@
"trigger": "nuniquevals(surface_node, class, attribute)",
"contents": "nuniquevals(${1:surface_node}, ${2:class}, ${3:attribute})"
},
- {
- "trigger": "objkinoverride()",
- "contents": "objkinoverride()"
- },
- {
- "trigger": "objlightmask(geometry, options)",
- "contents": "objlightmask(${1:geometry}, ${2:options})"
- },
- {
- "trigger": "objlookat(base_node, target_node, upv)",
- "contents": "objlookat(${1:base_node}, ${2:target_node}, ${3:upv})"
- },
- {
- "trigger": "objpretransform(object_name)",
- "contents": "objpretransform(${1:object_name})"
- },
{
"trigger": "oc(output_channel_index, index)",
"contents": "oc(${1:output_channel_index}, ${2:index})"
@@ -849,14 +617,6 @@
"trigger": "oldrand(value)",
"contents": "oldrand(${1:value})"
},
- {
- "trigger": "opblist(bundle_name)",
- "contents": "opblist(${1:bundle_name})"
- },
- {
- "trigger": "opcreator(name)",
- "contents": "opcreator(${1:name})"
- },
{
"trigger": "opdigits(name)",
"contents": "opdigits(${1:name})"
@@ -866,49 +626,17 @@
"contents": "opexist(${1:op_name})"
},
{
- "trigger": "opflag(network, flag)",
- "contents": "opflag(${1:network}, ${2:flag})"
+ "trigger": "opid(name)",
+ "contents": "opid(${1:name})"
},
{
- "trigger": "opfullpath(relpath)",
- "contents": "opfullpath(${1:relpath})"
- },
- {
- "trigger": "opfullpathfrom(node, basenode)",
- "contents": "opfullpathfrom(${1:node}, ${2:basenode})"
- },
- {
- "trigger": "opid(name)",
- "contents": "opid(${1:name})"
- },
- {
- "trigger": "opinput(name, index)",
- "contents": "opinput(${1:name}, ${2:index})"
- },
- {
- "trigger": "opinputpath(name, index)",
- "contents": "opinputpath(${1:name}, ${2:index})"
- },
- {
- "trigger": "opisloading()",
- "contents": "opisloading()"
+ "trigger": "opisloading()",
+ "contents": "opisloading()"
},
{
"trigger": "opisquitting()",
"contents": "opisquitting()"
},
- {
- "trigger": "oplightmask(geometry)",
- "contents": "oplightmask(${1:geometry})"
- },
- {
- "trigger": "oplistsort(path)",
- "contents": "oplistsort(${1:path})"
- },
- {
- "trigger": "opname(name)",
- "contents": "opname(${1:name})"
- },
{
"trigger": "opnchildren(name)",
"contents": "opnchildren(${1:name})"
@@ -921,66 +649,6 @@
"trigger": "opnoutputs(name)",
"contents": "opnoutputs(${1:name})"
},
- {
- "trigger": "opoutput(name, index)",
- "contents": "opoutput(${1:name}, ${2:index})"
- },
- {
- "trigger": "opoutputpath(name, index)",
- "contents": "opoutputpath(${1:name}, ${2:index})"
- },
- {
- "trigger": "oppinput(name, index)",
- "contents": "oppinput(${1:name}, ${2:index})"
- },
- {
- "trigger": "oppwd()",
- "contents": "oppwd()"
- },
- {
- "trigger": "oppwf()",
- "contents": "oppwf()"
- },
- {
- "trigger": "oprelativepath(srcpath, destpath)",
- "contents": "oprelativepath(${1:srcpath}, ${2:destpath})"
- },
- {
- "trigger": "opselect(network)",
- "contents": "opselect(${1:network})"
- },
- {
- "trigger": "opselectpath(network)",
- "contents": "opselectpath(${1:network})"
- },
- {
- "trigger": "opselectrecurse(network, flag)",
- "contents": "opselectrecurse(${1:network}, ${2:flag})"
- },
- {
- "trigger": "opselectrecursepath(network, flag)",
- "contents": "opselectrecursepath(${1:network}, ${2:flag})"
- },
- {
- "trigger": "opstreamname(nodepath)",
- "contents": "opstreamname(${1:nodepath})"
- },
- {
- "trigger": "opsubpath(node)",
- "contents": "opsubpath(${1:node})"
- },
- {
- "trigger": "optransform(object_name)",
- "contents": "optransform(${1:object_name})"
- },
- {
- "trigger": "optype(name)",
- "contents": "optype(${1:name})"
- },
- {
- "trigger": "optypeinfo(name, pattern)",
- "contents": "optypeinfo(${1:name}, ${2:pattern})"
- },
{
"trigger": "origin(obj1, obj2, constant_type)",
"contents": "origin(${1:obj1}, ${2:obj2}, ${3:constant_type})"
@@ -989,10 +657,6 @@
"trigger": "originoffset(obj1, pos1, obj2, pos2, constant_type)",
"contents": "originoffset(${1:obj1}, ${2:pos1}, ${3:obj2}, ${4:pos2}, ${5:constant_type})"
},
- {
- "trigger": "padzero(size, value)",
- "contents": "padzero(${1:size}, ${2:value})"
- },
{
"trigger": "param(token, value)",
"contents": "param(${1:token}, ${2:value})"
@@ -1009,10 +673,6 @@
"trigger": "picni(copname, U, V, color_type)",
"contents": "picni(${1:copname}, ${2:U}, ${3:V}, ${4:color_type})"
},
- {
- "trigger": "pluralize(s)",
- "contents": "pluralize(${1:s})"
- },
{
"trigger": "point(surface_node, point_number, attribute, index)",
"contents": "point(${1:surface_node}, ${2:point_number}, ${3:attribute}, ${4:index})"
@@ -1033,42 +693,10 @@
"trigger": "pointdist(surface_node, point_num, surface_node, prim_num, return_type)",
"contents": "pointdist(${1:surface_node}, ${2:point_num}, ${3:surface_node}, ${4:prim_num}, ${5:return_type})"
},
- {
- "trigger": "pointgrouplist(surface_node)",
- "contents": "pointgrouplist(${1:surface_node})"
- },
- {
- "trigger": "pointgroupmask(surface_node, pattern)",
- "contents": "pointgroupmask(${1:surface_node}, ${2:pattern})"
- },
- {
- "trigger": "pointlist(surface_node, group_name)",
- "contents": "pointlist(${1:surface_node}, ${2:group_name})"
- },
- {
- "trigger": "pointneighbours(surface_node, point_num, num_shared_prims)",
- "contents": "pointneighbours(${1:surface_node}, ${2:point_num}, ${3:num_shared_prims})"
- },
- {
- "trigger": "pointpattern(surface_node, pattern)",
- "contents": "pointpattern(${1:surface_node}, ${2:pattern})"
- },
- {
- "trigger": "points(surface_node, point_number, attribute)",
- "contents": "points(${1:surface_node}, ${2:point_number}, ${3:attribute})"
- },
- {
- "trigger": "pointsmap(surface_node, attribute, index)",
- "contents": "pointsmap(${1:surface_node}, ${2:attribute}, ${3:index})"
- },
{
"trigger": "pointsnummap(surface_node, attribute)",
"contents": "pointsnummap(${1:surface_node}, ${2:attribute})"
},
- {
- "trigger": "popcontextgeo(index)",
- "contents": "popcontextgeo(${1:index})"
- },
{
"trigger": "popevent(event_name)",
"contents": "popevent(${1:event_name})"
@@ -1089,14 +717,6 @@
"trigger": "poppointnum(particle_id)",
"contents": "poppointnum(${1:particle_id})"
},
- {
- "trigger": "poppoints(point_number, attribute)",
- "contents": "poppoints(${1:point_number}, ${2:attribute})"
- },
- {
- "trigger": "poppointsid(particle_id, attribute)",
- "contents": "poppointsid(${1:particle_id}, ${2:attribute})"
- },
{
"trigger": "pow(base, exponent)",
"contents": "pow(${1:base}, ${2:exponent})"
@@ -1121,30 +741,6 @@
"trigger": "primduv(surface_node, prim_num, attrib_name, attrib_index, u, v, du, dv)",
"contents": "primduv(${1:surface_node}, ${2:prim_num}, ${3:attrib_name}, ${4:attrib_index}, ${5:u}, ${6:v}, ${7:du}, ${8:dv})"
},
- {
- "trigger": "primgrouplist(surface_node)",
- "contents": "primgrouplist(${1:surface_node})"
- },
- {
- "trigger": "primgroupmask(surface_node, pattern)",
- "contents": "primgroupmask(${1:surface_node}, ${2:pattern})"
- },
- {
- "trigger": "primlist(surface_node, group_name)",
- "contents": "primlist(${1:surface_node}, ${2:group_name})"
- },
- {
- "trigger": "primneighbours(surface_node, prim_num, num_shared_pts)",
- "contents": "primneighbours(${1:surface_node}, ${2:prim_num}, ${3:num_shared_pts})"
- },
- {
- "trigger": "prims(surface_node, primitive_number, attribute)",
- "contents": "prims(${1:surface_node}, ${2:primitive_number}, ${3:attribute})"
- },
- {
- "trigger": "primsmap(surface_node, attribute, index)",
- "contents": "primsmap(${1:surface_node}, ${2:attribute}, ${3:index})"
- },
{
"trigger": "primsnummap(surface_node, attribute)",
"contents": "primsnummap(${1:surface_node}, ${2:attribute})"
@@ -1165,18 +761,6 @@
"trigger": "propertyf(foo, bar, baz)",
"contents": "propertyf(${1:foo}, ${2:bar}, ${3:baz})"
},
- {
- "trigger": "propertys(foo, bar)",
- "contents": "propertys(${1:foo}, ${2:bar})"
- },
- {
- "trigger": "propertysop(foo, bar)",
- "contents": "propertysop(${1:foo}, ${2:bar})"
- },
- {
- "trigger": "propertysraw(foo, bar)",
- "contents": "propertysraw(${1:foo}, ${2:bar})"
- },
{
"trigger": "propertyt(foo, bar, baz)",
"contents": "propertyt(${1:foo}, ${2:bar}, ${3:baz})"
@@ -1189,18 +773,10 @@
"trigger": "pythonexprf(expression)",
"contents": "pythonexprf(${1:expression})"
},
- {
- "trigger": "pythonexprs(expression)",
- "contents": "pythonexprs(${1:expression})"
- },
{
"trigger": "qlinear()",
"contents": "qlinear()"
},
- {
- "trigger": "quattomatrix(q)",
- "contents": "quattomatrix(${1:q})"
- },
{
"trigger": "quintic()",
"contents": "quintic()"
@@ -1241,34 +817,10 @@
"trigger": "rint(number)",
"contents": "rint(${1:number})"
},
- {
- "trigger": "rotate(angle, axis)",
- "contents": "rotate(${1:angle}, ${2:axis})"
- },
- {
- "trigger": "rotaxis(angle, axisv)",
- "contents": "rotaxis(${1:angle}, ${2:axisv})"
- },
{
"trigger": "round(number)",
"contents": "round(${1:number})"
},
- {
- "trigger": "run(command)",
- "contents": "run(${1:command})"
- },
- {
- "trigger": "runb(command)",
- "contents": "runb(${1:command})"
- },
- {
- "trigger": "rune(command)",
- "contents": "rune(${1:command})"
- },
- {
- "trigger": "scale(sx, sy, sz)",
- "contents": "scale(${1:sx}, ${2:sy}, ${3:sz})"
- },
{
"trigger": "seqanim(compositing_node)",
"contents": "seqanim(${1:compositing_node})"
@@ -1285,10 +837,6 @@
"trigger": "seqstart(compositing_node)",
"contents": "seqstart(${1:compositing_node})"
},
- {
- "trigger": "shopstring(shop_path, render_type)",
- "contents": "shopstring(${1:shop_path}, ${2:render_type})"
- },
{
"trigger": "sign(value)",
"contents": "sign(${1:value})"
@@ -1325,10 +873,6 @@
"trigger": "stamp(scope, token, value)",
"contents": "stamp(${1:scope}, ${2:token}, ${3:value})"
},
- {
- "trigger": "stamps(stamp_op_path, token, value)",
- "contents": "stamps(${1:stamp_op_path}, ${2:token}, ${3:value})"
- },
{
"trigger": "strcasecmp(s1, s2)",
"contents": "strcasecmp(${1:s1}, ${2:s2})"
@@ -1337,22 +881,10 @@
"trigger": "strcasematch(pattern, s)",
"contents": "strcasematch(${1:pattern}, ${2:s})"
},
- {
- "trigger": "strcat(s1, s2)",
- "contents": "strcat(${1:s1}, ${2:s2})"
- },
{
"trigger": "strcmp(s1, s2)",
"contents": "strcmp(${1:s1}, ${2:s2})"
},
- {
- "trigger": "strdup(count, s2)",
- "contents": "strdup(${1:count}, ${2:s2})"
- },
- {
- "trigger": "stripmatrix(mat)",
- "contents": "stripmatrix(${1:mat})"
- },
{
"trigger": "strlen(s)",
"contents": "strlen(${1:s})"
@@ -1361,34 +893,18 @@
"trigger": "strmatch(pattern, s)",
"contents": "strmatch(${1:pattern}, ${2:s})"
},
- {
- "trigger": "strreplace(s, old, new)",
- "contents": "strreplace(${1:s}, ${2:old}, ${3:new})"
- },
{
"trigger": "sturb(X, Y, Z, depth)",
"contents": "sturb(${1:X}, ${2:Y}, ${3:Z}, ${4:depth})"
},
- {
- "trigger": "substr(s, start, length)",
- "contents": "substr(${1:s}, ${2:start}, ${3:length})"
- },
{
"trigger": "surflen(surface_node, prim_num, ustart, vstart, ustop, vstop)",
"contents": "surflen(${1:surface_node}, ${2:prim_num}, ${3:ustart}, ${4:vstart}, ${5:ustop}, ${6:vstop})"
},
- {
- "trigger": "system(command_string)",
- "contents": "system(${1:command_string})"
- },
{
"trigger": "systemES(command_string)",
"contents": "systemES(${1:command_string})"
},
- {
- "trigger": "systemRAW(command_string)",
- "contents": "systemRAW(${1:command_string})"
- },
{
"trigger": "tan(number)",
"contents": "tan(${1:number})"
@@ -1406,36 +922,16 @@
"contents": "texni(${1:diskfile}, ${2:U}, ${3:V}, ${4:color_type})"
},
{
- "trigger": "tolower(s)",
- "contents": "tolower(${1:s})"
+ "trigger": "trunc(number)",
+ "contents": "trunc(${1:number})"
},
{
- "trigger": "toupper(s)",
- "contents": "toupper(${1:s})"
+ "trigger": "turb(X, Y, Z, depth)",
+ "contents": "turb(${1:X}, ${2:Y}, ${3:Z}, ${4:depth})"
},
{
- "trigger": "translate(tx, ty, tz)",
- "contents": "translate(${1:tx}, ${2:ty}, ${3:tz})"
- },
- {
- "trigger": "transpose(mat)",
- "contents": "transpose(${1:mat})"
- },
- {
- "trigger": "trunc(number)",
- "contents": "trunc(${1:number})"
- },
- {
- "trigger": "turb(X, Y, Z, depth)",
- "contents": "turb(${1:X}, ${2:Y}, ${3:Z}, ${4:depth})"
- },
- {
- "trigger": "uniqueval(surface_node, class, attribute, index)",
- "contents": "uniqueval(${1:surface_node}, ${2:class}, ${3:attribute}, ${4:index})"
- },
- {
- "trigger": "uniquevals(surface_node, class, attribute, index)",
- "contents": "uniquevals(${1:surface_node}, ${2:class}, ${3:attribute}, ${4:index})"
+ "trigger": "uniqueval(surface_node, class, attribute, index)",
+ "contents": "uniqueval(${1:surface_node}, ${2:class}, ${3:attribute}, ${4:index})"
},
{
"trigger": "unituv(surface_node, prim_num, uv_real, D_U|D_V)",
@@ -1449,18 +945,6 @@
"trigger": "vangle(v0, v1)",
"contents": "vangle(${1:v0}, ${2:v1})"
},
- {
- "trigger": "vector(pattern)",
- "contents": "vector(${1:pattern})"
- },
- {
- "trigger": "vector3(x, y, z)",
- "contents": "vector3(${1:x}, ${2:y}, ${3:z})"
- },
- {
- "trigger": "vector4(x, y, z, w)",
- "contents": "vector4(${1:x}, ${2:y}, ${3:z}, ${4:w})"
- },
{
"trigger": "vertex(surface_node, primitive_number, vertex_number, attribute, index)",
"contents": "vertex(${1:surface_node}, ${2:primitive_number}, ${3:vertex_number}, ${4:attribute}, ${5:index})"
@@ -1473,14 +957,6 @@
"trigger": "vertexattribtype(surface_node, attribute)",
"contents": "vertexattribtype(${1:surface_node}, ${2:attribute})"
},
- {
- "trigger": "vertexs(surface_node, primitive_number, vertex_number, attribute)",
- "contents": "vertexs(${1:surface_node}, ${2:primitive_number}, ${3:vertex_number}, ${4:attribute})"
- },
- {
- "trigger": "vertexsmap(surface_node, attribute, index)",
- "contents": "vertexsmap(${1:surface_node}, ${2:attribute}, ${3:index})"
- },
{
"trigger": "vertexsnummap(surface_node, attribute)",
"contents": "vertexsnummap(${1:surface_node}, ${2:attribute})"
@@ -1546,40 +1022,600 @@
"contents": "volumevoxeldiameter(${1:surface_node}, ${2:prim_id})"
},
{
- "trigger": "vorigin(obj1, obj2)",
- "contents": "vorigin(${1:obj1}, ${2:obj2})"
+ "trigger": "vsize(vec)",
+ "contents": "vsize(${1:vec})"
},
{
- "trigger": "vpname(viewer, viewport_quadrant_number)",
- "contents": "vpname(${1:viewer}, ${2:viewport_quadrant_number})"
+ "trigger": "wrap(value, minimum, maximum)",
+ "contents": "wrap(${1:value}, ${2:minimum}, ${3:maximum})"
},
{
- "trigger": "vrorigin(obj1, obj2)",
- "contents": "vrorigin(${1:obj1}, ${2:obj2})"
+ "trigger": "xyzdist(x, y, z, surface_node, prim_num, return_type)",
+ "contents": "xyzdist(${1:x}, ${2:y}, ${3:z}, ${4:surface_node}, ${5:prim_num}, ${6:return_type})"
},
{
- "trigger": "vscale(vec, scale)",
- "contents": "vscale(${1:vec}, ${2:scale})"
+ "trigger": "dihedral(v0, v1)",
+ "contents": "dihedral(${1:v0}, ${2:v1})"
},
{
- "trigger": "vset(size, value)",
- "contents": "vset(${1:size}, ${2:value})"
+ "trigger": "doptransform(dop, objectSpec, subDataName)",
+ "contents": "doptransform(${1:dop}, ${2:objectSpec}, ${3:subDataName})"
},
{
- "trigger": "vsize(vec)",
- "contents": "vsize(${1:vec})"
+ "trigger": "identity(size)",
+ "contents": "identity(${1:size})"
},
{
- "trigger": "vtorigin(obj1, obj2)",
- "contents": "vtorigin(${1:obj1}, ${2:obj2})"
+ "trigger": "invert(mat)",
+ "contents": "invert(${1:mat})"
},
{
- "trigger": "wrap(value, minimum, maximum)",
- "contents": "wrap(${1:value}, ${2:minimum}, ${3:maximum})"
+ "trigger": "matrix(pattern)",
+ "contents": "matrix(${1:pattern})"
},
{
- "trigger": "xyzdist(x, y, z, surface_node, prim_num, return_type)",
- "contents": "xyzdist(${1:x}, ${2:y}, ${3:z}, ${4:surface_node}, ${5:prim_num}, ${6:return_type})"
+ "trigger": "mlookat(v1, v2)",
+ "contents": "mlookat(${1:v1}, ${2:v2})"
+ },
+ {
+ "trigger": "mlookatup(v1, v2, upv)",
+ "contents": "mlookatup(${1:v1}, ${2:v2}, ${3:upv})"
+ },
+ {
+ "trigger": "mobjlookat(base_node, target_node, upv)",
+ "contents": "mobjlookat(${1:base_node}, ${2:target_node}, ${3:upv})"
+ },
+ {
+ "trigger": "morient(zaxis, yaxis)",
+ "contents": "morient(${1:zaxis}, ${2:yaxis})"
+ },
+ {
+ "trigger": "mzero(mat)",
+ "contents": "mzero(${1:mat})"
+ },
+ {
+ "trigger": "objpretransform(object_name)",
+ "contents": "objpretransform(${1:object_name})"
+ },
+ {
+ "trigger": "optransform(object_name)",
+ "contents": "optransform(${1:object_name})"
+ },
+ {
+ "trigger": "quattomatrix(q)",
+ "contents": "quattomatrix(${1:q})"
+ },
+ {
+ "trigger": "rotate(angle, axis)",
+ "contents": "rotate(${1:angle}, ${2:axis})"
+ },
+ {
+ "trigger": "rotaxis(angle, axisv)",
+ "contents": "rotaxis(${1:angle}, ${2:axisv})"
+ },
+ {
+ "trigger": "scale(sx, sy, sz)",
+ "contents": "scale(${1:sx}, ${2:sy}, ${3:sz})"
+ },
+ {
+ "trigger": "translate(tx, ty, tz)",
+ "contents": "translate(${1:tx}, ${2:ty}, ${3:tz})"
+ },
+ {
+ "trigger": "transpose(mat)",
+ "contents": "transpose(${1:mat})"
+ },
+ {
+ "trigger": "arg(line, argNum)",
+ "contents": "arg(${1:line}, ${2:argNum})"
+ },
+ {
+ "trigger": "chgroup(group_name)",
+ "contents": "chgroup(${1:group_name})"
+ },
+ {
+ "trigger": "chopnames(CHOP)",
+ "contents": "chopnames(${1:CHOP})"
+ },
+ {
+ "trigger": "chopstr(channel)",
+ "contents": "chopstr(${1:channel})"
+ },
+ {
+ "trigger": "chs(channel)",
+ "contents": "chs(${1:channel})"
+ },
+ {
+ "trigger": "chsop(path)",
+ "contents": "chsop(${1:path})"
+ },
+ {
+ "trigger": "chsoplist(path)",
+ "contents": "chsoplist(${1:path})"
+ },
+ {
+ "trigger": "chsraw(channel)",
+ "contents": "chsraw(${1:channel})"
+ },
+ {
+ "trigger": "contextoptions(token)",
+ "contents": "contextoptions(${1:token})"
+ },
+ {
+ "trigger": "cophasmeta(compositing_node, metadata_name)",
+ "contents": "cophasmeta(${1:compositing_node}, ${2:metadata_name})"
+ },
+ {
+ "trigger": "copmetas(compositing_node, metadata_name)",
+ "contents": "copmetas(${1:compositing_node}, ${2:metadata_name})"
+ },
+ {
+ "trigger": "details(surface_node, attribute)",
+ "contents": "details(${1:surface_node}, ${2:attribute})"
+ },
+ {
+ "trigger": "detailsmap(surface_node, attribute, index)",
+ "contents": "detailsmap(${1:surface_node}, ${2:attribute}, ${3:index})"
+ },
+ {
+ "trigger": "dopallfields(dop, objectSpec, subDataName, recordType)",
+ "contents": "dopallfields(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:recordType})"
+ },
+ {
+ "trigger": "dopcontextgeo(name, index)",
+ "contents": "dopcontextgeo(${1:name}, ${2:index})"
+ },
+ {
+ "trigger": "dopfieldname(dop, objectSpec, subDataName, recordType, fieldNum)",
+ "contents": "dopfieldname(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:recordType}, ${5:fieldNum})"
+ },
+ {
+ "trigger": "dopfields(dop, objectSpec, subDataName, recordType, recordNum, fieldName)",
+ "contents": "dopfields(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:recordType}, ${5:recordNum}, ${6:fieldName})"
+ },
+ {
+ "trigger": "dopfieldtype(dop, objectSpec, subDataName, recordType, fieldNum)",
+ "contents": "dopfieldtype(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:recordType}, ${5:fieldNum})"
+ },
+ {
+ "trigger": "dopgrouplist(dop)",
+ "contents": "dopgrouplist(${1:dop})"
+ },
+ {
+ "trigger": "dopnodeobjs(dop)",
+ "contents": "dopnodeobjs(${1:dop})"
+ },
+ {
+ "trigger": "dopobjectlist(dop, objectSpec, listNames)",
+ "contents": "dopobjectlist(${1:dop}, ${2:objectSpec}, ${3:listNames})"
+ },
+ {
+ "trigger": "dopobjscreatedby(dop)",
+ "contents": "dopobjscreatedby(${1:dop})"
+ },
+ {
+ "trigger": "dopoptions(dop, objectSpec, subDataName, fieldName)",
+ "contents": "dopoptions(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:fieldName})"
+ },
+ {
+ "trigger": "doprecordtypename(dop, objectSpec, subDataName, recordTypeNum)",
+ "contents": "doprecordtypename(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:recordTypeNum})"
+ },
+ {
+ "trigger": "dopsolvedopnet()",
+ "contents": "dopsolvedopnet()"
+ },
+ {
+ "trigger": "dopsubdataname(dop, objectSpec, subDataName, subDataNum)",
+ "contents": "dopsubdataname(${1:dop}, ${2:objectSpec}, ${3:subDataName}, ${4:subDataNum})"
+ },
+ {
+ "trigger": "edgegrouplist(surface_node)",
+ "contents": "edgegrouplist(${1:surface_node})"
+ },
+ {
+ "trigger": "edgegroupmask(surface_node, pattern)",
+ "contents": "edgegroupmask(${1:surface_node}, ${2:pattern})"
+ },
+ {
+ "trigger": "evals(expression)",
+ "contents": "evals(${1:expression})"
+ },
+ {
+ "trigger": "execute(command)",
+ "contents": "execute(${1:command})"
+ },
+ {
+ "trigger": "executeb(command)",
+ "contents": "executeb(${1:command})"
+ },
+ {
+ "trigger": "executee(command)",
+ "contents": "executee(${1:command})"
+ },
+ {
+ "trigger": "findfile(filename)",
+ "contents": "findfile(${1:filename})"
+ },
+ {
+ "trigger": "findfiles(filename, separator)",
+ "contents": "findfiles(${1:filename}, ${2:separator})"
+ },
+ {
+ "trigger": "ftoa(number)",
+ "contents": "ftoa(${1:number})"
+ },
+ {
+ "trigger": "groupbyval(surface_node, class, attribute, id)",
+ "contents": "groupbyval(${1:surface_node}, ${2:class}, ${3:attribute}, ${4:id})"
+ },
+ {
+ "trigger": "groupbyvals(surface_node, class, attribute, id)",
+ "contents": "groupbyvals(${1:surface_node}, ${2:class}, ${3:attribute}, ${4:id})"
+ },
+ {
+ "trigger": "ifs(expression, true_value, false_value)",
+ "contents": "ifs(${1:expression}, ${2:true_value}, ${3:false_value})"
+ },
+ {
+ "trigger": "inttohex(value)",
+ "contents": "inttohex(${1:value})"
+ },
+ {
+ "trigger": "iprquerys(query, pane, x, y)",
+ "contents": "iprquerys(${1:query}, ${2:pane}, ${3:x}, ${4:y})"
+ },
+ {
+ "trigger": "listbyval(surface_node, class, attribute, id)",
+ "contents": "listbyval(${1:surface_node}, ${2:class}, ${3:attribute}, ${4:id})"
+ },
+ {
+ "trigger": "listbyvals(surface_node, class, attribute, id)",
+ "contents": "listbyvals(${1:surface_node}, ${2:class}, ${3:attribute}, ${4:id})"
+ },
+ {
+ "trigger": "lopinputprim(lop_path, input_index)",
+ "contents": "lopinputprim(${1:lop_path}, ${2:input_index})"
+ },
+ {
+ "trigger": "lopinputprims(lop_path, input_index)",
+ "contents": "lopinputprims(${1:lop_path}, ${2:input_index})"
+ },
+ {
+ "trigger": "loplastmodifiedprim(lop_path)",
+ "contents": "loplastmodifiedprim(${1:lop_path})"
+ },
+ {
+ "trigger": "loplastmodifiedprims(lop_path)",
+ "contents": "loplastmodifiedprims(${1:lop_path})"
+ },
+ {
+ "trigger": "mousepane()",
+ "contents": "mousepane()"
+ },
+ {
+ "trigger": "mousepath()",
+ "contents": "mousepath()"
+ },
+ {
+ "trigger": "objkinoverride()",
+ "contents": "objkinoverride()"
+ },
+ {
+ "trigger": "objlightmask(geometry, options)",
+ "contents": "objlightmask(${1:geometry}, ${2:options})"
+ },
+ {
+ "trigger": "opblist(bundle_name)",
+ "contents": "opblist(${1:bundle_name})"
+ },
+ {
+ "trigger": "opcreator(name)",
+ "contents": "opcreator(${1:name})"
+ },
+ {
+ "trigger": "opflag(network, flag)",
+ "contents": "opflag(${1:network}, ${2:flag})"
+ },
+ {
+ "trigger": "opfullpath(relpath)",
+ "contents": "opfullpath(${1:relpath})"
+ },
+ {
+ "trigger": "opfullpathfrom(node, basenode)",
+ "contents": "opfullpathfrom(${1:node}, ${2:basenode})"
+ },
+ {
+ "trigger": "opinput(name, index)",
+ "contents": "opinput(${1:name}, ${2:index})"
+ },
+ {
+ "trigger": "opinputpath(name, index)",
+ "contents": "opinputpath(${1:name}, ${2:index})"
+ },
+ {
+ "trigger": "oplightmask(geometry)",
+ "contents": "oplightmask(${1:geometry})"
+ },
+ {
+ "trigger": "oplistsort(path)",
+ "contents": "oplistsort(${1:path})"
+ },
+ {
+ "trigger": "opname(name)",
+ "contents": "opname(${1:name})"
+ },
+ {
+ "trigger": "opoutput(name, index)",
+ "contents": "opoutput(${1:name}, ${2:index})"
+ },
+ {
+ "trigger": "opoutputpath(name, index)",
+ "contents": "opoutputpath(${1:name}, ${2:index})"
+ },
+ {
+ "trigger": "oppinput(name, index)",
+ "contents": "oppinput(${1:name}, ${2:index})"
+ },
+ {
+ "trigger": "oppwd()",
+ "contents": "oppwd()"
+ },
+ {
+ "trigger": "oppwf()",
+ "contents": "oppwf()"
+ },
+ {
+ "trigger": "oprelativepath(srcpath, destpath)",
+ "contents": "oprelativepath(${1:srcpath}, ${2:destpath})"
+ },
+ {
+ "trigger": "opselect(network)",
+ "contents": "opselect(${1:network})"
+ },
+ {
+ "trigger": "opselectpath(network)",
+ "contents": "opselectpath(${1:network})"
+ },
+ {
+ "trigger": "opselectrecurse(network, flag)",
+ "contents": "opselectrecurse(${1:network}, ${2:flag})"
+ },
+ {
+ "trigger": "opselectrecursepath(network, flag)",
+ "contents": "opselectrecursepath(${1:network}, ${2:flag})"
+ },
+ {
+ "trigger": "opstreamname(nodepath)",
+ "contents": "opstreamname(${1:nodepath})"
+ },
+ {
+ "trigger": "opsubpath(node)",
+ "contents": "opsubpath(${1:node})"
+ },
+ {
+ "trigger": "optype(name)",
+ "contents": "optype(${1:name})"
+ },
+ {
+ "trigger": "optypeinfo(name, pattern)",
+ "contents": "optypeinfo(${1:name}, ${2:pattern})"
+ },
+ {
+ "trigger": "padzero(size, value)",
+ "contents": "padzero(${1:size}, ${2:value})"
+ },
+ {
+ "trigger": "pluralize(s)",
+ "contents": "pluralize(${1:s})"
+ },
+ {
+ "trigger": "pointgrouplist(surface_node)",
+ "contents": "pointgrouplist(${1:surface_node})"
+ },
+ {
+ "trigger": "pointgroupmask(surface_node, pattern)",
+ "contents": "pointgroupmask(${1:surface_node}, ${2:pattern})"
+ },
+ {
+ "trigger": "pointlist(surface_node, group_name)",
+ "contents": "pointlist(${1:surface_node}, ${2:group_name})"
+ },
+ {
+ "trigger": "pointneighbours(surface_node, point_num, num_shared_prims)",
+ "contents": "pointneighbours(${1:surface_node}, ${2:point_num}, ${3:num_shared_prims})"
+ },
+ {
+ "trigger": "pointpattern(surface_node, pattern)",
+ "contents": "pointpattern(${1:surface_node}, ${2:pattern})"
+ },
+ {
+ "trigger": "points(surface_node, point_number, attribute)",
+ "contents": "points(${1:surface_node}, ${2:point_number}, ${3:attribute})"
+ },
+ {
+ "trigger": "pointsmap(surface_node, attribute, index)",
+ "contents": "pointsmap(${1:surface_node}, ${2:attribute}, ${3:index})"
+ },
+ {
+ "trigger": "popcontextgeo(index)",
+ "contents": "popcontextgeo(${1:index})"
+ },
+ {
+ "trigger": "poppoints(point_number, attribute)",
+ "contents": "poppoints(${1:point_number}, ${2:attribute})"
+ },
+ {
+ "trigger": "poppointsid(particle_id, attribute)",
+ "contents": "poppointsid(${1:particle_id}, ${2:attribute})"
+ },
+ {
+ "trigger": "primgrouplist(surface_node)",
+ "contents": "primgrouplist(${1:surface_node})"
+ },
+ {
+ "trigger": "primgroupmask(surface_node, pattern)",
+ "contents": "primgroupmask(${1:surface_node}, ${2:pattern})"
+ },
+ {
+ "trigger": "primlist(surface_node, group_name)",
+ "contents": "primlist(${1:surface_node}, ${2:group_name})"
+ },
+ {
+ "trigger": "primneighbours(surface_node, prim_num, num_shared_pts)",
+ "contents": "primneighbours(${1:surface_node}, ${2:prim_num}, ${3:num_shared_pts})"
+ },
+ {
+ "trigger": "prims(surface_node, primitive_number, attribute)",
+ "contents": "prims(${1:surface_node}, ${2:primitive_number}, ${3:attribute})"
+ },
+ {
+ "trigger": "primsmap(surface_node, attribute, index)",
+ "contents": "primsmap(${1:surface_node}, ${2:attribute}, ${3:index})"
+ },
+ {
+ "trigger": "propertys(foo, bar)",
+ "contents": "propertys(${1:foo}, ${2:bar})"
+ },
+ {
+ "trigger": "propertysop(foo, bar)",
+ "contents": "propertysop(${1:foo}, ${2:bar})"
+ },
+ {
+ "trigger": "propertysraw(foo, bar)",
+ "contents": "propertysraw(${1:foo}, ${2:bar})"
+ },
+ {
+ "trigger": "pythonexprs(expression)",
+ "contents": "pythonexprs(${1:expression})"
+ },
+ {
+ "trigger": "run(command)",
+ "contents": "run(${1:command})"
+ },
+ {
+ "trigger": "runb(command)",
+ "contents": "runb(${1:command})"
+ },
+ {
+ "trigger": "rune(command)",
+ "contents": "rune(${1:command})"
+ },
+ {
+ "trigger": "shopstring(shop_path, render_type)",
+ "contents": "shopstring(${1:shop_path}, ${2:render_type})"
+ },
+ {
+ "trigger": "stamps(stamp_op_path, token, value)",
+ "contents": "stamps(${1:stamp_op_path}, ${2:token}, ${3:value})"
+ },
+ {
+ "trigger": "strcat(s1, s2)",
+ "contents": "strcat(${1:s1}, ${2:s2})"
+ },
+ {
+ "trigger": "strdup(count, s2)",
+ "contents": "strdup(${1:count}, ${2:s2})"
+ },
+ {
+ "trigger": "stripmatrix(mat)",
+ "contents": "stripmatrix(${1:mat})"
+ },
+ {
+ "trigger": "strreplace(s, old, new)",
+ "contents": "strreplace(${1:s}, ${2:old}, ${3:new})"
+ },
+ {
+ "trigger": "substr(s, start, length)",
+ "contents": "substr(${1:s}, ${2:start}, ${3:length})"
+ },
+ {
+ "trigger": "system(command_string)",
+ "contents": "system(${1:command_string})"
+ },
+ {
+ "trigger": "systemRAW(command_string)",
+ "contents": "systemRAW(${1:command_string})"
+ },
+ {
+ "trigger": "tolower(s)",
+ "contents": "tolower(${1:s})"
+ },
+ {
+ "trigger": "toupper(s)",
+ "contents": "toupper(${1:s})"
+ },
+ {
+ "trigger": "uniquevals(surface_node, class, attribute, index)",
+ "contents": "uniquevals(${1:surface_node}, ${2:class}, ${3:attribute}, ${4:index})"
+ },
+ {
+ "trigger": "vertexs(surface_node, primitive_number, vertex_number, attribute)",
+ "contents": "vertexs(${1:surface_node}, ${2:primitive_number}, ${3:vertex_number}, ${4:attribute})"
+ },
+ {
+ "trigger": "vertexsmap(surface_node, attribute, index)",
+ "contents": "vertexsmap(${1:surface_node}, ${2:attribute}, ${3:index})"
+ },
+ {
+ "trigger": "vpname(viewer, viewport_quadrant_number)",
+ "contents": "vpname(${1:viewer}, ${2:viewport_quadrant_number})"
+ },
+ {
+ "trigger": "angvel(rot1, rot2, time)",
+ "contents": "angvel(${1:rot1}, ${2:rot2}, ${3:time})"
+ },
+ {
+ "trigger": "cross(v1, v2)",
+ "contents": "cross(${1:v1}, ${2:v2})"
+ },
+ {
+ "trigger": "dopvelatpos(dop, objectSpec, posx, posy, posz, usevolumevelocity, usepointvelocity)",
+ "contents": "dopvelatpos(${1:dop}, ${2:objectSpec}, ${3:posx}, ${4:posy}, ${5:posz}, ${6:usevolumevelocity}, ${7:usepointvelocity})"
+ },
+ {
+ "trigger": "matrixtoquat(m)",
+ "contents": "matrixtoquat(${1:m})"
+ },
+ {
+ "trigger": "normalize(v)",
+ "contents": "normalize(${1:v})"
+ },
+ {
+ "trigger": "objlookat(base_node, target_node, upv)",
+ "contents": "objlookat(${1:base_node}, ${2:target_node}, ${3:upv})"
+ },
+ {
+ "trigger": "vector(pattern)",
+ "contents": "vector(${1:pattern})"
+ },
+ {
+ "trigger": "vector3(x, y, z)",
+ "contents": "vector3(${1:x}, ${2:y}, ${3:z})"
+ },
+ {
+ "trigger": "vector4(x, y, z, w)",
+ "contents": "vector4(${1:x}, ${2:y}, ${3:z}, ${4:w})"
+ },
+ {
+ "trigger": "vorigin(obj1, obj2)",
+ "contents": "vorigin(${1:obj1}, ${2:obj2})"
+ },
+ {
+ "trigger": "vrorigin(obj1, obj2)",
+ "contents": "vrorigin(${1:obj1}, ${2:obj2})"
+ },
+ {
+ "trigger": "vscale(vec, scale)",
+ "contents": "vscale(${1:vec}, ${2:scale})"
+ },
+ {
+ "trigger": "vset(size, value)",
+ "contents": "vset(${1:size}, ${2:value})"
+ },
+ {
+ "trigger": "vtorigin(obj1, obj2)",
+ "contents": "vtorigin(${1:obj1}, ${2:obj2})"
}
]
}
\ No newline at end of file
diff --git a/syntax/HScript.sublime-syntax b/syntax/HScript.sublime-syntax
index facb76e..f54b450 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|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|chopr|chops|chopstr|chopt|chramp|chrampf|chrampt|chs|chsop|chsoplist|chsraw|cht|clamp|clamptosphere|constant|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|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|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|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|popcontextgeo|popevent|popeventtime|poppoint|poppointid|poppointnum|poppoints|poppointsid|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|repeat|repeatt|res|rgb|rindex|rint|rotate|rotaxis|round|run|runb|rune|scale|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|appendseq|atjob|audiopanel|autosave|bonealigncapture|boneconvert|bonefixchops|bonemoveend|bookmark|bundlelist|chadd|chalias|chaneditor|chanlist|chautoscope|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|imgview|imgview2d|imgviewhist|imgviewls|imgviewtime|imgviewtool|iprview|java|job|linker|listchooser|loadaudio|loadseq|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|rkill|ropview|rps|seqls|set|setcomp|setenv|setplane|shelfdock|shift|shoppromote|shopthumb|shopvisible|sopcache|sopcreateedit|source|stampdirty|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|visualizeradd|visualizerset|vopforcecompile|vopwritevfl'
+ 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|popcontextgeo|popevent|popeventtime|poppoint|poppointid|poppointnum|poppoints|poppointsid|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'
contexts:
main: