国产久_亚欧精品一区_久久亚洲美女_99精品在线观看_日韩成人三级_久久精品久久久久

顯示源代碼
移動(dòng)的車輛
 開發(fā)文檔
            <!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link  rel='stylesheet' />
    <script src='http://ua.bigemap.com:30081/bmsdk/bigemap-gl.js/v1.1.0/bigemap-gl.js'></script>
    <script src='./templates/bmgl-header.js'></script>

</head>
<style>
    * {
        margin: 0;
        padding: 0;
    }

    #container {
        position: absolute;
        top: 0;
        bottom: 0;
        width: 100%;
    }

    #toolbar {
        position: absolute;
        background: rgba(212, 212, 212, 0.8);
        padding: 4px;
        border-radius: 4px;
    }

    #toolbar input {
        vertical-align: middle;
        padding-top: 2px;
        padding-bottom: 2px;
    }

    #toolbar .header {
        font-weight: bold;
    }
</style>

<body>
    <div id="container"></div>
    <div id="loadingOverlay">
        <h1>Loading...</h1>
    </div>
    <div id="toolbar">
        <table>
            <tbody>
                <tr>
                    <td>煙霧速率</td>
                    <td>
                        <input type="range" min="0.0" max="100.0" step="1"
                            data-bind="value: emissionRate, valueUpdate: 'input'">
                        <input type="text" size="5" data-bind="value: emissionRate">
                    </td>
                </tr>

                <tr>
                    <td>煙霧尺寸大小</td>
                    <td>
                        <input type="range" min="2" max="60.0" step="1"
                            data-bind="value: particleSize, valueUpdate: 'input'">
                        <input type="text" size="5" data-bind="value: particleSize">
                    </td>
                </tr>

                <tr>
                    <td>最小存在時(shí)間</td>
                    <td>
                        <input type="range" min="0.1" max="30.0" step="1"
                            data-bind="value: minimumParticleLife, valueUpdate: 'input'">
                        <input type="text" size="5" data-bind="value: minimumParticleLife">
                    </td>
                </tr>

                <tr>
                    <td>最大存在時(shí)間</td>
                    <td>
                        <input type="range" min="0.1" max="30.0" step="1"
                            data-bind="value: maximumParticleLife, valueUpdate: 'input'">
                        <input type="text" size="5" data-bind="value: maximumParticleLife">
                    </td>
                </tr>

                <tr>
                    <td>最小速率</td>
                    <td>
                        <input type="range" min="0.0" max="30.0" step="1"
                            data-bind="value: minimumSpeed, valueUpdate: 'input'">
                        <input type="text" size="5" data-bind="value: minimumSpeed">
                    </td>
                </tr>

                <tr>
                    <td>最大速率</td>
                    <td>
                        <input type="range" min="0.0" max="30.0" step="1"
                            data-bind="value: maximumSpeed, valueUpdate: 'input'">
                        <input type="text" size="5" data-bind="value: maximumSpeed">
                    </td>
                </tr>

                <tr>
                    <td>開始的大小</td>
                    <td>
                        <input type="range" min="0.0" max="10.0" step="1"
                            data-bind="value: startScale, valueUpdate: 'input'">
                        <input type="text" size="5" data-bind="value: startScale">
                    </td>
                </tr>

                <tr>
                    <td>結(jié)束時(shí)的大小</td>
                    <td>
                        <input type="range" min="0.0" max="10.0" step="1"
                            data-bind="value: endScale, valueUpdate: 'input'">
                        <input type="text" size="5" data-bind="value: endScale">
                    </td>
                </tr>

                <tr>
                    <td>重力</td>
                    <td>
                        <input type="range" min="-20.0" max="20.0" step="1"
                            data-bind="value: gravity, valueUpdate: 'input'">
                        <input type="text" size="5" data-bind="value: gravity">
                    </td>
                </tr>
            </tbody>
        </table>
    </div>

