Sha256: 88bed54f47220d2eead028835e3d48a21b7d05f3aec0b8569a67886f79cbdc8a
Contents?: true
Size: 1.78 KB
Versions: 3
Compression:
Stored size: 1.78 KB
Contents
o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1372212333.7498398:@value"�{I" class:EFI"BundledAsset;FI"logical_path;FI""Core/pointInsideTriangle2D.js;TI" pathname;FI"[/Users/bogumil/www/engines/cesium/app/assets/javascripts/Core/pointInsideTriangle2D.js;TI"content_type;FI"application/javascript;FI" mtime;FI"2013-06-26T04:04:58+02:00;FI"length;Fi�I"digest;F"%766439cedd040dc04896220c0e3bdf2aI"source;FI"�/*global define*/ define(['Core/DeveloperError'], function(DeveloperError) { "use strict"; /** * DOC_TBA * * @param point * @param p0 * @param p1 * @param p2 * * @exports pointInsideTriangle2D * * @exception {DeveloperError} point, p0, p1, and p2 are required. */ var pointInsideTriangle2D = function(point, p0, p1, p2) { if (typeof point === 'undefined' || typeof p0 === 'undefined' || typeof p1 === 'undefined' || typeof p2 === 'undefined') { throw new DeveloperError('point, p0, p1, and p2 are required.'); } // Implementation based on http://www.blackpawn.com/texts/pointinpoly/default.html. var v0 = p1.subtract(p0); var v1 = p2.subtract(p0); var v2 = point.subtract(p0); var dot00 = v0.dot(v0); var dot01 = v0.dot(v1); var dot02 = v0.dot(v2); var dot11 = v1.dot(v1); var dot12 = v1.dot(v2); var q = 1.0 / (dot00 * dot11 - dot01 * dot01); var u = (dot11 * dot02 - dot01 * dot12) * q; var v = (dot00 * dot12 - dot01 * dot02) * q; return (u > 0) && (v > 0) && (u + v < 1); }; return pointInsideTriangle2D; }); ;FI"required_assets_digest;F"%c545090b7142eb9564f51e3ee1b18ecfI" _version;F"%6776f581a4329e299531e1d52aa59832
Version data entries
3 entries across 3 versions & 1 rubygems