From b5d3f0443d74b31b5b7fce30485d869d9ce4f578 Mon Sep 17 00:00:00 2001 From: Matthew Amato Date: Wed, 25 May 2016 10:18:57 -0400 Subject: [PATCH 01/32] Do not attempt to deploy fork pull requests to s3. For a pull request, the `TRAVIS_BRANCH` variable is always `master` this causes deployment to deploy to the master branch instead of the branch name (which is unavailable for pull requests). Even if the branch name were available, forks that open pull requests could have name conflicts with branches in the primary repository, so we wouldn't be able to deploy them anyway. Fixes #3937 --- gulpfile.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gulpfile.js b/gulpfile.js index 2d1177a4c3ca..50e906f8c27b 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -308,7 +308,16 @@ gulp.task('minifyRelease', ['generateStubs'], function() { }); }); +function isTravisPullRequest() { + return process.env.TRAVIS_PULL_REQUEST !== undefined && process.env.TRAVIS_PULL_REQUEST !== 'false'; +} + gulp.task('deploy-s3', function(done) { + if (isTravisPullRequest()) { + console.log('Skipping deployment for non-pull request.'); + return; + } + var argv = yargs.usage('Usage: delpoy -b [Bucket Name] -d [Upload Directory]') .demand(['b', 'd']).argv; @@ -558,6 +567,11 @@ gulp.task('deploy-set-version', function() { }); gulp.task('deploy-status', function() { + if (isTravisPullRequest()) { + console.log('Skipping deployment status for non-pull request.'); + return; + } + var status = yargs.argv.status; var message = yargs.argv.message; From 792285fdddaf8a995afc367a6d77af2a600c146c Mon Sep 17 00:00:00 2001 From: hpinkos Date: Wed, 1 Jun 2016 11:23:50 -0400 Subject: [PATCH 02/32] box, cylinder --- Apps/Sandcastle/gallery/CZML Box.html | 110 +++++ Apps/Sandcastle/gallery/CZML Box.jpg | Bin 0 -> 18826 bytes .../gallery/CZML Cones and Cylinders.html | 96 ++++ .../gallery/CZML Cones and Cylinders.jpg | Bin 0 -> 15515 bytes Source/DataSources/CzmlDataSource.js | 458 ++++++++++-------- 5 files changed, 466 insertions(+), 198 deletions(-) create mode 100644 Apps/Sandcastle/gallery/CZML Box.html create mode 100644 Apps/Sandcastle/gallery/CZML Box.jpg create mode 100644 Apps/Sandcastle/gallery/CZML Cones and Cylinders.html create mode 100644 Apps/Sandcastle/gallery/CZML Cones and Cylinders.jpg diff --git a/Apps/Sandcastle/gallery/CZML Box.html b/Apps/Sandcastle/gallery/CZML Box.html new file mode 100644 index 000000000000..1fbfb357f9f6 --- /dev/null +++ b/Apps/Sandcastle/gallery/CZML Box.html @@ -0,0 +1,110 @@ + + + + + + + + + Cesium Demo + + + + + + +
+

Loading...

+
+ + + + diff --git a/Apps/Sandcastle/gallery/CZML Box.jpg b/Apps/Sandcastle/gallery/CZML Box.jpg new file mode 100644 index 0000000000000000000000000000000000000000..82cb42f82aa72dc5a74c40bb02cac4dab140ee64 GIT binary patch literal 18826 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 + + + + + + + + Cesium Demo + + + + + + +
+

Loading...

