next up previous contents index
Next: Xic Version Up: Control Functions Previous: Technology File   Contents   Index

Variables

Set(name, string)
The Set function allows variable name to be set to string as with the !set keyboard operation in Xic. Some variables, such as the search paths, directly affect Xic operation. The Set function can also set arbitrary variables, which may be useful to the script programmer. To set a variable, both arguments should be strings. If the second argument is the constant zero (0 or NULL, not "0") or a null (not empty) string, the variable will be unset if set. As with !set, forms like $(name) are expanded. If name matches the name of a previously set variable, that variable's value string replaces the form. Otherwise, if name matches an environment variable, the environment variable text replaces the form.

Unset(name)
This function will unset the variable. No action is taken if the variable is not already set. This is equivalent to Set(name, 0).

(string) SetExpand(string, use_env)
This function returns a copy of string which expands variable references in the form $(word) in string. The word is expected to be a variable previously set with the Set function or !set command. The value of the variable replaces the reference in the returned string. If the integer use_env is nonzero, variables found in the environment will also be substituted. If word is not resolved, no change is made. Otherwise, in general, the token is replaced with the value of word.

There is an exception to the direct-substitution rule. If any substitution string is of the form ``(...)'', then the parentheses and leading/trailing white space are stripped before substitution, and the entire substituted string is enclosed in parentheses if it is not already. This is for convenience when adding a directory to a search path (see 1.2.4) variable, and the path is enclosed in parentheses. See the !set command description in 14.19 for more information.

(string) Get(name)
The Get function returns a string containing the value of name, which has been previously set with the Set function, or otherwise from within Xic. A null string is returned if the named variable has not been set.

JoinLimits(flag)
This is a convenience function to set/unset the variables which control the polygon joining process, i.e., JoinMaxPolyVerts, JoinMaxPolyQueue, and JoinMaxPolyGroup. If the argument is zero, each of these variables is set to zero, removing all limits. If the argument is nonzero, the variables are unset, meaning that the default limits will be applied. The default limits generally speed processing, but will often leave unjoined joinable pieces when complex polygons are constructed. The status of the variables will persist after the script terminates. This function has no return value.


next up previous contents index
Next: Xic Version Up: Control Functions Previous: Technology File   Contents   Index
Stephen R. Whiteley 2006-10-23