Clazz.declarePackage("JS");
Clazz.load(["JU.V3"], "JS.PolyhedronStereoSorter", null, function(){
var c$ = Clazz.decorateAsClass(function(){
this.vTemp = null;
this.vRef = null;
this.align1 = null;
this.align2 = null;
Clazz.instantialize(this, arguments);}, JS, "PolyhedronStereoSorter", null, java.util.Comparator);
Clazz.prepareFields (c$, function(){
this.vTemp =  new JU.V3();
this.align1 =  new JU.V3();
this.align2 =  new JU.V3();
});
Clazz.makeConstructor(c$, 
function(){
});
Clazz.defineMethod(c$, "setRef", 
function(vRef){
this.vRef = vRef;
}, "JU.V3");
Clazz.overrideMethod(c$, "compare", 
function(a, b){
var torA = (a[1]).floatValue();
var torB = (b[1]).floatValue();
if (Math.abs(torA - torB) < 1) {
torA = 0;
this.vTemp.sub2(b[2], a[2]);
torB = this.vRef.dot(this.vTemp);
}return (torA < torB ? -1 : torA > torB ? 1 : 0);
}, "~A,~A");
Clazz.defineMethod(c$, "isAligned", 
function(pt1, pt2, pt3){
this.align1.sub2(pt1, pt2);
this.align2.sub2(pt2, pt3);
var angle = this.align1.angle(this.align2);
return (angle < 0.0);
}, "JU.T3,JU.T3,JU.T3");
});
;//5.0.1-v2 Tue Jul 23 17:25:20 CDT 2024
