rem:   self[node.data.type(self) + 'Vertices'].append(new LinkedList.Node(node.data)); 
add: V = node.data.elements; W = node.next.data.elements; A = Vector.create([V[0] - P[0], V[1] - P[1], V[2] - (P[2] || 0)]); B = Vector.create([W[0] - P[0], W[1] - P[1], W[2] - (P[2] || 0)]); dt = A.angleFrom(B); if (dt === null || dt === 0) { return; } theta += (A.cross(B).isParallelTo(self.plane.normal) ? 1 : -1) * dt; if (theta >= 2 * Math.PI - Sylvester.precision) { loops++; theta -= 2 * Math.PI; } if (theta <= -2 * Math.PI + Sylvester.precision) { loops--; theta += 2 * Math.PI; } 
context:     this.vertices.each(function(node) {      // Split vertices into convex / reflex groups      // The LinkedList.Node class wraps each vertex so it can belong to many linked lists.      self[node.data.type(self) + 'Vertices'].append(new LinkedList.Node(node.data));    });
meta: 3877	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/3877/88af0516a961fea263ffc0d016435fdbb11d55cf/polygon.js/buggy/src/polygon.js