国产久_亚欧精品一区_久久亚洲美女_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>
  • 国内精品久久国产| 久久激情中文| 日韩中文字幕一区二区| 久久最新视频| 亚洲第一区色| 在线观看亚洲视频啊啊啊啊| 国语精品免费视频| 国产精品久久久久久久久久久久冷 | 国产另类第一区| 久久久水蜜桃av免费网站| 亚洲日本无吗高清不卡| 国内综合精品午夜久久资源| 亚洲欧洲三级| 伊人久久青草| 欧美在线网站| 欧美黄在线观看| 欧美激情偷拍| 伊人精品视频| 一本色道久久综合亚洲精品高清| 海角社区69精品视频| 国产精品多人| 在线日韩中文| 亚洲综合二区| 成人动漫视频在线观看免费| 99在线视频播放| 激情五月综合色婷婷一区二区| 精品国产综合| 日韩中文字幕一区| 欧美国产三级| 国产欧美日韩综合一区在线播放| 国产亚洲毛片在线| 久久精品人人| 久久久久久久免费| 一本久道久久综合| 国产在线日韩| 香蕉视频成人在线观看| 久久视频一区| 欧美极品色图| 欧美日韩一区二区三区在线观看免| 国产精品国产精品| 中文国产一区| 国产福利久久精品| 亚洲精品成人三区| 亚洲高清在线| 国产精品日韩二区| 天堂资源在线亚洲资源| 影音欧美亚洲| 成人免费在线一区二区三区| 欧美日韩在线一二三| 欧美日韩国产不卡在线看| 亚洲少妇自拍| 另类欧美小说| 激情一区二区三区| 电影午夜精品一区二区三区| 日韩福利视频| 国产日韩欧美| 日本午夜精品电影| 亚洲欧洲另类| 精品国产乱码久久久久久丨区2区| 亚洲不卡1区| 噜噜噜噜噜久久久久久91| 免费中文日韩| 国产亚洲精品v| 青青草国产精品| 国产精品久久久一区二区三区| 久久久久免费网| 激情视频一区| 日本高清不卡一区二区三| 亚洲黄色成人| 日韩av图片| 久久久久久久久久码影片| 亚洲 国产 欧美一区| 久久不射中文字幕| 女女同性女同一区二区三区91| 久久国产手机看片| 欧美日本不卡| 免费在线成人av电影| 国产精品社区| 欧美日韩网站| 欧美日韩国产高清视频| 久久精品道一区二区三区| 午夜精品视频在线观看一区二区| 国产精品美女久久久久av福利| 好吊色欧美一区二区三区四区| 六月婷婷久久| 巨乳诱惑日韩免费av| 欧美天天在线| 色综合久久88色综合天天提莫| 亚洲男女自偷自拍| 狠狠色噜噜狠狠狠狠色吗综合| 免费一区二区三区| 岛国视频一区| 性色一区二区| 黑丝一区二区| 欧美日韩一区二区视频在线| 欧美成熟毛茸茸复古| 2019国产精品视频| 亚洲免费在线| 在线一区日本视频| 黑丝一区二区三区| 欧美精品免费观看二区| 亚洲成人午夜在线| 欧美一区二区在线视频观看| 超碰97在线资源| 91久久偷偷做嫩草影院| 国产伦精品一区二区三区照片91 | 国内精品国语自产拍在线观看| 亚洲一区二区三区高清| 99在线|亚洲一区二区| 黄页网站一区| 亚洲高清不卡| 亚洲理伦在线| 亚洲色诱最新| 亚洲欧美日韩视频二区| 性欧美暴力猛交另类hd| 蜜桃av久久久亚洲精品| 久久久国产精品一区二区中文| 国产欧美日韩在线播放| 亚洲在线日韩| 久久国产欧美| 国产99在线免费| 国产伦精品一区二区三区照片 | 伊人久久亚洲热| 国产精品多人| 亚洲三级影院| 国产精品免费看| 亚欧美中日韩视频| www 成人av com| 久久久久无码国产精品一区| 久久久久综合一区二区三区| 久久久福利视频| 日韩免费电影一区二区| 中文字幕一区综合| 99精品99久久久久久宅男| 午夜亚洲一区| 九九九久久久| 一本色道久久综合亚洲精品婷婷| 一道精品一区二区三区| 在线不卡亚洲| 久热这里只精品99re8久| 九色91在线视频| 欧美黄色精品| 西西人体一区二区| 国产精品美女xx| 亚洲一区高清| 国产欧美日韩在线播放| 国产日韩精品推荐| 亚洲精品久久久久久一区二区| 欧美日韩18| 99电影网电视剧在线观看| 免费国产一区二区| 国产一区二区三区无遮挡| 性刺激综合网| 日产国产精品精品a∨| 国产真实久久| 国产一区喷水| 韩国av一区| 久久久久久久久久久久久9999| 伊人激情综合| 女同一区二区| 日本福利一区二区三区| 欧美日韩理论| 每日更新成人在线视频| 色中色综合成人| 亚洲综合好骚| 亚洲三级一区| av一区二区三区在线观看| 日韩欧美99| 欧美综合二区| 亚洲精品8mav| 国产99午夜精品一区二区三区 | 好吊色欧美一区二区三区| 午夜久久美女| 国外成人在线视频网站| 一本色道精品久久一区二区三区| 免费看成人午夜电影| 国产婷婷精品| 亚洲一区二区精品在线| 亚洲欧美日韩在线综合| 亚洲欧美一级二级三级| 久久久综合网| 久久青青草综合| 久热re这里精品视频在线6| 亚洲成人资源| 欧美一级片免费观看| 国产亚洲一区在线| 欧美a级片网站| 精品久久久久久一区| 午夜亚洲视频| 亚洲视频在线二区| 亚洲精品在线视频观看| 国产精品久久久久av福利动漫| 亚洲精品中文字幕在线| 亚洲亚洲精品三区日韩精品在线视频| 成人av播放| 久久另类ts人妖一区二区| 亚洲成色www久久网站| 中文字幕一区二区中文字幕 | 久久国产一二区| 亚洲黄色av|