我正在查看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