15.3.3.8 补丁对象属性

patch 对象的属性(请参阅 patch):

类别:

回调执行 | 颜色与透明度 | 坐标数据 | 创建/删除 | 显示 | 图例选项 | 光照 | 标记外观 | 鼠标交互 | 对象标识 | 轮廓外观 | 父级/子级

回调执行

busyaction: "cancel" | {"queue"}

定义 Octave 在无法中断另一个对象的回调执行时,如何处理此对象的回调属性。仅当当前正在执行的回调对象的 interruptible 属性设置为 "off" 时才生效。中断回调对象的 busyaction 属性指示该中断回调是被排队("queue",默认值)还是被丢弃("cancel")。 请参阅 回调章节

interruptible: "off" | {"on"}

指定此对象的回调函数是否可被其他回调中断。默认情况下,interruptible"on",使用 drawnowfigurewaitforgetframepause 函数的回调最终会被中断。 请参阅 回调章节

颜色与透明度

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

补丁对象的透明度功能尚未实现。alphadatamapping 未使用。

cdata: scalar | matrix | array, def. [](0x0)

定义补丁对象颜色的数据,相对于其 x/y/z 坐标数据。补丁颜色可以使用当前色图的索引来定义,也可以定义为 RGB 三元组(RGB 颜色沿第三维度定义)。这些颜色可以分别为整个补丁对象、单个面或单个顶点定义,具体取决于 "cdata" 的形状,如下所示:

如果 "cdata" 是当前色图的标量索引或 1×1×3 的 RGB 三元组,则定义所有面和边的颜色。

如果补丁对象有 N 个面,且 "cdata" 是色图索引的 1×N 向量或 1×N×3 的 RGB 数组,则定义每个面的颜色。

如果补丁对象有 N 个面,每个面有 M 个顶点,且 cdata 是色图索引的 M×N 矩阵或 M×N×3 的 RGB 数组,则定义每个顶点的颜色。("cdata" 的形状应与 "xdata""ydata""zdata" 相匹配。)

cdatamapping: "direct" | {"scaled"}

设置将 "cdata""cdata" 属性中的数据映射到当前色图的方法。"Direct"(直接)映射使用 "cdata""facevertexcdata" 值作为当前色图的索引来选择颜色。"Scaled"(缩放)映射将 "cdata""facevertexcdata" 值缩放到 "clim" 坐标轴属性 指定的范围内。

facealpha: scalar | "flat" | "interp", def. 1

补丁对象面的透明度级别。目前仅支持双精度浮点数值,其中值 0 表示完全透明,值 1 表示不透明的实心面。将该属性设置为 "flat""interp" 会导致面不被渲染。此外,面没有按从后到前的顺序排序,这可能会导致渲染分层透明面时出现意外结果。

facecolor: {colorspec} | "none" | "flat" | "interp", def. [0 0 0]

补丁对象面的颜色,指定为有效的颜色规格或 "none""flat""interp" 之一。"flat""interp" 将为每个面设置单一颜色,或使用存储在 "cdata""facevertexcdata" 属性中的颜色值数据,在面的顶点之间插值颜色。请参阅 colorspec

facelighting: {"flat"} | "gouraud" | "none" | "phong"

当设置为除 "none" 以外的值时,对象的面会绘制光照和阴影效果。支持的值为 "none"(无光照效果)、"flat"(多面外观)和 "gouraud"(顶点之间光照效果的线性插值)。"phong" 已弃用,其效果与 "gouraud" 相同。

facevertexalphadata: def. [](0x0)

补丁对象的面-顶点透明度控制尚未实现。facevertexalphadata 未使用。

facevertexcdata: scalar | matrix, def. [](0x0)

定义补丁对象颜色的数据,相对于其面-顶点数据。补丁颜色可以使用当前色图的索引来定义,也可以定义为 RGB 三元组,其中 RGB 颜色定义在 "facevertexcdata" 的行中。这些颜色可以分别为整个补丁对象、单个面或单个顶点定义,具体取决于 "facevertexcdata" 的形状,如下所示:

如果 facevertexcdata 是当前色图的标量索引或 1×3 的 RGB 三元组,则定义所有面和边的颜色。

如果补丁对象有 N 个面,且 facevertexcdata 是索引的 N×1 列向量或 N×3 的 RGB 矩阵,则定义 N 个面中每个面的颜色。

如果补丁对象有 M 个顶点,且 facevertexcdata 是索引的 M×1 列向量或 M×3 的 RGB 矩阵,则定义每个顶点的颜色。

坐标数据

faces: vector | matrix, def. [1 2 3]

补丁面的连接列表,存储为 M×N 矩阵,其中 M 个面中的每个面由一行(最多 N 个顶点)定义,每个元素包含存储在 vertices 属性 中的顶点的行索引。顶点数少于 N 的面使用 NaN 值填充空的行元素。

vertices: vector | matrix, def. 3-by-2 double

补丁顶点列表,存储为 N×3 矩阵,每行包含顶点的 x、y 和 z 坐标,与 faces 属性 配合使用以定义补丁结构。

xdata: vector | matrix, def. [0; 1; 0]

补丁顶点的 x 坐标。

ydata: vector | matrix, def. [1; 1; 0]

补丁顶点的 y 坐标。

zdata: vector | matrix, def. [](0x0)

补丁顶点的 z 坐标。

创建/删除

beingdeleted: {"off"} | "on"

指示某个函数已启动删除此对象的属性。beingdeleted 设置为 true,直到对象不再存在为止。

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

