我正在查看as3delaunay library,大部分代码对我来说都很清楚。这部分是不是,但是(请注意,我把前面有箭头的线):Actionscript的这一行是做什么的?
public function circles():Vector.<Circle>
{
var circles:Vector.<Circle> = new Vector.<Circle>();
for each (var site:Site in _sites)
{
var radius:Number = 0;
var nearestEdge:Edge = site.nearestEdge();
=======>> !nearestEdge.isPartOfConvexHull() && (radius = nearestEdge.sitesDistance() * 0.5);
circles.push(new Circle(site.x, site.y, radius));
}
return circles;
}
仅供参考,isPartOfConvexHull()
在Edge.as
发现,看起来像这样:
internal function isPartOfConvexHull():Boolean
{
return (_leftVertex == null || _rightVertex == null);
}
是什么!nearestEdge.isPartOfConvexHull()
做?这是否意味着只有false
从呼叫返回isPartOfConvexHull()
才会执行radius = nearestEdge.sitesDistance() * 0.5
?这会停止执行任何其他代码吗?
我已经在编辑我的答案,以进一步解释:) – sch 2012-03-20 00:51:45
有一场围绕着改进SO答案的竞赛;) – AsTeR 2012-03-20 00:53:27
这就是我认为它做的 - 但语法混淆了我,我开始怀疑我的最初印象,并怀疑它以某种方式改变了Edge的参数值。感谢您的澄清! – Clay 2012-03-20 01:02:08