OBJECT.DOC

advertisement
Command Name:
object
Description:
("object").
Defines the attributes of a GENESIS element type
Usage:
object name datatype function class [class] ...
-actions names
-messages name type case-num arg-names
-readwrite field-name field-desc [default-value]
-readonly field-name field-desc [default-value]
-hidden field-name field-desc [default-value]
-fields names
-defaults args
-description text
-author text
name
object name (must be unique)
datatype
name of the object data structure defining
object fields (must be the same name as that
used in the structure definition;
see example_struct.h)
function
default object function (must be the same name
used for the function in the code definition;
see example.c)
class
class to which this object belongs; can be
one or more of existing classes
(see listclasses)
-actions
flag indicating that following arguments are
actions that the object can perform; action
names must correspond to predefined or newly
added actions (see addaction); actions listed
must be consistent with actions defined in
code definition (see SELECT_ACTION in
example.c)
-messages
flag indicating that following arguments are
messages for object, in the following order:
1. name of message (any string), as can be
used by 'addmsg' routine
2. case number of message type, must
correspond to value defined in code
definition (see MSGLOOP of example.c)
If omitted, one will be automatically
generated.
3. number of arguments to message
4. names of arguments (arbitrary, used for
documentation purposes, but there MUST be
as many names as there are arguments
defined in 3)
-readwrite
-readonly
-hidden
make field-name both readable and setable
make field-name readable, but not setable
hide field-name from view by showfield
The remaining fields are added for the purpose of documenting
the object and are optional.
Example:
channel \
object
nernst
nernst_type Nernst
device
-author
-actions
-messages
"M.Wilson Caltech 3/89" \
PROCESS RESET CHECK \
CIN 0
1 Cin \
COUT 1
1 Cout \
TEMP 2
1 T \
-fields
"E = equilibrium potential" \
"T = temperature in degrees celsius" \
"valency = ionic valency z" \
"scale = voltage scale factor" \
-description \
"Calculates Nernst potential for the given" \
"ionic concentrations and temperature." \
"E = scale*(RT/zF)*ln(Cout/Cin)" \
"A scale factor of 1 gives E in volts." \
"A scale factor of 1e3 gives E in millivolts."
Notes:
The object command is used to define the attributes of a
GENESIS object. An object command is executed for each type
of GENESIS element and defines the function associated with
that element, the actions which are valid to perform on the
element, any special GENESIS environment variables tagged to
the element, any messages which can be passed to or from the
element, and a brief description of that element.
This initialization command is used when compiling new
GENESIS libraries, and is not recognized by the SLI when
GENESIS is running.
See also:
listobjects, addaction, newclass, showobject
Download