Cell Class

From TouchDesigner 099 Wiki

The Cell Class describes the contents of a single cell from a DAT operator table.

The DAT Class offers many ways of accessing its individual cells.

DAT cells are always internally stored as strings, but may be accessed as numeric values.


Members

valid (Read Only) True if the referenced cell currently exists, False if it has been deleted.
row (Read Only) The numeric row of the cell.
col (Read Only) The numeric column of the cell.
owner (Read Only) The OP to which this object belongs.
val Get or set the cell contents, which are always stored as a string value.


Methods

run(endFrame=False, fromOP=None, , group=None, delayFrames=0, delayMilliSeconds=0, delayRef=me, arg1, arg2...)Run

Run the contents of the cell as a script, returning a Run object which can be used to optionally modify its execution.
  • endFrame - (Keyword, Optional) If set to True, the execution will be delayed until the end of the current frame.
  • fromOP - (Keyword, Optional) Specifies an optional operator from which the execution will be run relative to.
  • group - (Keyword, Optional) Can be used to specify a group label string. This label can then be used with the td.runs object to modify its execution.
  • delayFrames - (Keyword, Optional) Can be used to delay the execution a specific amount of frames.
  • delayMilliSeconds - (Keyword, Optional) Can be used to delay the execution a specific amount of milliseconds. This value is rounded to the nearest frame.
  • delayRef - (Keyword, Optional) Specifies an optional operator from which the delay time is derived.
  • arg - (Optional) Arguments that will be made available to the script in a local tuple named args.


offset(r, c)Cell or None

The cell offset to this cell by the specified amount, or None.
  • r - The number of rows from the cell. Positive values count down, while negative values count up.
  • c - The number of columns from the cell. Positive values count right, while negative values count left.
   c = op('table1')['March', 'Sales']
   d = c.offset(-1, 2)  # one row up, two columns right of cell C

Casting to a Value

The Cell Class implements all necessary methods to be treated as a number or a string, which in this case gets or sets its value. Therefore, an explicit call to get or set val is unnecessary when used in a parameter, or in an expression.

For example, the following are equivalent in a numeric parameter:

  • (float)n[1,2]
  • n[1,2].val
  • n[1,2]

Or equivalently, for a string parameter:

  • (str)n[1,2]
  • n[1,2].val
  • n[1,2]


Similarly, expressions on Cells will autocast themselves automatically:

  • n[1,2].val + 1 # string plus 1, error
  • n[1,2] + 1 # autocasted value plus 1

In the second case, the contents of the Cell are used to determine if numeric or string operations should be used.

For example, if cell n[1,2] contains "3" then:

  • n[1,2].val + n[1,2].val will return "33" since .val is a string.

However,

  • n[1,2] + n[1,2] will return 6 since the contents "3" are numeric.

If n[1,2] contained a non-numeric value such as "a" then

  • n[1,2] + n[1,2] will return "aa"

Miscellaneous

__getstate__()dict

Returns a dictionary with persistent data about the object suitable for pickling and deep copies.

__setstate__(dict)

Reads the dictionary to update persistent details about the object, suitable for unpickling and deep copies.