</body>
<script>

    bmgl.Config.HTTP_URL = 'http://ua.bigemap.com:30081/bmsdk/';
    var viewer = new bmgl.Viewer('container', {
        timeline: true,
        fullscreenButton: true,
        mapId: 'bigemap.dc-tian-w-satellite',
    });
    bmgl.Math.setRandomNumberSeed(3);
    //添加時(shí)間控件
    //Set bounds of our simulation time
    var start = bmgl.JulianDate.fromDate(new Date(2015, 2, 25, 16));
    var stop = bmgl.JulianDate.addSeconds(
        start,
        120,
        new bmgl.JulianDate()
    );
    //Make sure viewer is at the desired time.
    viewer.clock.startTime = start.clone();
    viewer.clock.stopTime = stop.clone();
    viewer.clock.currentTime = start.clone();
    viewer.clock.clockRange = bmgl.ClockRange.LOOP_STOP; //Loop at the end
    viewer.clock.multiplier = 1;
    viewer.clock.shouldAnimate = true;

    //Set timeline to simulation bounds
    viewer.timeline.zoomTo(start, stop);

    //綁定數(shù)據(jù)  
    var viewModel = {
        emissionRate: 5.0,
        gravity: 0.0,
        minimumParticleLife: 1.2,
        maximumParticleLife: 1.2,
        minimumSpeed: 1.0,
        maximumSpeed: 4.0,
        startScale: 1.0,
        endScale: 5.0,
        particleSize: 25.0,
    };

    bmgl.knockout.track(viewModel);
    var toolbar = document.getElementById("toolbar");
    bmgl.knockout.applyBindings(viewModel, toolbar);

    var entityPosition = new bmgl.Cartesian3();
    var entityOrientation = new bmgl.Quaternion();
    var rotationMatrix = new bmgl.Matrix3();
    var modelMatrix = new bmgl.Matrix4();

    function computeModelMatrix(entity, time) {
        return entity.computeModelMatrix(time, new bmgl.Matrix4());
    }

    var emitterModelMatrix = new bmgl.Matrix4();
    var translation = new bmgl.Cartesian3();
    var rotation = new bmgl.Quaternion();
    var hpr = new bmgl.HeadingPitchRoll();
    var trs = new bmgl.TranslationRotationScale();

    function computeEmitterModelMatrix() {
        hpr = bmgl.HeadingPitchRoll.fromDegrees(0.0, 0.0, 0.0, hpr);
        trs.translation = bmgl.Cartesian3.fromElements(
            -4.0,
            0.0,
            1.4,
            translation
        );
        trs.rotation = bmgl.Quaternion.fromHeadingPitchRoll(hpr, rotation);

        return bmgl.Matrix4.fromTranslationRotationScale(
            trs,
            emitterModelMatrix
        );
    }

    var pos1 = bmgl.Cartesian3.fromDegrees(
        -75.15787310614596,
        39.97862668312678
    );
    var pos2 = bmgl.Cartesian3.fromDegrees(
        -75.1633691390455,
        39.95355089912078
    );
    var position = new bmgl.SampledPositionProperty();

    position.addSample(start, pos1);
    position.addSample(stop, pos2);

    var entity = viewer.entities.add({
        availability: new bmgl.TimeIntervalCollection([
            new bmgl.TimeInterval({
                start: start,
                stop: stop,
            }),
        ]),
        model: {
            uri: "/templates/glb/bmglMilkTruck.glb",
            minimumPixelSize: 64,
        },
        viewFrom: new bmgl.Cartesian3(-100.0, 0.0, 100.0),
        position: position,
        orientation: new bmgl.VelocityOrientationProperty(position),
    });
    viewer.trackedEntity = entity;

    var scene = viewer.scene;
    var particleSystem = scene.primitives.add(
        new bmgl.ParticleSystem({
            image: "/templates/img/smoke.png",

            startColor: bmgl.Color.LIGHTSEAGREEN.withAlpha(0.7),
            endColor: bmgl.Color.WHITE.withAlpha(0.0),

            startScale: viewModel.startScale,
            endScale: viewModel.endScale,

            minimumParticleLife: viewModel.minimumParticleLife,
            maximumParticleLife: viewModel.maximumParticleLife,

            minimumSpeed: viewModel.minimumSpeed,
            maximumSpeed: viewModel.maximumSpeed,

            imageSize: new bmgl.Cartesian2(
                viewModel.particleSize,
                viewModel.particleSize
            ),

            emissionRate: viewModel.emissionRate,

            bursts: [
                // these burst will occasionally sync to create a multicolored effect
                new bmgl.ParticleBurst({
                    time: 5.0,
                    minimum: 10,
                    maximum: 100,
                }),
                new bmgl.ParticleBurst({
                    time: 10.0,
                    minimum: 50,
                    maximum: 100,
                }),
                new bmgl.ParticleBurst({
                    time: 15.0,
                    minimum: 200,
                    maximum: 300,
                }),
            ],

            lifetime: 16.0,

            emitter: new bmgl.CircleEmitter(2.0),

            emitterModelMatrix: computeEmitterModelMatrix(),

            updateCallback: applyGravity,
        })
    );

    var gravityScratch = new bmgl.Cartesian3();

    function applyGravity(p, dt) {
        // We need to compute a local up vector for each particle in geocentric space.
        var position = p.position;

        bmgl.Cartesian3.normalize(position, gravityScratch);
        bmgl.Cartesian3.multiplyByScalar(
            gravityScratch,
            viewModel.gravity * dt,
            gravityScratch
        );

        p.velocity = bmgl.Cartesian3.add(
            p.velocity,
            gravityScratch,
            p.velocity
        );
    }

    viewer.scene.preUpdate.addEventListener(function (scene, time) {
        particleSystem.modelMatrix = computeModelMatrix(entity, time);

        // Account for any changes to the emitter model matrix.
        particleSystem.emitterModelMatrix = computeEmitterModelMatrix();

        // Spin the emitter if enabled.
        if (viewModel.spin) {
            viewModel.heading += 1.0;
            viewModel.pitch += 1.0;
            viewModel.roll += 1.0;
        }
    });

    bmgl.knockout
        .getObservable(viewModel, "emissionRate")
        .subscribe(function (newValue) {
            particleSystem.emissionRate = parseFloat(newValue);
        });

    bmgl.knockout
        .getObservable(viewModel, "particleSize")
        .subscribe(function (newValue) {
            var particleSize = parseFloat(newValue);
            particleSystem.minimumImageSize.x = particleSize;
            particleSystem.minimumImageSize.y = particleSize;
            particleSystem.maximumImageSize.x = particleSize;
            particleSystem.maximumImageSize.y = particleSize;
        });

    bmgl.knockout
        .getObservable(viewModel, "minimumParticleLife")
        .subscribe(function (newValue) {
            particleSystem.minimumParticleLife = parseFloat(newValue);
        });

    bmgl.knockout
        .getObservable(viewModel, "maximumParticleLife")
        .subscribe(function (newValue) {
            particleSystem.maximumParticleLife = parseFloat(newValue);
        });

    bmgl.knockout
        .getObservable(viewModel, "minimumSpeed")
        .subscribe(function (newValue) {
            particleSystem.minimumSpeed = parseFloat(newValue);
        });

    bmgl.knockout
        .getObservable(viewModel, "maximumSpeed")
        .subscribe(function (newValue) {
            particleSystem.maximumSpeed = parseFloat(newValue);
        });

    bmgl.knockout
        .getObservable(viewModel, "startScale")
        .subscribe(function (newValue) {
            particleSystem.startScale = parseFloat(newValue);
        });

    bmgl.knockout
        .getObservable(viewModel, "endScale")
        .subscribe(function (newValue) {
            particleSystem.endScale = parseFloat(newValue);
        });

    var options = [
        {
            text: "Circle Emitter",
            onselect: function () {
                particleSystem.emitter = new bmgl.CircleEmitter(2.0);
            },
        },
        {
            text: "Sphere Emitter",
            onselect: function () {
                particleSystem.emitter = new bmgl.SphereEmitter(2.5);
            },
        },
        {
            text: "Cone Emitter",
            onselect: function () {
                particleSystem.emitter = new bmgl.ConeEmitter(
                    bmgl.Math.toRadians(45.0)
                );
            },
        },
        {
            text: "Box Emitter",
            onselect: function () {
                particleSystem.emitter = new bmgl.BoxEmitter(
                    new bmgl.Cartesian3(10.0, 10.0, 10.0)
                );
            },
        },
    ];

    Sandcastle.addToolbarMenu(options);

