# Class: l3dlayerid

l3dlayerid used to assign l3dnodes directly, get it from l3dset. Only needed for manual assign. You can manually multipass render a single layer using the opcode commandstring.

## Hierarchy

    o-+ l3dlist
      o-+ l3dlayerid

## Interfaces:

- stencilcommand

## Methods:

### Method overview:

- codestring
- disabled
- disabledframefx
- usecodes

codestring (l3dlayerid,[l3dview],[boolean])
  returns: ([boolean])

  returns or sets if layer's draw codestring. This specially formated string allows multipass rendering of a layer and detailed operations on its sorting as well as renderflag forces and ignores. Be aware that the l3dview's renderflags will be ignored, as well as the regular sorting behavior.
  A list of all opcodes:

  /* main codes */

  END = 0, /*is done with commands*/

  DRAW = ';', /*performs draw*/

  SORTKEY_BTF = 'Z', /*changes sortvalues to distance to camera (btf)*/

  SORTKEY_FTB = 'z', /*changes sortvalues to distance to camera (ftb)*/

  ALLOW_PROJ = 'P', /*allow projectors*/

  IGNORE_PROJ = 'p', /*disallow projectors*/

  SORT = '#', /*sorting by sortkeys*/

  /* renderflags */

  RF_CLEARFORCE = 'R',

  RF_CLEARIGNORE = 'r',

  RF_FORCE_FRONTCULL = 'F',

  RF_IGNORE_FRONTCULL = 'f',

  RF_FORCE_NOVERTEXCOLOR = 'V',

  RF_IGNORE_NOVERTEXCOLOR = 'v',

  RF_FORCE_NOCULL = 'U',

  RF_IGNORE_NOCULL = 'u',

  RF_FORCE_NODEPTHTEST = 'D',

  RF_IGNORE_NODEPTHTEST = 'd',

  RF_FORCE_NODEPTHMASK = 'M',

  RF_IGNORE_NODEPTHMASK = 'm',

  RF_FORCE_FOG = 'G',

  RF_IGNORE_FOG = 'g',

  RF_FORCE_NOCOLORMASK = 'C',

  RF_IGNORE_NOCOLORMASK = 'c',

  RF_FORCE_LIT = 'L',

  RF_IGNORE_LIT = 'l',

  RF_FORCE_FXLIT = 'X',

  RF_IGNORE_FXLIT = 'x',

  RF_FORCE_SUNLIT = 'O',

  RF_IGNORE_SUNLIT = 'o',

  RF_FORCE_STENCILMASK = 'K',

  RF_IGNORE_STENCILMASK = 'k',

  RF_FORCE_STENCILTEST = 'T',

  RF_IGNORE_STENCILTEST = 't',

  /*stencil commands*/

  STENCILMASKPOS = '/', /*stencil disabled mask value, 1 arg: hex*/

  STENCILMASKNEG = '%', /*stencil enabled mask value, 1 arg: hex*/

  STENCILFUNC = '$', /*stencils func, 4 args: 2 stencilcode(front,back) + 2 hex*/

  STENCILOP = '&', /*stencilopfront, 4 args: 1 char('0'=front,'1'=back) 3 stencilcode*/

  /*stencilcodes*/

  /*stencilop,stencilfunc*/

  S_KEEP_ALWAYS = ':',

  S_INCR_GEQUAL = '+',

  S_DECR_LEQUAL = '-',

  S_ZERO_NEVER = '0',

  S_REPLACE_EQUAL = '=',

  S_INVERT_NOTEQUAL = '!',

  /*stencilop*/

  S_GREATER = '>',

  S_LESS = '<'
disabled (l3dlayerid,[boolean])
  returns: ([boolean])
  returns or sets if layer should be disabled (not drawn)
disabledframefx (l3dlayerid,[boolean])
  returns: ([boolean])
  returns or sets if layer's framefx should be disabled (not drawn)
usecodes (l3dlayerid,[l3dview],[boolean])
  returns: ([boolean])
  returns or sets if layer drawing should be handled using the codestring. If no l3dview is given, defaultview is used.

## Inherited Methods:

### From l3dlist

reinit