#### 15.3.3.8 Surface Properties

The `surface` properties are:

`__modified__`: `"off"` | {`"on"`}
`alphadata`: scalar | matrix, def. `1`

  Transparency is not yet implemented for surface objects. `alphadata` is unused.

`alphadatamapping`: `"direct"` | `"none"` | {`"scaled"`}

  Transparency is not yet implemented for surface objects. `alphadatamapping` is unused.

`ambientstrength`: def. `0.30000`

  Light is not yet implemented for surface objects. `ambientstrength` is unused.

`backfacelighting`: `"lit"` | {`"reverselit"`} | `"unlit"`

  Light is not yet implemented for surface objects. `backfacelighting` is unused.

`beingdeleted`: {`"off"`} | `"on"`
`busyaction`: `"cancel"` | {`"queue"`}
`buttondownfcn`: string | function handle, def. `[](0x0)`
`cdata`: matrix, def. 3-by-3 double
`cdatamapping`: `"direct"` | {`"scaled"`}
`cdatasource`: def. `""`
`children` (read-only): vector of graphics handles, def. `[](0x1)`

  `children` is unused.

`clipping`: `"off"` | {`"on"`}

  If `clipping` is `"on"`, the surface is clipped in its parent axes limits.

`createfcn`: string | function handle, def. `[](0x0)`

  Callback function executed immediately after surface has been created. Function is set by using default property on root object, e.g., `set (0, "defaultsurfacecreatefcn", 'disp ("surface created!")')`.

`deletefcn`: string | function handle, def. `[](0x0)`

  Callback function executed immediately before surface is deleted.

`diffusestrength`: def. `0.60000`

  Light is not yet implemented for surface objects. `diffusestrength` is unused.

`displayname`: def. `""`

  Text for the legend entry corresponding to this surface.

`edgealpha`: scalar, def. `1`

  Transparency is not yet implemented for surface objects. `edgealpha` is unused.

`edgecolor`: def. `[0 0 0]`
`edgelighting`: `"flat"` | `"gouraud"` | {`"none"`} | `"phong"`

  Light is not yet implemented for surface objects. `edgelighting` is unused.

`erasemode`: `"background"` | `"none"` | {`"normal"`} | `"xor"`

  `erasemode` is unused.

`facealpha`: scalar | matrix, def. `1`

  Transparency is not yet implemented for surface objects. `facealpha` is unused.

`facecolor`: {`"flat"`} | `"interp"` | `"none"` | `"texturemap"`
`facelighting`: `"flat"` | `"gouraud"` | {`"none"`} | `"phong"`

  Light is not yet implemented for surface objects. `facelighting` is unused.

`handlevisibility`: `"callback"` | `"off"` | {`"on"`}

  If `handlevisibility` is `"off"`, the surface’s handle is not visible in its parent’s "children" property.

`hittest`: `"off"` | {`"on"`}
`interpreter`: `"latex"` | `"none"` | {`"tex"`}
`interruptible`: `"off"` | {`"on"`}
`linestyle`: {`"-"`} | `"--"` | `"-."` | `":"` | `"none"`

  See Line Styles.

`linewidth`: def. `0.50000`

  See line linewidth property.

`marker`: `"*"` | `"+"` | `"."` | `"<"` | `">"` | `"^"` | `"d"` | `"diamond"` | `"h"` | `"hexagram"` | {`"none"`} | `"o"` | `"p"` | `"pentagram"` | `"s"` | `"square"` | `"v"` | `"x"`

  See Marker Styles.

`markeredgecolor`: {`"auto"`} | `"flat"` | `"none"`

  See line markeredgecolor property.

`markerfacecolor`: `"auto"` | `"flat"` | {`"none"`}

  See line markerfacecolor property.

`markersize`: scalar, def. `6`

  See line markersize property.

`meshstyle`: {`"both"`} | `"column"` | `"row"`
`normalmode`: {`"auto"`} | `"manual"`
`parent`: graphics handle

  Handle of the parent graphics object.

`selected`: {`"off"`} | `"on"`
`selectionhighlight`: `"off"` | {`"on"`}
`specularcolorreflectance`: def. `1`

  Light is not yet implemented for surface objects. `specularcolorreflectance` is unused.

`specularexponent`: def. `10`

  Light is not yet implemented for surface objects. `specularexponent` is unused.

`specularstrength`: def. `0.90000`

  Light is not yet implemented for surface objects. `specularstrength` is unused.

`tag`: string, def. `""`

  A user-defined string to label the graphics object.

`type` (read-only): string

  Class name of the graphics object. `type` is always `"surface"`

`uicontextmenu`: graphics handle, def. `[](0x0)`

  Graphics handle of the uicontextmenu object that is currently associated to this surface object.

`userdata`: Any Octave data, def. `[](0x0)`

  User-defined data to associate with the graphics object.

`vertexnormals`: def. 3-by-3-by-3 double
`visible`: `"off"` | {`"on"`}

  If `visible` is `"off"`, the surface is not rendered on screen.

`xdata`: matrix, def. `[1 2 3]`
`xdatasource`: def. `""`
`ydata`: matrix, def. `[1; 2; 3]`
`ydatasource`: def. `""`
`zdata`: matrix, def. 3-by-3 double
`zdatasource`: def. `""`