</script>

</html>                                                                                                                                                                                                                                
国产久_亚欧精品一区_久久亚洲美女_99精品在线观看_日韩成人三级_久久精品久久久久
<code id="kseui"><acronym id="kseui"></acronym></code>
  • <abbr id="kseui"><tbody id="kseui"></tbody></abbr>
  • <button id="kseui"></button>
  • 亚洲欧美电影在线观看| 久久综合九色综合久99| 欧美一区二区三区免费看| 亚洲免费视频一区| 亚洲激情一区二区三区| 日韩精品久久久毛片一区二区| 欧美精品久久久| 伊人精品久久久久7777| 一区二区三区四区五区视频 | 精品国产日本| 欧洲在线视频一区| 在线观看亚洲视频啊啊啊啊| 不卡一区二区三区视频| 神马影院一区二区| 亚洲少妇诱惑| 亚洲激情不卡| 激情综合网址| 日韩精品大片| 欧洲国产精品| 欧美精品在线一区| 欧美日韩一区二| 日本免费高清不卡| 久久久一本精品99久久精品| 国产成人女人毛片视频在线| 久久亚洲综合网| 日韩免费中文专区| 蜜桃传媒视频麻豆第一区免费观看| 久久久久久一区| 免费在线欧美黄色| 亚洲欧洲精品在线| 少妇免费毛片久久久久久久久| 欧美一区二区三区在线免费观看 | 日韩欧美亚洲日产国| 久久久精品动漫| 国产亚洲一区二区三区在线播放| 欧美日韩天天操| 日韩av不卡播放| 亚洲欧美久久久| 国产在线欧美日韩| 国产精品一区在线播放| 亚洲精选久久| 欧美成人亚洲| 亚洲欧洲日本一区二区三区| 国产精品日本欧美一区二区三区| 国产精品日韩久久久| 老牛嫩草一区二区三区日本 | 亚洲欧美日韩精品综合在线观看| 亚洲欧洲日韩精品| 伊人久久av导航| 久久久久久夜| 欧美一区二区福利| 国产精品theporn| 日本一区二区三区精品视频| 亚洲免费不卡| 亚洲在线黄色| 欧日韩一区二区三区| 国产丝袜不卡| 亚洲资源视频| 国产伦精品一区二区三区视频孕妇| 91精品国自产在线观看| 在线欧美日韩| 99电影网电视剧在线观看| 亚洲尤物影院| 乱色588欧美| 精品成人免费| 不卡一区二区三区视频| 在线视频福利一区| 99re视频| 国产精品观看| 久99久在线| 黄色在线一区| 免费亚洲一区二区| 国产欧美综合一区二区三区| 精品国产免费人成电影在线观... 精品国产免费久久久久久尖叫 | 在线精品观看| 久久99精品久久久久久秒播放器 | 国产亚洲综合精品| 任我爽在线视频精品一| 99亚洲一区二区| 天堂社区 天堂综合网 天堂资源最新版 | 亚洲国产一区在线| 婷婷五月色综合| 快she精品国产999| 国产精品xvideos88| 精品卡一卡二| 国产模特精品视频久久久久| 日韩高清在线播放| 国产厕所精品在线观看| 亚洲二区免费| 亚洲国产日韩欧美| 六月婷婷久久| av一区二区三区免费| 亚洲国产网站| 亚洲最大免费| 免费99视频| 都市激情久久久久久久久久久| 国内外成人免费视频| 色之综合天天综合色天天棕色| 久久亚洲色图| 免费亚洲视频| 亚洲大黄网站| 在线成人性视频| 九九九九九九精品| 97人人香蕉| 亚洲作爱视频| 亚洲先锋成人| 黄色国产精品一区二区三区| 日韩精品一线二线三线| 精品视频一区在线| 精品国产一区二区三区日日嗨| 麻豆精品91| 欧美一区二区三区四区夜夜大片 | 欧美久久影院| 噜噜噜噜噜久久久久久91| 亚洲午夜精品久久| 国外成人免费视频| 亚洲国产电影| 在线亚洲成人| 国产欧美大片| 亚洲人成人77777线观看| 国产亚洲激情| 国产亚洲一区在线| 日韩午夜免费视频| 亚洲精品九九| 国产精品久久久免费| 亚洲美女少妇无套啪啪呻吟| 在线欧美视频| 欧美亚洲免费在线| 久久九九99| 国产欧美日本在线| 久久99精品久久久久久秒播放器| 久久国产精品久久精品国产| 精品一区二区国产| 三区精品视频观看| 亚洲欧美一区二区原创| 激情欧美国产欧美| 亚洲一区二区成人| 国产精品传媒毛片三区| 久久精品国产第一区二区三区最新章节 | 国产日韩欧美一区二区三区四区| 美女精品在线| 国产一区二区视频在线免费观看| 久久精品人成| 欧美 日韩 国产 一区| 在线日韩中文| 99国产在线观看| 久久国产精品 国产精品| 一区二区免费在线视频| 黄色欧美日韩| 99视频在线免费观看| 免费久久一级欧美特大黄| 欧美在线黄色| 亚洲一区二区三区精品在线观看| 成人免费视频网站入口| 少妇免费毛片久久久久久久久| 欧美日韩一区综合| 国产日韩三区| 夜夜爽99久久国产综合精品女不卡 | 亚洲三级视频| 亚洲在线成人| 久久99精品国产一区二区三区| 神马一区二区影院| 国产视频一区欧美| 亚洲精品欧美精品| 亚洲精品一级| 免费久久久一本精品久久区| 黄色成人在线网址| 精品在线不卡| 在线视频观看日韩| 鲁丝片一区二区三区| 亚洲成人自拍视频| 久久伊人一区| 国产精品视区| 亚洲v欧美v另类v综合v日韩v| 99热免费精品在线观看| 日韩福利视频| 成人av男人的天堂| 欧美日韩一区二区三区四区在线观看 | 国产亚洲毛片在线| 日本精品一区二区| 久久久精品五月天| 国内外成人免费视频| 精品免费一区二区三区蜜桃| 激情久久久久久久| 日韩欧美三级一区二区| 久久精品免费| 国产一区二区在线观看免费播放| 超碰国产精品久久国产精品99| 国产一区在线免费观看| 欧美一级二级三级| 99久久精品久久久久久ai换脸| 欧美日韩免费精品| 欧美精品在线一区| 久热这里只精品99re8久| 影音先锋久久精品| 在线观看福利一区| 品久久久久久久久久96高清| 久久在线精品| 免费看亚洲片| 一区二区不卡在线视频 午夜欧美不卡'|