Sha256: a9a3a26d843cbc1c9e22bef52f84915a09b6394bbaf49ac8558fa95b6027fb41

Contents?: true

Size: 1.99 KB

Versions: 5

Compression:

Stored size: 1.99 KB

Contents

o: ActiveSupport::Cache::Entry	:@compressedF:@expires_in0:@created_atf1361724133.791871:@value"�{I"
class:EFI"ProcessedAsset;FI"logical_path;FI""Core/pointInsideTriangle2D.js;TI"
pathname;FI"S/Users/bogumil/www/cesium/app/assets/javascripts/Core/pointInsideTriangle2D.js;TI"content_type;FI"application/javascript;FI"
mtime;FI"2013-02-24T17:09:01+01:00;FI"length;FipI"digest;F"%422e29b0375adde4037229fecaf1ffb5I"source;FI"p/*global define*/

define(['./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 (!point || !p0 || !p1 || !p2) {
            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"dependency_digest;F"%4f7dbf0ecaa0e8ba29c86da20e5ca140I"required_paths;F[I"S/Users/bogumil/www/cesium/app/assets/javascripts/Core/pointInsideTriangle2D.js;TI"dependency_paths;F[{I"	path;FI"S/Users/bogumil/www/cesium/app/assets/javascripts/Core/pointInsideTriangle2D.js;TI"
mtime;FI"2013-02-24T17:09:01+01:00;FI"digest;F"%ceb6995264fc7ee5d0d05ff279fe2e58I"
_version;F"%6776f581a4329e299531e1d52aa59832

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
cesium-0.24.0 test/dummy/tmp/cache/assets/CA1/C20/sprockets%2F006b40b7d25595a752dcb29085e1326a
cesium-0.23.0 test/dummy/tmp/cache/assets/CA1/C20/sprockets%2F006b40b7d25595a752dcb29085e1326a
cesium-0.22.0 test/dummy/tmp/cache/assets/CA1/C20/sprockets%2F006b40b7d25595a752dcb29085e1326a
cesium-0.14.0 test/dummy/tmp/cache/assets/CA1/C20/sprockets%2F006b40b7d25595a752dcb29085e1326a
cesium-0.13.2 test/dummy/tmp/cache/assets/CA1/C20/sprockets%2F006b40b7d25595a752dcb29085e1326a