Widget / Test Average Path

Test averaging a path

by chilipeppr

HTML

<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<script src="http://www.chilipeppr.com/js/require.js"></script>
<div id="com-chilipeppr-widget-eagle" class="panel panel-default">
    
</div>

CSS

#com-chilipeppr-widget-eagle {
    width: 200px;
}
.com-chilipeppr-widget-eagle-info {
    padding-bottom:0;
    margin-bottom:0;
    font-size:10px;
    position:absolute;
    width:200px;
}
.com-chilipeppr-widget-eagle-info-signal {
    padding-bottom:0;
    margin-bottom:0;
    font-size:10px;
    position:absolute;
    width:200px;
}
#com-chilipeppr-widget-eagle #eagle-canvas {
    width:100%;
}
#com-chilipeppr-widget-eagle .nav-tabs>li>a {
    padding: 2px 6px;
}
#com-chilipeppr-widget-eagle .tab-pane {
    padding:10px 16px 20px 16px;
    overflow:auto;
    max-height:240px;
}
#com-chilipeppr-widget-eagle .panel-body {
    padding:3px;
}
.com-chilipeppr-widget-lasersolder-stat div.input-label {
    line-height:13px;
    padding-top:6px;
}
.com-chilipeppr-widget-lasersolder-stat .input-val {
    padding:0;
    padding-left: 10px;
    height:28px;
    margin-bottom:2px;
}
.com-chilipeppr-widget-lasersolder-stat .col {
    padding:0 10px 0 0;
}
.com-chilipeppr-widget-lasersolder-stat .col:last-child {
    padding:0;
}
.com-chilipeppr-widget-lasersolder-stat .progress {
    margin-bottom:0;
}
.com-chilipeppr-widget-lasersolder-stat .stat-row {
    padding-top:2px;
}
#com-chilipeppr-widget-eagle .com-chilipeppr-widget-lasersolder-stat div.col.lblpad {
    padding-left:10px;
}
.com-chilipeppr-widget-lasersolder-stat .stat-unit {
    font-size:9px;
    /* display:none; */
}
.com-chilipeppr-widget-lasersolder-stat div.col.well {
    margin-bottom:0px;
    padding-left:5px;
}
.com-chilipeppr-widget-lasersolder-stat .stat-sm {
    font-size:10px;
}
#com-chilipeppr-widget-eagle .panel-footer {
    font-size:11px;
    padding:0;
    margin:0;
}
#com-chilipeppr-widget-lasersolder-status {
    //overflow: auto;
    //max-height:30px;
    background:none;
    background-color:#f5f5f5;
    border:none;
}
#com-chilipeppr-widget-eagle .col-xs-3 {
    padding:0;
    margin:0;
}
#com-chilipeppr-widget-eagle .progress-bar span {
    color: black;
   ...

JavaScript

requirejs.config({
    paths: {
        Three: 'http://mrdoob.github.io/three.js/build/three.min',
        ThreeHelvetiker: 'http://chilipeppr.com/js/three/threehelvetiker',
        ThreeFontUtils: 'https://raw.githubusercontent.com/mrdoob/three.js/master/src/extras/FontUtils',
        Clipper: 'http://jsclipper.sourceforge.net/6.1.3.2/clipper_unminified',
    },
    shim: {}
});

// Test this element. This code is auto-removed by the chilipeppr.load()
cprequire_test(["inline:com-chilipeppr-widget-eagle"], function (ew) {
    console.log("test running of " + ew.id);
    //ew.init();

    $('#com-chilipeppr-widget-eagle').css('position', 'relative');
    $('#com-chilipeppr-widget-eagle').css('background', 'none');
    $('body').prepend('<div id="3dviewer"></div>');

    chilipeppr.load("#3dviewer", "http://fiddle.jshell.net/chilipeppr/y3HRF/show/light/", function () {
        cprequire(['inline:com-chilipeppr-widget-3dviewer'], function (threed) {
            threed.init({
                doMyOwnDragDrop: false
            });
            
            ew.init();
        });
    });


} /*end_test*/ );

cpdefine("inline:com-chilipeppr-widget-eagle", ["chilipeppr_ready", "Clipper"], function () {
    return {
        id: "com-chilipeppr-widget-eagle",
        url: "http://fiddle.jshell.net/chilipeppr/tqa2wcat/show/light/",
        fiddleurl: "http://jsfiddle.net/chilipeppr/tqa2wcat/",
        name: "Widget / Test",
        desc: "Test averaging a path",
        publish: {},
        subscribe: {

        },
        foreignPublish: {},
        foreignSubscribe: {},
        init: function () {

            // init 3d for eagle widget
            this.init3d();

            console.log(this.name + " done loading.");
        },
        init3d: function () {
            this.get3dObj();
            if (this.obj3d == null) {
                console.log("loading 3d scene failed, try again in 1 second");
                var attempts = 1;
                var that = this;
    ...