补丁创建后立即执行的回调函数。通过在根对象上设置默认属性来指定函数,例如 set (groot, "defaultpatchcreatefcn", 'disp ("patch created!")')

有关如何编写图形监听器函数的信息,请参阅 回调章节

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

补丁被删除前立即执行的回调函数。

有关如何编写图形监听器函数的信息,请参阅 回调章节

显示

clipping: "off" | {"on"}

如果 clipping"on",则在父坐标轴范围内裁剪补丁。

visible: "off" | {"on"}

如果 visible"off",则补丁不在屏幕上渲染。

图例选项

displayname: def. ""

与此补丁对应的图例项的文本。

光照

ambientstrength: scalar, def. 0.3000

环境光的强度。取值在 0.0 到 1.0 之间。

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

"lit":法线按原样用于光照计算。"reverselit":法线始终朝向视点方向。"unlit":法线背离视点的面不发光。

diffusestrength: scalar, def. 0.6000

漫反射的强度。取值在 0.0(无漫反射)到 1.0(完全漫反射)之间。

facenormals: def. [](0x0)

edgelightingfacelighting 属性设置为 "flat" 时,面法线用于对边或面进行光照。设置 facenormals 也会强制将 facenormalsmode 属性设置为 "manual"

facenormalsmode: {"auto"} | "manual"

如果此属性设置为 "auto",且 edgelightingfacelighting 属性设置为 "flat",同时同一坐标轴中存在并可见至少一个 light 对象时,facenormals 会被自动计算。

specularcolorreflectance: scalar, def. 1

镜面高光颜色的反射率。取值在 0.0(使用底层面的颜色)到 1.0(使用光源的颜色)之间。

specularexponent: scalar, def. 10

镜面反射的指数。该值越低,反射越分散(越柔和)。

specularstrength: scalar, def. 0.9000

镜面反射的强度。取值在 0.0(无镜面反射)到 1.0(完全镜面反射)之间。

vertexnormals: def. [](0x0)

edgelightingfacelighting 属性设置为 "gouraud" 时,顶点法线用于对边或面进行光照。设置 vertexnormals 也会强制将 vertexnormalsmode 属性设置为 "manual"

vertexnormalsmode: {"auto"} | "manual"

如果此属性设置为 "auto",且 edgelightingfacelighting 属性设置为 "gouraud",同时同一坐标轴中存在并可见至少一个 light 对象时,vertexnormals 会被自动计算。

标记外观

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

请参阅 线条标记属性

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

请参阅 线条标记边颜色属性

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

请参阅 线条标记面颜色属性

markersize: scalar, def. 6

请参阅 线条标记大小属性

鼠标交互

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

有关如何编写图形监听器函数的信息,请参阅 回调章节

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

当前与此补丁对象关联的 uicontextmenu 对象的图形句柄。

hittest: "off" | {"on"}

指定补丁是处理鼠标事件还是将事件传递给其祖先对象。启用后,对象可以通过执行 "buttondownfcn"、显示 uicontextmenu 以及成为根对象的 "currentobject" 来响应鼠标点击。仅当对象可以接受鼠标点击时此属性才相关,这由 "pickableparts" 属性决定。请参阅 pickableparts 属性

pickableparts: "all" | "none" | {"visible"}

指定补丁是否接受鼠标点击。默认情况下,pickableparts"visible",只有补丁的可见部分或其子对象可能对鼠标点击做出反应。当 pickableparts"all" 时,可见和不可见部分(或子对象)都可能对鼠标点击做出反应。当 pickableparts"none" 时,对象上的鼠标点击将被忽略并传递给该对象下方的任何对象。当对象配置为接受鼠标点击时,"hittest" 属性将决定如何处理它们。请参阅 hittest 属性

selected: {"off"} | "on"

指示此补丁是否被选中的属性。

selectionhighlight: "off" | {"on"}

如果 selectionhighlight"on",则补丁的选中状态会以视觉方式高亮显示。

对象标识

tag: string, def. ""

用于标记图形对象的用户定义字符串。

type (read-only): string

图形对象的类名。type 始终为 "patch"

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

要与图形对象关联的用户定义数据。

轮廓外观

edgealpha: scalar | matrix, def. 1

补丁对象的透明度功能尚未实现。edgealpha 未使用。

edgecolor: colorspec | "none" | "flat" | "interp", def. [0 0 0]

补丁对象边缘的颜色,指定为有效的颜色规格或 "none""flat""interp" 之一。"flat""interp" 将为每条边设置单一颜色,或使用存储在 "cdata" 中的颜色值数据,在边的顶点之间插值颜色。请参阅 colorspec

edgelighting: "flat" | "gouraud" | {"none"} | "phong"

当设置为除 "none" 以外的值时,对象边缘会绘制光照和阴影效果。支持的值为 "none"(无光照效果)、"flat"(多面外观)和 "gouraud"(顶点之间光照效果的线性插值)。"phong" 已弃用,其效果与 "gouraud" 相同。

linestyle: {"-"} | "--" | "-." | ":" | "none"

请参阅 线条样式

linewidth: scalar, def. 0.5000

请参阅 线条线宽属性

父级/子级

children (read-only): vector of graphics handles, def. [](0x0)

补丁对象的子对象尚未实现。children 未使用。

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

如果 handlevisibility"off",则补丁的句柄在其父对象的 "children" 属性中不可见。

parent: graphics handle

父图形对象的句柄。


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2