我创建了一条有几个点的曲线。现在我想根据其中一个属性(will_be_removed)删除一些点。
如上图所示,那些i@will_be_removed
设置为 1 的点将被删除。
我尝试使用下面的 VEX 代码,但它表示类型的下标无效:int.will_be_removed
if(@ptnum.will_be_removed == 1)
{
removepoint(0, @ptnum);
}
如何正确引用这些点?
此代码中的错误
if(@ptnum.will_be_removed == 1)
{
removepoint(0, @ptnum);
}
是因为@ptnum
是VEX 类型 int。@ptnum
也可以写成i@ptnum
明确指示它的类型,但由于它是一个众所周知的属性(请参阅链接中的文档),您也可以将其简写为@ptnum
.
int
类型是数字,不包含其他数据的集合。
关于属性,您还需要记住它们是顶点、点、图元还是细节属性。
属性优先级
当同一几何中的两个组件具有同名属性时,使用几何“较低级别”上的属性,因此:
顶点属性,覆盖:
点属性,覆盖:
覆盖以下内容的原始属性:
细节(整个几何)属性
或者一个班轮牧马人将是
if (@will_be_deleted == 1) removepoint(0, @ptnum);
我想我想出了一个办法。使用@will_be_removed 代替@ptnum.will_be_removed:
if(@will_be_removed == 1)
{
removepoint(0, @ptnum);
}