+
+ + + + diff --git a/Apps/Sandcastle/gallery/CZML Cones and Cylinders.jpg b/Apps/Sandcastle/gallery/CZML Cones and Cylinders.jpg new file mode 100644 index 0000000000000000000000000000000000000000..010f58fbdc1c7e477acbeaa7d6443e511e39b860 GIT binary patch literal 15515 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 B!SVnA literal 0 HcmV?d00001 diff --git a/Source/DataSources/CzmlDataSource.js b/Source/DataSources/CzmlDataSource.js index d8d20317b7f0..2d69514eb071 100644 --- a/Source/DataSources/CzmlDataSource.js +++ b/Source/DataSources/CzmlDataSource.js @@ -1,150 +1,154 @@ /*global define*/ define([ - '../Core/Cartesian2', - '../Core/Cartesian3', - '../Core/Cartographic', - '../Core/ClockRange', - '../Core/ClockStep', - '../Core/Color', - '../Core/createGuid', - '../Core/defaultValue', - '../Core/defined', - '../Core/defineProperties', - '../Core/DeveloperError', - '../Core/Ellipsoid', - '../Core/Event', - '../Core/ExtrapolationType', - '../Core/getAbsoluteUri', - '../Core/getFilenameFromUri', - '../Core/HermitePolynomialApproximation', - '../Core/isArray', - '../Core/Iso8601', - '../Core/JulianDate', - '../Core/LagrangePolynomialApproximation', - '../Core/LinearApproximation', - '../Core/loadJson', - '../Core/Math', - '../Core/Quaternion', - '../Core/Rectangle', - '../Core/ReferenceFrame', - '../Core/RuntimeError', - '../Core/Spherical', - '../Core/TimeInterval', - '../Core/TimeIntervalCollection', - '../Scene/HorizontalOrigin', - '../Scene/LabelStyle', - '../Scene/VerticalOrigin', - '../ThirdParty/Uri', - '../ThirdParty/when', - './BillboardGraphics', - './ColorMaterialProperty', - './CompositeMaterialProperty', - './CompositePositionProperty', - './CompositeProperty', - './ConstantPositionProperty', - './ConstantProperty', - './DataSource', - './DataSourceClock', - './EllipseGraphics', - './EllipsoidGraphics', - './EntityCollection', - './GridMaterialProperty', - './ImageMaterialProperty', - './LabelGraphics', - './ModelGraphics', - './NodeTransformationProperty', - './PathGraphics', - './PointGraphics', - './PolygonGraphics', - './PolylineArrowMaterialProperty', - './PolylineGlowMaterialProperty', - './PolylineGraphics', - './PolylineOutlineMaterialProperty', - './PositionPropertyArray', - './PropertyBag', - './RectangleGraphics', - './ReferenceProperty', - './Rotation', - './SampledPositionProperty', - './SampledProperty', - './StripeMaterialProperty', - './StripeOrientation', - './TimeIntervalCollectionPositionProperty', - './TimeIntervalCollectionProperty', - './WallGraphics' - ], function( - Cartesian2, - Cartesian3, - Cartographic, - ClockRange, - ClockStep, - Color, - createGuid, - defaultValue, - defined, - defineProperties, - DeveloperError, - Ellipsoid, - Event, - ExtrapolationType, - getAbsoluteUri, - getFilenameFromUri, - HermitePolynomialApproximation, - isArray, - Iso8601, - JulianDate, - LagrangePolynomialApproximation, - LinearApproximation, - loadJson, - CesiumMath, - Quaternion, - Rectangle, - ReferenceFrame, - RuntimeError, - Spherical, - TimeInterval, - TimeIntervalCollection, - HorizontalOrigin, - LabelStyle, - VerticalOrigin, - Uri, - when, - BillboardGraphics, - ColorMaterialProperty, - CompositeMaterialProperty, - CompositePositionProperty, - CompositeProperty, - ConstantPositionProperty, - ConstantProperty, - DataSource, - DataSourceClock, - EllipseGraphics, - EllipsoidGraphics, - EntityCollection, - GridMaterialProperty, - ImageMaterialProperty, - LabelGraphics, - ModelGraphics, - NodeTransformationProperty, - PathGraphics, - PointGraphics, - PolygonGraphics, - PolylineArrowMaterialProperty, - PolylineGlowMaterialProperty, - PolylineGraphics, - PolylineOutlineMaterialProperty, - PositionPropertyArray, - PropertyBag, - RectangleGraphics, - ReferenceProperty, - Rotation, - SampledPositionProperty, - SampledProperty, - StripeMaterialProperty, - StripeOrientation, - TimeIntervalCollectionPositionProperty, - TimeIntervalCollectionProperty, - WallGraphics) { + '../Core/Cartesian2', + '../Core/Cartesian3', + '../Core/Cartographic', + '../Core/ClockRange', + '../Core/ClockStep', + '../Core/Color', + '../Core/createGuid', + '../Core/defaultValue', + '../Core/defined', + '../Core/defineProperties', + '../Core/DeveloperError', + '../Core/Ellipsoid', + '../Core/Event', + '../Core/ExtrapolationType', + '../Core/getAbsoluteUri', + '../Core/getFilenameFromUri', + '../Core/HermitePolynomialApproximation', + '../Core/isArray', + '../Core/Iso8601', + '../Core/JulianDate', + '../Core/LagrangePolynomialApproximation', + '../Core/LinearApproximation', + '../Core/loadJson', + '../Core/Math', + '../Core/Quaternion', + '../Core/Rectangle', + '../Core/ReferenceFrame', + '../Core/RuntimeError', + '../Core/Spherical', + '../Core/TimeInterval', + '../Core/TimeIntervalCollection', + '../Scene/HorizontalOrigin', + '../Scene/LabelStyle', + '../Scene/VerticalOrigin', + '../ThirdParty/Uri', + '../ThirdParty/when', + './BillboardGraphics', + './BoxGraphics', + './ColorMaterialProperty', + './CompositeMaterialProperty', + './CompositePositionProperty', + './CompositeProperty', + './ConstantPositionProperty', + './ConstantProperty', + './CylinderGraphics', + './DataSource', + './DataSourceClock', + './EllipseGraphics', + './EllipsoidGraphics', + './EntityCollection', + './GridMaterialProperty', + './ImageMaterialProperty', + './LabelGraphics', + './ModelGraphics', + './NodeTransformationProperty', + './PathGraphics', + './PointGraphics', + './PolygonGraphics', + './PolylineArrowMaterialProperty', + './PolylineGlowMaterialProperty', + './PolylineGraphics', + './PolylineOutlineMaterialProperty', + './PositionPropertyArray', + './PropertyBag', + './RectangleGraphics', + './ReferenceProperty', + './Rotation', + './SampledPositionProperty', + './SampledProperty', + './StripeMaterialProperty', + './StripeOrientation', + './TimeIntervalCollectionPositionProperty', + './TimeIntervalCollectionProperty', + './WallGraphics' +], function( + Cartesian2, + Cartesian3, + Cartographic, + ClockRange, + ClockStep, + Color, + createGuid, + defaultValue, + defined, + defineProperties, + DeveloperError, + Ellipsoid, + Event, + ExtrapolationType, + getAbsoluteUri, + getFilenameFromUri, + HermitePolynomialApproximation, + isArray, + Iso8601, + JulianDate, + LagrangePolynomialApproximation, + LinearApproximation, + loadJson, + CesiumMath, + Quaternion, + Rectangle, + ReferenceFrame, + RuntimeError, + Spherical, + TimeInterval, + TimeIntervalCollection, + HorizontalOrigin, + LabelStyle, + VerticalOrigin, + Uri, + when, + BillboardGraphics, + BoxGraphics, + ColorMaterialProperty, + CompositeMaterialProperty, + CompositePositionProperty, + CompositeProperty, + ConstantPositionProperty, + ConstantProperty, + CylinderGraphics, + DataSource, + DataSourceClock, + EllipseGraphics, + EllipsoidGraphics, + EntityCollection, + GridMaterialProperty, + ImageMaterialProperty, + LabelGraphics, + ModelGraphics, + NodeTransformationProperty, + PathGraphics, + PointGraphics, + PolygonGraphics, + PolylineArrowMaterialProperty, + PolylineGlowMaterialProperty, + PolylineGraphics, + PolylineOutlineMaterialProperty, + PositionPropertyArray, + PropertyBag, + RectangleGraphics, + ReferenceProperty, + Rotation, + SampledPositionProperty, + SampledProperty, + StripeMaterialProperty, + StripeOrientation, + TimeIntervalCollectionPositionProperty, + TimeIntervalCollectionProperty, + WallGraphics) { 'use strict'; var currentId; @@ -338,42 +342,42 @@ define([ function unwrapInterval(type, czmlInterval, sourceUri) { /*jshint sub:true*/ switch (type) { - case Boolean: - return defaultValue(czmlInterval['boolean'], czmlInterval); - case Cartesian2: - return czmlInterval.cartesian2; - case Cartesian3: - return unwrapCartesianInterval(czmlInterval); - case Color: - return unwrapColorInterval(czmlInterval); - case StripeOrientation: - return StripeOrientation[defaultValue(czmlInterval.stripeOrientation, czmlInterval)]; - case HorizontalOrigin: - return HorizontalOrigin[defaultValue(czmlInterval.horizontalOrigin, czmlInterval)]; - case Image: - return unwrapUriInterval(czmlInterval, sourceUri); - case JulianDate: - return JulianDate.fromIso8601(defaultValue(czmlInterval.date, czmlInterval)); - case LabelStyle: - return LabelStyle[defaultValue(czmlInterval.labelStyle, czmlInterval)]; - case Rotation: - return defaultValue(czmlInterval.number, czmlInterval); - case Number: - return defaultValue(czmlInterval.number, czmlInterval); - case String: - return defaultValue(czmlInterval.string, czmlInterval); - case Array: - return czmlInterval.array; - case Quaternion: - return unwrapQuaternionInterval(czmlInterval); - case Rectangle: - return unwrapRectangleInterval(czmlInterval); - case Uri: - return unwrapUriInterval(czmlInterval, sourceUri); - case VerticalOrigin: - return VerticalOrigin[defaultValue(czmlInterval.verticalOrigin, czmlInterval)]; - default: - throw new RuntimeError(type); + case Boolean: + return defaultValue(czmlInterval['boolean'], czmlInterval); + case Cartesian2: + return czmlInterval.cartesian2; + case Cartesian3: + return unwrapCartesianInterval(czmlInterval); + case Color: + return unwrapColorInterval(czmlInterval); + case StripeOrientation: + return StripeOrientation[defaultValue(czmlInterval.stripeOrientation, czmlInterval)]; + case HorizontalOrigin: + return HorizontalOrigin[defaultValue(czmlInterval.horizontalOrigin, czmlInterval)]; + case Image: + return unwrapUriInterval(czmlInterval, sourceUri); + case JulianDate: + return JulianDate.fromIso8601(defaultValue(czmlInterval.date, czmlInterval)); + case LabelStyle: + return LabelStyle[defaultValue(czmlInterval.labelStyle, czmlInterval)]; + case Rotation: + return defaultValue(czmlInterval.number, czmlInterval); + case Number: + return defaultValue(czmlInterval.number, czmlInterval); + case String: + return defaultValue(czmlInterval.string, czmlInterval); + case Array: + return czmlInterval.array; + case Quaternion: + return unwrapQuaternionInterval(czmlInterval); + case Rectangle: + return unwrapRectangleInterval(czmlInterval); + case Uri: + return unwrapUriInterval(czmlInterval, sourceUri); + case VerticalOrigin: + return VerticalOrigin[defaultValue(czmlInterval.verticalOrigin, czmlInterval)]; + default: + throw new RuntimeError(type); } } @@ -1025,6 +1029,62 @@ define([ processPacketData(Boolean, billboard, 'sizeInMeters', billboardData.sizeInMeters, interval, sourceUri, entityCollection); } + function processBox(entity, packet, entityCollection, sourceUri) { + var boxData = packet.box; + if (!defined(boxData)) { + return; + } + + var interval; + var intervalString = boxData.interval; + if (defined(intervalString)) { + iso8601Scratch.iso8601 = intervalString; + interval = TimeInterval.fromIso8601(iso8601Scratch); + } + + var box = entity.box; + if (!defined(box)) { + entity.box = box = new BoxGraphics(); + } + + processPacketData(Cartesian3, box, 'dimensions', boxData.dimensions, interval, sourceUri, entityCollection); + processPacketData(Boolean, box, 'show', boxData.show, interval, sourceUri, entityCollection); + processMaterialPacketData(box, 'material', boxData.material, interval, sourceUri, entityCollection); + processPacketData(Boolean, box, 'fill', boxData.fill, interval, sourceUri, entityCollection); + processPacketData(Boolean, box, 'outline', boxData.outline, interval, sourceUri, entityCollection); + processPacketData(Color, box, 'outlineColor', boxData.outlineColor, interval, sourceUri, entityCollection); + processPacketData(Number, box, 'outlineWidth', boxData.outlineWidth, interval, sourceUri, entityCollection); + } + + function processCylinder(entity, packet, entityCollection, sourceUri) { + var cylinderData = packet.cylinder; + if (!defined(cylinderData)) { + return; + } + + var interval; + var intervalString = cylinderData.interval; + if (defined(intervalString)) { + iso8601Scratch.iso8601 = intervalString; + interval = TimeInterval.fromIso8601(iso8601Scratch); + } + + var cylinder = entity.cylinder; + if (!defined(cylinder)) { + entity.cylinder = cylinder = new CylinderGraphics(); + } + + processPacketData(Number, cylinder, 'length', cylinderData.length, interval, sourceUri, entityCollection); + processPacketData(Number, cylinder, 'topRadius', cylinderData.topRadius, interval, sourceUri, entityCollection); + processPacketData(Number, cylinder, 'bottomRadius', cylinderData.bottomRadius, interval, sourceUri, entityCollection); + processPacketData(Boolean, cylinder, 'show', cylinderData.show, interval, sourceUri, entityCollection); + processMaterialPacketData(cylinder, 'material', cylinderData.material, interval, sourceUri, entityCollection); + processPacketData(Boolean, cylinder, 'fill', cylinderData.fill, interval, sourceUri, entityCollection); + processPacketData(Boolean, cylinder, 'outline', cylinderData.outline, interval, sourceUri, entityCollection); + processPacketData(Color, cylinder, 'outlineColor', cylinderData.outlineColor, interval, sourceUri, entityCollection); + processPacketData(Number, cylinder, 'outlineWidth', cylinderData.outlineWidth, interval, sourceUri, entityCollection); + } + function processDocument(packet, dataSource) { var version = packet.version; if (defined(version)) { @@ -1711,23 +1771,25 @@ define([ * @type Array */ CzmlDataSource.updaters = [ - processBillboard, // - processEllipse, // - processEllipsoid, // - processLabel, // - processModel, // - processName, // - processDescription, // - processPath, // - processPoint, // - processPolygon, // - processPolyline, // - processRectangle, // - processPosition, // - processViewFrom, // - processWall, // - processOrientation, // - processAvailability]; + processBillboard, // + processBox, // + processCylinder, // + processEllipse, // + processEllipsoid, // + processLabel, // + processModel, // + processName, // + processDescription, // + processPath, // + processPoint, // + processPolygon, // + processPolyline, // + processRectangle, // + processPosition, // + processViewFrom, // + processWall, // + processOrientation, // + processAvailability]; /** * Processes the provided url or CZML object without clearing any existing data. From 7a982dac7ab3148743d77499e6376e17937e7e8c Mon Sep 17 00:00:00 2001 From: hpinkos Date: Wed, 1 Jun 2016 13:08:09 -0400 Subject: [PATCH 03/32] Corridor, Specs --- Apps/Sandcastle/gallery/CZML Corridor.html | 130 +++++++++++++++++++++ Apps/Sandcastle/gallery/CZML Corridor.jpg | Bin 0 -> 16480 bytes Source/DataSources/CzmlDataSource.js | 40 ++++++- Specs/DataSources/CzmlDataSourceSpec.js | 123 +++++++++++++++++++ 4 files changed, 292 insertions(+), 1 deletion(-) create mode 100644 Apps/Sandcastle/gallery/CZML Corridor.html create mode 100644 Apps/Sandcastle/gallery/CZML Corridor.jpg diff --git a/Apps/Sandcastle/gallery/CZML Corridor.html b/Apps/Sandcastle/gallery/CZML Corridor.html new file mode 100644 index 000000000000..fc78d38e1d63 --- /dev/null +++ b/Apps/Sandcastle/gallery/CZML Corridor.html @@ -0,0 +1,130 @@ + + + + + + + + + Cesium Demo + + + + + + +
+

Loading...

+
+ + + + diff --git a/Apps/Sandcastle/gallery/CZML Corridor.jpg b/Apps/Sandcastle/gallery/CZML Corridor.jpg new file mode 100644 index 0000000000000000000000000000000000000000..43894d6c36a0ea2448952243a8c93189f28deab5 GIT binary patch literal 16480 zcmbWebyQSe*grZ*NlQ1Q4$>jgEg&t7fPgd-($XCxAkreg!KIiPS&+}P3pXc-JySckHz#|P6brk>(4gi32e*x|m0ZM=e zIRAzJ(g*(qJly|Md^|i{JOX?Ig8zwxL=OoFi3kY@9+EsHBK|Mj=SWG2N&ma~uaf`$ z^Z`CDEW(AXg{?foh=}Rv85o(Kad2{R^N5IwiAzXIDZNrwQB_md(0i+IVEE3+*xJVSgPpyD zqo^6shI83<&D3=$kh~$iIRpN?OLf$TSZ8P&P0&@aXLm^gz3!s6@y0aI9;df}aY_ixjflgt}p6EEnk22f3iu@ z1^|3T50pNi#+sK~Ye53kLyEuaMZIX0=025w=6RwgMBO#_#>2xyOYIKeNLgM}WZnO! zX~>oZ2W@=@UG8`Y=_(Il8L!=`ON?TBJ}$EO;f(>}O?$k4&*?a~pmPUkfL<{|TvaT3eo8_XD}XRL#Y5%? zNk6_2qG0>idh0QJD#Crt;?R*P!!y?3cYrQo`L(ZX52rVgx3m3fbwm~2SF^@G@$T*) ziI}6vli^6Al!B5m;iOI{ht)rV7|Q;!In(_-rj!}ln-fjA)=Qk(j+9_ByW6ZDlux=X z1%^Q3wkkI8z3pZG)mqBT+j{oizNHhR=R*1!9vYx77)$cu>^XEtx_7nu81u+i&F~Ho zS2q5Z>kg2fDY{T~O%O$WWhh*T9l8S`6^|Lf?)LId$7FL1m<}Gz8%em4c$GPk(j=~A zKMo!$MeK`a>NJ*3P7u44oCPaWLi7v;A+UC9LuMOMQ)&GG!b0i50br6UC^tWsK+5|Z zy4t3ReRy9rUMZ^nDYE!*0GYFyti(<)CsOrAkwTG5oi=gv9eoGV8PW}m78(-lg2ZAU zp%~5c=A@?EhJcs5qlVWFijeMpy^xB5Q)Pk2MeS0;7Q9$hI18BagVA!D+Sp5k8*Gbv zh($N#Kq}5-!Y*u}Fr+O={SFXr+%B>EXA}ZAF>HS23w|-^Zn7>P zX)cajq@8IM^e0%dscQnU4)ysSVjRj@2rVRNbS1`o?XGdL{*|}| zUth2@_%qI{og^g?1gpzH@&Zi4m|Zg-zP2G4QwpFs?Gwr=Frcc}I0JYzmhyk*j$#Lh zd8nUn7jM5L^HtT^>LnlVPI8mn1&i%uHyn|8#$8|nrlVHIp3cxI0YDf@rqJxTgk6nQFW!UyaNQN ztKp(V&*;Jt6zFGy2eAQITD1C_2{fkpHtyxsf)#&z_5^v^MTV})&#M%1^KYElfwV8O zGq?@^qBOIvo*c_}Sofv-M)kH>?$mc=8iP(KF1+plVL{56CuTf)&v`j?UHW z4n-#fEyno@sgekc3z6}QRYM+rwq!gOEt^|YW;^BvgmAQZ_RAv;Ru_Oq>Oq1?MAx-o z&$3Kd(t@93pVp)bnEA+-9A1Ud;j`N{*R1sG=$C)wT0D!fDBa79$21B%GNql(`ckn4 zj7SR|pRczzFWIHq9%l%272N?c^S2=GncZ9O8nEML(4(#pC??SpNpa9|KR#n`^A0w0 zPfc1-!P60cliJ!N@}I950;)&cH(%}MbkbT;u-m!~6s2CA+-6}J9FAR(nimq|6>Ksj zns)$d3q}$fRP#fGc28|bd{7_ob0xGQcYU|AKDk~jckMASvRJ-QA569|C*7YJ^?Th^#rYsiBkgQwV@ts<}T{H3vW&1fi=xavm7Y1ZZa8jRWA zobfXU8^uGk;-eTTMDSpyvfSPkV&7bN-C_Z_J{wm%(uUjL!O;4?V$O8fwz+DmRo(5P z0wlJ6NK-k~0+RPFDPPRtRh#51$mC`Gw-o=y%dNmV8zK2y3%(y4p_z9mOsql_{mkuM zoQIlq;z;Jz-rRx8Q^Qhm!S9R2A^kFcG~{CXbk<{|HWNs+6jvlXPYWi5eGbELM9W;t zM_r4%5i0t%-$%YLsH!Z0P2FezlsZIF1&NBd?whnpynrxK&0vXw35hYgTup)sx@Qr1>GB8MHu>&r3!e(lM#MhU#d$bdJ zOm8%_Nc^qNs`RsPKOTRx$s1{NknOAc>*DK?B8DSr@`Dl0awMy&(Kj?+Ic1hPUlc&I zQ3jvNYz{0+-eS4~9PlG44C)h3m8R$ z#X7gort)&;pz!VqYp1bbACzlvt^B5>szI7xFW-k;gFbh6AYR*!x4 zBwZyHzw{QY=eY0kKLUZB{kT2(svN)hcweZ8s1_YOb;aRD!yTzs&vbzxp#jjxsEae_*@ykIro8kYW!OTcITg5*&ro990pFX$gR z+WQ5*6H-f;=xv+tciLOOQ20ynsiv8)X8qKA4+5MNFCCBV;%C+FxdpSFDC(|N3OPZC zJHULvsnIBjWzQCXJsuX6{l0?<1&->dCXB|iEERPi^Ym(>D&LtbIpU>1J|ouudI#wI z7GP*5GlCnBhH4aRie;=eti(CK7iv_smv;b|Kq*p_&hJN(QYJ9}G$nP?vX4~0+7(aLi_>>|$ zpm8S4bKRqB@TYwWV9EEZeXv@N7diS@4)pJ-S1!@3^y~P~MU44LUbbG& zU)Wk7L3l2~pDmC&77GaYOe9AhV%gbmTgAjJ+1T$6pdntt$Y=Du@@vIN)ti^APjqGp z8RY8Nghqs}KS)S4VE$cNoS)EN_}G5F1Nc-f9P%5k+^;?gx0xYA7?Jis2&JFg=7WaO zr~UI5J(%-KrlVnRPbWU@l%HKxWUZ%I2r)KYR6ao-skOTBqbU65B?h+*Nl+Nv!Zeny zr#ty_5a-+P!cIPIpMn?oj3cPj^^RIq4097Q58?aesQn3cI9DEd2Z*ih`v7!AUgXmb z_o9bXgoNf0&Dqa)UP2Xf4U@KpuY9;wzz1)~uPxq}BN#vX^y@f4M7&kkvXfN$j!1v| zlstVg&p#kput)`pv>jX1tn@r?Sgi~8ywSezz)$Z0_IaNS8-zySCg};{RzY(N*bZ#- zm2WQ_03{ybN){O+CLlrM+ipPp=7Qt&+)fc|uh z@gaHFqbW2vFkC>sVQ7sa#1cyuVDR6`aNhv2V^XS-hin`Ptk!)*wEaIi9iz6Hw6(3<+I%V?V8g=r?E9q*taBp;fGY|`slv}^ zKMUB@Pl=woyL*YVY!<#>P3;!kb2rR&Z+A$D%~!aQ3eNv^zmdGG*>YMPw)-ybOpa?8FfEHJ-u9`SX*%~$Wx8|UJ((flPEhNL$@3$YbD@Wr% zFNHskqAM$cdAfsymD}}b9LqW%yL64Yua-dLyq|H7iu=Gmq;V{ys1~7JyB~C`%+yJ9 z*O4h&GHySjWOSzZN@|C@%GyCBfHCwZyk<=gx3N+GuC%m#l*+hY=eIi-V32WfCLrZMY&|W zyzjBMkZL}BqtDMdXNnsaVS`}F6`r~*!H}&<>lLfwpj1jldjxD9&L1w1H`Cg_wnK_8 zFZda%qJU9_9W%hghbT&$Sv>AI(j=kD(h~k490+_DvyA&T6qKnu>n`<&WHJqueF1BG zZTsx#y9$wXzMv`cd@Is{#n=AJ`U_39!=CVe9^@4D{*_979W3pXe%wFnPWs0zWmg-F9!{EAL4B{if*htzm3O|`E`tB zyhEE;fobB54x#TvdybZGW+Xqzf;lB5Dlyw+1n*&T(iTQf_7Z$S1SjIuRLvfhG*ifqNr5(yW4d{k~}Ii!U<(^zrNh){izRq%y5MR(@ALEZt4OmO*FfbVl>gA$Uf%2RZ@&^g}ot_ z@@Bks&qD0N*kJ1cKeKJdW2)lEXOGXy%Wft6cIxcD?7qdNd_}zYB>)Apz_!`#t&pO` z>g;^2sv@eJqLU+9v(zN|Um^&LLBJdyzt4Muf!kABW6uLjuMOeb7}~v&b+S5Wc!z`h z13!y(v3SB>;d0_>w$1MFZExF;sVe3&Q)2(-*&x?OtGY zUZM!1T*Ud3jed&OrHf=o zuW5uJhU=&U-OPIgskgoZy!_e$Je6^Ein#;io!(?z<$;|b)aUXPdtocr#|J6jJ3Or| z-){fmTh3rd3LR&TN5Ub!f-HN<=*ZsYoSg)<=rBQcI(<@!`6-HTZ2q9hk|x)+)yRt~ zRzuyXoXWV^CwwnQ5TFu5nQg{0wkK%#`eK>zPqfseW8}N65nVGh{9B?aZo+mP6Na4H zG;*gtpC(5ukpFK75E_nUQt@)(RA^4WIFG*3hqDj%B=T0s4Ws#?(-w*gu4872mqrsbygO5Xrd)muw~0zRCCl6LIGka z9U5E3w)t9+%kV=N{XB?*0+AQbQim;F)<1)&ginPZbK+efP=(B@1|NS)w$#~tz&OWh z{Fyu(mG5l+ig=TZsi6Tk*3-{jC#L}J01N_HdSiQ^WUY1SmcRJRLsUijoJhH3g` z#{vE+1B8ld>l{dOsTewZ&&a&^3BSp5%6eXzvMymD?cs}x&o4bYklJd7pp{yU{6HNu z)?wo^tz~>M1*n|1nseF_zRdH8{oShFq}r&S5&vJ$l5$&c_RmMXg!Y(xBj6`>Bhjvv zoKfmG=S!gF+)ueuGurM=an_>(wjQzu+_g@S8kjF5)gvl{hL@gu6p~$KKC@B+X?6s$ zVqfu6l$wrg*jwr)pLvF-KnBan^z^4dn054Cr%lr+%ENhV_<}7*LvI-4!trulgfaV;Zd& z^5zIY(Nke>@igg50psw>4y^lShKI~ zBrAR2p$x;Hc+6n=KbNsc{i;D7esUa$Y=06YIbKPMFpl;NPj%&`z5^u8(qFV25d}`K z<)QPjcCpxMWG!=C)mOs`HOTkf%%VukW=kgio*teb_R9e859d7Y2@>m#Xi-*oZ~bh? z_SZ5+tye2x^#uF|h7s?zY~|@6nVAO)Rqpgp83;iK+Z&T*YNtqL=xT zJ?lvSbk><}{dl!Qzq)53vsz_)wQ>ZvNf>GPDszyx8pbrqwDzBtl*uaDh)h1&(j$|& z(;YCL;llODh;>E^3J?j0kVH2cH>A5yFvtzs&R6Z7*#ov=J87Y zI%cP?3!?XgUdb8EHl*!y8vz&4@jP6|T+S9`Lc+pWT;4}9A?Df_ENVWdEv$C{80}fp z2F(@EWP0LH34gQ3_Q-qHy-xf9b#GLRxlT{?UP~m8K4&a&9z$KJ{fP@>4~b-8fXU@X z4q%yro=w-n5}F}h7I7EI-J-(_>DOyPf5lbaC;5I1uaf6xTyH-{xyFb}9NE@HYQ8xQ z`za|+Smc=I;+-FIgRFIurbaWkAou^OqdRPy*LC z+LXyf10|a|%s&WpQVequ3DeLrzdT)JcGFCdUBRyIm1V8rtXfM&#f)i7Ufi$D$q&8bvkb)M{OM0Boq6Yew#W@n6Aj9OdXkO6K(@*gg8&3 zE4;Uqr@vD_=GrkzpXYP61aQMF1pB=E>_jFSIM+jx99Egz>FvebSN89l>7t~1iI3YY z!yZ@e1^wf-VD=SRK8GVXeq4m?0R+!f9CsI!&7F%_)3F;{|B*>9u;laBjWtL3i;m+@yGFSQp$eVX0ok`3JKcv>A`m)PW zg9BF9JaT!Vds5qlHmvmejg#!Px$ia%oqw4D`Y7rHd@E;_CTel$_|FF@tqC|@yKv?Q zLwI^-4~i#`6TdOaIj4U{ao$*fPbWI?if)hfnst3@Bw*;5$9I4oviy6EmIzB@sJgKT z`KR9@bf2~0gXEn`UKv`)O<+0p*(4@1$9g&s3nZFtRT_0|PCQSl3|LYm*AR~pF=vTi zvxNNNoAJV7wG)l&&ai z+{&Y$deVV`C2xQ&ZO$)mV1d6r9SfY012Q`?$HOj`74aiCS=LBX6JO{0Atw9_d9sI| zZ3Mgv(2d#7nmv)S05}KhYAK(!o?f~9_mbdau1L$}J zN$eqy7B9H^k%{P}WOE+J>(KbDnuPDL;*U-&+B~^T86q8P9ZI{6uAsl@GT{UYe4wN{ zMkw)A{miVn;n&nLKg1qFvFaza*mjaS=@nU4#hkxm4(|Z?$CsdMYaXO)M82|lys4(Kq&R!lQNH$48I(8s5cBuYxm|F{ z<}<}1O0}-H7gF~si{r#24xY|-dyQU ztXq4V`lwbBIzBw~*_o=$)2kT5({cmb7|6*bGVzLSN`@2uP!+4JJ#vFi#2UMF#2KqqzB{HBxB_7k_guW4XgbGyF-A;j_@aw3uo-3?M4D1LNZX*lMrXO9}#SWywf9& zh$`x!F;xA9rUfrB9$nVGM4xPXwql;fVkl)Aqnqls88oKhks6;T$UAZA2s32!=`owF zi(2tNqy&*F@_A6Eq7Ab##w7HyWSK{7TGa&j(Or@s?*PZd7gv0>ZBk3-g#%xyFCDXR zsD{S;jxl9jA?$m=g%GK!qxw*6igoAVAG~`5q*Es%Gk1hLLVBMY+Qe}OkOubUidY3l zl1%){tto--xrBNtGE%@XPumS!z85JNEK zC$LC*4 z4r0^JsI2u?T&0wK4ue%N2evq9I@Z7k%dqpj*+{=9&A&*#vH zGcXT6{-ioEYiyfaLew5%6m_Mrlm8Er7;sI3C609r2K0zbB++MDXQ@YgTC*897D=TUUiN zc_wCSfbVZj1-X=&>;-6+ zB;=~)7Pi0;n46>QI7~jI&|`>AhdSFjuDqp5(AD3NovK>!$M(_H*=kJfYE)z^@4fewwG6 zvA)v7PhgUJs;mRR2nZ?rOiTXih8bJrJ%d1$ka`DDY+J?RQlNg-%flJQ<+oQTZm{;1 z&KKFUJ5i)xw zSF9mbznQ*#ToWYB1$&^bdDRy@Nd!@_WnFivVKtlYrb@jzV<<9i7R+GcvFalXkq5 z%UXZ(mYhS72i}wg13~FdPp$^h!k1b z{f#PgVN|bYaN505Sw0t=E?u((c-S_K3SC_f>D5c1%fFz3_>$P?v~$}ZTor~G=DX== znK2B(Wgk0HJ2sf}H#Qit|8?Vd@R;*4Dfx7uL6ggK5;MtTGxO&kQuLBTcf+%9-nN4# z>=MSLvx3>g8{%aXlPSeoEaM8H5#BGaOuW~Z1zwS(R= zb7WekL^EjOs-bAkRYtHpk zIn`ZpY4~$V>Voh0gwae=4T&DJUMW{fiEx#n&~6 z6e^gc_Zm@GAMNV)fl8yKiYFT(!zRyj-UfjmN3GX2%-T>DP%vuNsgBLSba}FxpNevd zdb!Bv-aOg7nw!k*p!3gUD{1+K9b z=kM-SEjhTg7w0d&_;e`41x_!BW8EfNhN zy;syx(w=}(7Ck)qT|L3C!FyBV_~IizuRdnj+vo?Vnz!d*2*!Uj@jblXn&z4u)4|?f zM?vDhMF!}4x_*7u`-Pw)!Y>ykbS5pnDKkg#6wP!+)NiDJ*TrR}@P#F+y%0qRFUkwL zBrrM~RQ^)_7vY{M`i8Y*RS|jzcrf62wtH53R2=(e3iOI3v_`^BzU?^io-Gg-{+q#= zWG4~VK#dyD{((6-a~jqdl`Aa@#^=>9DyaX^8p14QTwect&%geLr&cqYz^VyR=V^F~ zZs;~1g~nlIap==6cz@^`94+N#G6FW())0)i`)02KY-4+EtET6RK~L&8!K}iQg(?EB zA%AE3pLcaBfdokHsxE0am4~T~?VXs^6$im+M~a7#ap8{ZXM$ASi`B`qTu6q5pIZ$LnERhgTwFqv>R{2i zWGL5AX5G5b+?cY{efcmn%QjJu|JD!x-pDmQNmWZRT%$E`#pWT1T+~6 zoG@#8A1I0(>dKVkL8h4O)5}|?KiK@PEB^BDZvyS-61TkH^SWO+8UL8rZl7nOSZN9R zsg1K;y+$!nSJx3`d@y5m!AN~@BJ6CND8Vpd6PNo_byBq3Y@geqT-Ci~Pfug^A7g8Y zilM}AqITLjGB&*;uYa0X*ZAFTT?dt)Qjf8-`$yeQ%S4aB ze_I#P*-OR0q&fh5x<)N>G5dobPEd*Bg!i6TJQnnRhi5h>{Bm8t^v$haEyi68Ol5YD zTe_0p0qoR^w2d7YNYch0nl~N8%pHq++caQr14)M9-*Yv4m`B+j>az|GaPGe<_AZSr zJy;w6>vv;1`(*Nn{nSi(=WoFuytvTGB^$%M*&=k7*7*62DzC4{%*Bn~UsBrd)qbFR z`eB9_q=pWL2Ub|_8t0sk);|JD9$6Dpm^Ch@E*4jWK>CaboN_);mPV@g3uzjRTsV7Pm5T5;$7q$rXy{chd)Y1In(R;F_qq3NDeI zzW;i@k-6suoxgVwm~A!n9?~PWkPac3ODr2v^@!S(LiDn1Sy;IYaIykg0k41t8aj_`c-{tP2Vg@>m1zS@L&O=wWqlf2g;qzgzpFVtms}T&PA-+8I?!T`~;wYVzp~ z&5S2s$g8BoCmA^_X(JeJbk=$Ykuk(tH6UeCRRENr?MA54gvbM$qccoTpw_y$mQs~C zZ0BPfU!fH$nVv^L`>Ve}pJbiHot9ZnCJbc-4NzO9>xXg+N7%oLq2#m5X9rG*#6?(l z#_>9<@On`F9pKr9OYxEhsDDdqLODe$Mdk>6i689C+SW@QD`8E+{Md+wv{G%%X{=oe zt)zthzIKc@YzM_hwE8|!33L!si_rF{Sp0V*On!c0O4uvnXAxb3a9W+0?k=ngsy1k= z?cl2rsjOU2W*EFt+igOA%#n#@Qv4$wCc&c$YS1$fJU-$}{@79d>~?5`1g8I#$IrNp|=IH+22MV|g|nISEpog~v% zUuo@s6+LYEJ5B^%O*0}xOuPdoSza)UR@vK-I*TqUCtY+Hzv9evQMxz|s%zjU^pnq? zD@tQ$_YMH3L#bj=t~YBsW{`_L$iJtTr!+c4xK1^mi0#N$rS%GV{aUFv^$lj+>tSRF zM=b#z8yTDDFA2>Fr?$I9V_odtOpWIIIo=*U<@{TRg{7-MTyrJsjC5)=9S89(#!LvM*oRdQE677?l;bVLZDm z$Xx2It_PymQ)XxyPtqrBt}+$fQwU$mH~Yg(y~MnsL=O3H5?D>l=XScLiiuy!kV~;7 zPF+t)6;+`)SS8`eiyWqcXXgGHTP{nf=#9*>qP>jSA-cTa;!)bZMheizX4TN;{^CL| zkc9M^$j@1*K~Nr@yN`8WV_$Ti+}qkX+AFIT-hJQcHj7{C%Il>Gi8M1}87IQ33^9_{ z@Bi?60}sXT{b4I>&mcte3+D6a+!M}|AIjir?Sr_M1P@{aF5sSinh`Oc+sUXQoLcvP zW-7KWoSG{S-F|z1=wHY0(LX$_&i1c2_*U6*1omZIaU73?+EhW>d#qpYT>gq5@V* zL0w{1%o%`4iYD|Rr)&$UZ@H|UcGZliTRr_#=8p4K2bMpbBrSv>$)W2R0imx6{u5#I z*=^IGFD|x?C-d!2lQ$CR7|3?~*VqCB+)X!Es@A!^KQvCeWOBI)F>Pu~bPaCAT(Ami zR!yEQ26OeM9^5XfyFb|@Uw;>ncRKNBJ7GKq?8}xWXGdA{SLoXmi*;@*Hmp#<&?!|) zt0$1n-5MggwJzEMd%A!S>Y;z8{&<_SUaj=#tiQ4LG(+b(dks)d^Sd}(;2|p*Y zdg^U*5ll1Roxvw&BH1b9MV71m5>uKh^6w5%<+XF@!pJc(DN=_#7|yv*#YUO0Yy?OomisIClJF@~7&*qYR#d z19;Z;Lia3UH-x}wZa;Id!QlPHu5El$%20e^6z43)DeCr@bDr+h0Y@66b&IY}B3^ci zhg`>4YO3Q_yr^d805`l%4q*^cM_|kMc9X&}u{#5~BZW%N*X`HkFx{ZctbylII$Y4Z z^*(Rc{G629wfhzmn6CssbiL6Y{y-$1uB(d2WXw|SvKK%fiE%1es_QHI?u<7~&+yf~!<3nP z`e{N8*a+0Cv!GEB0ozRaf0Qy{_;)0u@B(bPrp~yFJo3-krA`ySy>5lk#3oc#9|o?3NbR3>knSG-Bvcz&9{YPq{bcx8_$T^$ z33+p#`mCSeBG_$Sp>Y)h6;Ter6p;d+S_|e)`RL7eV{gkttlK&U(f=~~ksZ0*Hs!?k zyHHIpLQ!saz<>~#qk{y0szrxov8QUK%@f#0a5975$3A`W^4FUr zd?4>h;5jyDj~POO&RlRWpI@$Pc|4MWgU9B_N`Wxe*yShvsX?75ZrzL$j1lB_DVO1Q zC>?g8jZRqx;m`wn5-UBN?iaR|-${IQvnB?9kU)mcch=Z~4TER5%TpN~TgPt}%Dy#J z-)_qKU}=43dzfsee>tu$P}hb%Wud!zu)PV}R7(9*B`Pqb9>iG83>Lt=I$0i54WuQ$FscXBUL;b@Kfo~=Tv)bToRmUaSM z1hHHQ4s#&n@;FQ}^GWas@BoVz0Ba2E#zZwuzI#^I6q@D_y=VW!khoy`0?Duu0g@%B z0E1yXv*z{7ObW%_)ePUaLJ>m%JAhrWMwP?5x`4M`jF~p$A;ROS%|?7#+@k=1KP+gy zc)XndTs7v%9uapmw?UcaoCm&el5WyC@cgJT@XWiMsB%%au{O{)Oy@KHS6)QPfbm|d zzwC0)yRLd=P5u{xf>s+s?rk;b)GNL7HoBR8ZOz`MFABWXFs7b3$`-s=xj#x>)jp1|I{@PFT^uz0|m!5SsvrwI-HwR}@j#`o)xxR$q)~)H*GSCYjmpQWV zmVJ|dj;iMWD8kP_F;;{+nH29g$WV0G6NCqnwct4Vbbw-Fw!6F4e%VBPO|#|8M-@6T zoPfT!|C7-XNJ>^NwpAF&jm=IRE>|erTYyF;*X|dcg5ZcWw~(}Xd$#Az$cvO~zN+%y z6&P!d3>6eX#Ko2aKkeIWIDk>au?&MzQWRIyunWJsHYnW3(&uo-ujRe+c2bH+ezx^E=nB(XJRpmle&}Sihh{#FGrm&ar^&Tr_Pg>gj;?6kqu{H(s@tFJ*A* zbFPxnPXvT`o>$|__x}HuH-$|@XlbPxXU_1K4bAnyX4jP$bPMI4p}F@b6L{;vk=Gt* zu`2;if7>srUx$}I@)Y0*+|jx?VrKfrYWq;^o!( z_74gEPvaW#EYmsV<_-_Ie${G4Dkk;oC1mgU5NU+sd?JmvQTHk%5tht{YaVM+N>ianSD@gVWgQ= zdUk)H5J3OzA#S)b&Bk)VA}DK01bsx3(<>JcGuAk{(ErM>_;K!f^H7lTj%B+) zm3^fO_)T}{TH#Cuvr$``f!YUo9uErZg&1zLguZVfv#hOj>AF0R*T@45y$fHfByX&6 zCH>w67jG-maBDV|>uyTkfaz2T@)N5dBZ}qp45Dd>krIK;WCOCQ!AOrhcV*fN!kf7c g5zndl{2>UO`Oh7|=~P5VIoMTLW=!ou{%-#N0PuVG@&Et; literal 0 HcmV?d00001 diff --git a/Source/DataSources/CzmlDataSource.js b/Source/DataSources/CzmlDataSource.js index 2d69514eb071..1a5a69701bf1 100644 --- a/Source/DataSources/CzmlDataSource.js +++ b/Source/DataSources/CzmlDataSource.js @@ -6,6 +6,7 @@ define([ '../Core/ClockRange', '../Core/ClockStep', '../Core/Color', + '../Core/CornerType', '../Core/createGuid', '../Core/defaultValue', '../Core/defined', @@ -44,6 +45,7 @@ define([ './CompositeProperty', './ConstantPositionProperty', './ConstantProperty', + './CorridorGraphics', './CylinderGraphics', './DataSource', './DataSourceClock', @@ -81,6 +83,7 @@ define([ ClockRange, ClockStep, Color, + CornerType, createGuid, defaultValue, defined, @@ -119,6 +122,7 @@ define([ CompositeProperty, ConstantPositionProperty, ConstantProperty, + CorridorGraphics, CylinderGraphics, DataSource, DataSourceClock, @@ -354,6 +358,8 @@ define([ return StripeOrientation[defaultValue(czmlInterval.stripeOrientation, czmlInterval)]; case HorizontalOrigin: return HorizontalOrigin[defaultValue(czmlInterval.horizontalOrigin, czmlInterval)]; + case CornerType: + return CornerType[defaultValue(czmlInterval.cornerType, czmlInterval)]; case Image: return unwrapUriInterval(czmlInterval, sourceUri); case JulianDate: @@ -566,7 +572,6 @@ define([ } interval.data.addSamplesPackedArray(unwrappedInterval, epoch); updateInterpolationSettings(packetData, interval.data); - return; } function processPacketData(type, object, propertyName, packetData, interval, sourceUri, entityCollection) { @@ -1428,6 +1433,38 @@ define([ processPacketData(Boolean, rectangle, 'closeTop', rectangleData.closeTop, interval, sourceUri, entityCollection); } + function processCorridor(entity, packet, entityCollection, sourceUri) { + var corridorData = packet.corridor; + if (!defined(corridorData)) { + return; + } + + var interval; + var intervalString = corridorData.interval; + if (defined(intervalString)) { + iso8601Scratch.iso8601 = intervalString; + interval = TimeInterval.fromIso8601(iso8601Scratch); + } + + var corridor = entity.corridor; + if (!defined(corridor)) { + entity.corridor = corridor = new CorridorGraphics(); + } + + processPositions(corridor, 'positions', corridorData.positions, entityCollection); + processPacketData(Number, corridor, 'width', corridorData.width, interval, sourceUri, entityCollection); + processPacketData(CornerType, corridor, 'cornerType', corridorData.cornerType, interval, sourceUri, entityCollection); + processPacketData(Number, corridor, 'height', corridorData.height, interval, sourceUri, entityCollection); + processPacketData(Number, corridor, 'extrudedHeight', corridorData.extrudedHeight, interval, sourceUri, entityCollection); + processPacketData(Boolean, corridor, 'show', corridorData.show, interval, sourceUri, entityCollection); + processMaterialPacketData(corridor, 'material', corridorData.material, interval, sourceUri, entityCollection); + processPacketData(Number, corridor, 'granularity', corridorData.granularity, interval, sourceUri, entityCollection); + processPacketData(Boolean, corridor, 'fill', corridorData.fill, interval, sourceUri, entityCollection); + processPacketData(Boolean, corridor, 'outline', corridorData.outline, interval, sourceUri, entityCollection); + processPacketData(Color, corridor, 'outlineColor', corridorData.outlineColor, interval, sourceUri, entityCollection); + processPacketData(Number, corridor, 'outlineWidth', corridorData.outlineWidth, interval, sourceUri, entityCollection); + } + function processWall(entity, packet, entityCollection, sourceUri) { var wallData = packet.wall; if (!defined(wallData)) { @@ -1773,6 +1810,7 @@ define([ CzmlDataSource.updaters = [ processBillboard, // processBox, // + processCorridor, // processCylinder, // processEllipse, // processEllipsoid, // diff --git a/Specs/DataSources/CzmlDataSourceSpec.js b/Specs/DataSources/CzmlDataSourceSpec.js index 1c9c41e695b3..dca7deef4c7e 100644 --- a/Specs/DataSources/CzmlDataSourceSpec.js +++ b/Specs/DataSources/CzmlDataSourceSpec.js @@ -7,6 +7,7 @@ defineSuite([ 'Core/ClockRange', 'Core/ClockStep', 'Core/Color', + 'Core/CornerType', 'Core/defined', 'Core/Ellipsoid', 'Core/Event', @@ -35,6 +36,7 @@ defineSuite([ ClockRange, ClockStep, Color, + CornerType, defined, Ellipsoid, Event, @@ -1952,6 +1954,127 @@ defineSuite([ expect(entity.wall.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6); }); + it('CZML adds data for box.', function() { + var boxPacket = { + box : { + material : { + solidColor : { + color : { + rgbaf : [0.1, 0.2, 0.3, 0.4] + } + } + }, + dimensions : { + cartesian : [1, 2, 3] + }, + show : true, + outline : true, + outlineColor : { + rgbaf : [0.2, 0.2, 0.2, 0.2] + }, + outlineWidth : 6 + } + }; + + var dataSource = new CzmlDataSource(); + dataSource.load(makePacket(boxPacket)); + var entity = dataSource.entities.values[0]; + + expect(entity.box).toBeDefined(); + expect(entity.box.dimensions.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Cartesian3(1, 2, 3)); + expect(entity.box.material.getValue(Iso8601.MINIMUM_VALUE).color).toEqual(new Color(0.1, 0.2, 0.3, 0.4)); + expect(entity.box.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true); + expect(entity.box.outline.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true); + expect(entity.box.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2)); + expect(entity.box.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6); + }); + + it('CZML adds data for cylinder.', function() { + var cylinderPacket = { + cylinder : { + material : { + solidColor : { + color : { + rgbaf : [0.1, 0.2, 0.3, 0.4] + } + } + }, + length : 5, + topRadius: 6, + bottomRadius: 7, + show : true, + outline : true, + outlineColor : { + rgbaf : [0.2, 0.2, 0.2, 0.2] + }, + outlineWidth : 6 + } + }; + + var dataSource = new CzmlDataSource(); + dataSource.load(makePacket(cylinderPacket)); + var entity = dataSource.entities.values[0]; + + expect(entity.cylinder).toBeDefined(); + expect(entity.cylinder.length.getValue(Iso8601.MINIMUM_VALUE)).toEqual(5); + expect(entity.cylinder.topRadius.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6); + expect(entity.cylinder.bottomRadius.getValue(Iso8601.MINIMUM_VALUE)).toEqual(7); + expect(entity.cylinder.material.getValue(Iso8601.MINIMUM_VALUE).color).toEqual(new Color(0.1, 0.2, 0.3, 0.4)); + expect(entity.cylinder.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true); + expect(entity.cylinder.outline.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true); + expect(entity.cylinder.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2)); + expect(entity.cylinder.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6); + }); + + it('CZML adds data for corridor.', function() { + var expectedResult = [new Cartesian3(1.0, 2.0, 3.0), new Cartesian3(5.0, 6.0, 7.0)]; + + var corridorPacket = { + corridor : { + material : { + solidColor : { + color : { + rgbaf : [0.1, 0.2, 0.3, 0.4] + } + } + }, + positions : { + cartesian : [expectedResult[0].x, expectedResult[0].y, expectedResult[0].z, expectedResult[1].x, expectedResult[1].y, expectedResult[1].z] + }, + cornerType : "MITERED", + extrudedHeight : 2, + granularity : 3, + height : 4, + width: 9, + show : true, + outline : true, + outlineColor : { + rgbaf : [0.2, 0.2, 0.2, 0.2] + }, + outlineWidth : 6 + } + }; + + var czmlCorridor = corridorPacket.corridor; + + var dataSource = new CzmlDataSource(); + dataSource.load(makePacket(corridorPacket)); + var entity = dataSource.entities.values[0]; + + expect(entity.corridor).toBeDefined(); + expect(entity.corridor.positions.getValue(Iso8601.MINIMUM_VALUE)).toEqual(expectedResult); + expect(entity.corridor.material.getValue(Iso8601.MINIMUM_VALUE).color).toEqual(new Color(0.1, 0.2, 0.3, 0.4)); + expect(entity.corridor.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlCorridor.show); + expect(entity.corridor.height.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlCorridor.height); + expect(entity.corridor.width.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlCorridor.width); + expect(entity.corridor.cornerType.getValue(Iso8601.MINIMUM_VALUE)).toEqual(CornerType.MITERED); + expect(entity.corridor.extrudedHeight.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlCorridor.extrudedHeight); + expect(entity.corridor.granularity.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlCorridor.granularity); + expect(entity.corridor.outline.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true); + expect(entity.corridor.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2)); + expect(entity.corridor.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6); + }); + it('Has entity collection with link to data source', function() { var dataSource = new CzmlDataSource(); dataSource.load(nameCzml); From 6a10584605f81420c15da80c9a7c04941a53fe84 Mon Sep 17 00:00:00 2001 From: hpinkos Date: Wed, 1 Jun 2016 15:54:35 -0400 Subject: [PATCH 04/32] cleanup czml demos --- .../gallery/CZML Billboard and Label.html | 56 +- .../gallery/CZML Circles and Ellipses.html | 130 +- Apps/Sandcastle/gallery/CZML Colors.html | 102 +- .../CZML Model - Node Transformations.html | 126 +- Apps/Sandcastle/gallery/CZML Model.html | 74 +- Apps/Sandcastle/gallery/CZML Path.html | 3685 +++++++++-------- .../gallery/CZML Point - Time Dynamic.html | 76 +- .../gallery/CZML Point - Time Dynamic.jpg | Bin 27924 -> 15728 bytes Apps/Sandcastle/gallery/CZML Point.html | 66 +- Apps/Sandcastle/gallery/CZML Point.jpg | Bin 44465 -> 24324 bytes ...ML Polygon - Interpolating References.html | 140 +- ...ZML Polygon - Intervals, Availability.html | 215 +- Apps/Sandcastle/gallery/CZML Polygon.html | 154 +- Apps/Sandcastle/gallery/CZML Polyline.html | 142 +- .../gallery/CZML Position Definitions.html | 113 +- Apps/Sandcastle/gallery/CZML Rectangle.html | 110 +- .../gallery/CZML Reference Properties.html | 136 +- .../gallery/CZML Spheres and Ellipsoids.html | 127 +- Apps/Sandcastle/gallery/CZML Wall.html | 83 +- 19 files changed, 2741 insertions(+), 2794 deletions(-) diff --git a/Apps/Sandcastle/gallery/CZML Billboard and Label.html b/Apps/Sandcastle/gallery/CZML Billboard and Label.html index aeb9db551321..dc6e1521d663 100644 --- a/Apps/Sandcastle/gallery/CZML Billboard and Label.html +++ b/Apps/Sandcastle/gallery/CZML Billboard and Label.html @@ -26,54 +26,52 @@ diff --git a/Apps/Sandcastle/gallery/CZML Circles and Ellipses.html b/Apps/Sandcastle/gallery/CZML Circles and Ellipses.html index 44869d48ee57..e9fd0a46f533 100644 --- a/Apps/Sandcastle/gallery/CZML Circles and Ellipses.html +++ b/Apps/Sandcastle/gallery/CZML Circles and Ellipses.html @@ -1,20 +1,20 @@ - - - - - - Cesium Demo - - - + + + + + + Cesium Demo + + +