Dart中的Vector3 subVector错误

时间:2014-06-22 15:38:42

标签: dart vectormath

当我尝试在Dart(使用three.dart和vector_math)上使用SubVectors属性时出现以下错误。

  

没有为“Vector3”类

定义'subVector'方法
for(var x=0;x<width-1;x++){
          for(var y=0;y<height-1;y++){
              Vector3 vec0; Vector3 vec1;  Vector3 n_vec;
              // one of two triangle polygons in one rectangle
              vec0.subVectors(geometry.vertices[offset(x,y)],geometry.vertices[offset(x+1,y)]);
              vec1.subVectors(geometry.vertices[offset(x,y)],geometry.vertices[offset(x,y+1)]); 

1 个答案:

答案 0 :(得分:2)

vector_math包在subVectors类上没有Vector3方法。您可以通过将第一个值写入vec0然后减去另一个值来归档相同的内容:

vec0.setFrom(geometry.vertices[offset(x,y)]);
vec0.sub(geometry.vertices[offset(x+1,y)]);
vec1.setFrom(geometry.vertices[offset(x,y)]); 
vec1.sub(geometry.vertices[offset(x,y+1)]); 

这需要vec0vec1已使用Vector3实例进行初始化。 作为替代方案,您可以使用减号运算符来减去这两个值,但这会创建一个新实例:

vec0 = geometry.vertices[offset(x,y)] - geometry.vertices[offset(x+1,y)];
vec1 = geometry.vertices[offset(x,y)] - geometry.vertices[offset(x,y+1)];

您可以查看当前的vector_math文档here