contextCompare 函数(上下文查询)

语法

  • float contextCompare(target, label, comparisonType)

参数

  1. target - selector
    • intra - 针对同一形状树中的标注形状(即来自同一初始形状)进行检查。
    • inter - 针对其他形状树中的标注形状(即由邻域中的其他初始形状生成)进行检查。
    • all - 检查 intrainter
  2. label - string
    仅对与请求的 label 匹配的形状执行上下文查询。 不得为空。 如果 label 为空,将返回 0。
  3. comparisonType - selector
    • world.northernmost - 从最北端开始按形状的最北端边界对形状进行分级
    • world.southernmost - 从最南端开始按形状的最南端边界对形状进行分级。
    • world.easternmost - 从最东端开始按形状的最东端边界对形状进行分级。
    • world.westernmost - 从最西端开始按形状的最西端边界对形状进行分级。
    • world.highest - 从最高处开始按形状的最高边界对形状进行分级。
    • world.lowest - 从最低处开始按形状的最低边界对形状进行分级。
    • area.largest - 从最大面积开始按形状面积对形状进行分级。
    • area.smallest - 从最小面积开始按形状面积对形状进行分级。

返回

当前形状在与给定 label 匹配的所有形状中的等级。 将相对于给定 comparisonType 选择器执行比较。 等级从 0 开始,即第一个位置的等级为 0。 如果多个形状的比较值相等,将返回可能的最低等级。 如果未找到与指定 label 匹配的形状,将返回 0。

描述

contextCompare 函数是一个上下文查询,用于返回根据特定比较器当前形状在其他标注形状几何中的等级。

注:

  • 了解有关条件和内部上下文中上下文查询的重要特性的详细信息。
  • 每个 label 操作不会 "label" 当前形状,但是会创建单独计数一个等级位置的新标注形状。

相关内容

示例

在此示例中,将地块规则应用于一组初始形状(相互上下文)。 会将每个地块拉伸随机值并使用 "label" 进行标注。 最高几何的颜色为红色。 在第二个 Case 语句中,所有几何共享最低等级,因此其余几何的颜色为绿色。

Lot --> extrude(rand(10)) label("label") Color

Color -->
  case contextCompare(inter, "label", 
                      world.highest) == 0 :
        color(1,0,0)
  case contextCompare(inter, "label", 
                      world.lowest) == 0 :
        color(0,1,0)
  else :
        color(0,0,1)
已应用 contextCompare 的地块规则