From 792285fdddaf8a995afc367a6d77af2a600c146c Mon Sep 17 00:00:00 2001 From: hpinkos Date: Wed, 1 Jun 2016 11:23:50 -0400 Subject: [PATCH 1/5] 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 2/5] 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 c897467578c123f0d4b230c8b1b8b5542f1eceaa Mon Sep 17 00:00:00 2001 From: hpinkos Date: Wed, 1 Jun 2016 16:01:27 -0400 Subject: [PATCH 3/5] whitespace --- Apps/Sandcastle/gallery/CZML Box.html | 78 ++++++----- .../gallery/CZML Cones and Cylinders.html | 60 ++++----- Apps/Sandcastle/gallery/CZML Corridor.html | 125 +++++++++--------- 3 files changed, 126 insertions(+), 137 deletions(-) diff --git a/Apps/Sandcastle/gallery/CZML Box.html b/Apps/Sandcastle/gallery/CZML Box.html index 1fbfb357f9f6..eea50295d2de 100644 --- a/Apps/Sandcastle/gallery/CZML Box.html +++ b/Apps/Sandcastle/gallery/CZML Box.html @@ -28,69 +28,67 @@ function startup(Cesium) { 'use strict'; //Sandcastle_Begin -var czml = [ - { +var czml = [{ "id" : "document", "name" : "box", "version" : "1.0" - }, { +}, { "id" : "shape1", "name" : "Blue box", "position" : { - "cartographicDegrees" : [-114.0, 40.0, 300000.0] + "cartographicDegrees" : [-114.0, 40.0, 300000.0] }, "box" : { - "dimensions" : { - "cartesian": [400000.0, 300000.0, 500000.0] - }, - "material" : { - "solidColor" : { - "color" : { - "rgba" : [0, 0, 255, 255] - } + "dimensions" : { + "cartesian": [400000.0, 300000.0, 500000.0] + }, + "material" : { + "solidColor" : { + "color" : { + "rgba" : [0, 0, 255, 255] + } + } } - } } - }, { +}, { "id" : "shape2", "name" : "Red box with black outline", "position" : { - "cartographicDegrees" : [-107.0, 40.0, 300000.0] + "cartographicDegrees" : [-107.0, 40.0, 300000.0] }, "box" : { - "dimensions" : { - "cartesian": [400000.0, 300000.0, 500000.0] - }, - "material" : { - "solidColor" : { - "color" : { - "rgba" : [255, 0, 0, 128] - } + "dimensions" : { + "cartesian": [400000.0, 300000.0, 500000.0] + }, + "material" : { + "solidColor" : { + "color" : { + "rgba" : [255, 0, 0, 128] + } + } + }, + "outline" : true, + "outlineColor" : { + "rgba" : [0, 0, 0, 255] } - }, - "outline" : true, - "outlineColor" : { - "rgba" : [0, 0, 0, 255] - } } - }, { +}, { "id" : "shape3", "name" : "Yellow box outline", "position" : { - "cartographicDegrees" : [-100.0, 40.0, 300000.0] + "cartographicDegrees" : [-100.0, 40.0, 300000.0] }, "box" : { - "dimensions" : { - "cartesian": [400000.0, 300000.0, 500000.0] - }, - "fill" : false, - "outline" : true, - "outlineColor" : { - "rgba" : [255, 255, 0, 255] - } + "dimensions" : { + "cartesian": [400000.0, 300000.0, 500000.0] + }, + "fill" : false, + "outline" : true, + "outlineColor" : { + "rgba" : [255, 255, 0, 255] + } } - } -]; +}]; var viewer = new Cesium.Viewer('cesiumContainer'); var dataSource = Cesium.CzmlDataSource.load(czml); diff --git a/Apps/Sandcastle/gallery/CZML Cones and Cylinders.html b/Apps/Sandcastle/gallery/CZML Cones and Cylinders.html index 9a925f62bdcd..52496feb03c2 100644 --- a/Apps/Sandcastle/gallery/CZML Cones and Cylinders.html +++ b/Apps/Sandcastle/gallery/CZML Cones and Cylinders.html @@ -28,55 +28,51 @@ function startup(Cesium) { 'use strict'; //Sandcastle_Begin -var czml = [ - { +var czml = [{ "id" : "document", "name" : "CZML Geometries: Cones and Cylinders", "version" : "1.0" - }, - { +}, { "id" : "shape1", "name" : "Green cylinder with black outline", "position" : { - "cartographicDegrees" : [-100.0, 40.0, 200000.0] + "cartographicDegrees" : [-100.0, 40.0, 200000.0] }, "cylinder" : { - "length" : 400000.0, - "topRadius" : 200000.0, - "bottomRadius" : 200000.0, - "material" : { - "solidColor" : { - "color" : { - "rgba" : [0, 255, 0, 128] - } + "length" : 400000.0, + "topRadius" : 200000.0, + "bottomRadius" : 200000.0, + "material" : { + "solidColor" : { + "color" : { + "rgba" : [0, 255, 0, 128] + } + } + }, + "outline" : true, + "outlineColor" : { + "rgba" : [0, 0, 0, 255] } - }, - "outline" : true, - "outlineColor" : { - "rgba" : [0, 0, 0, 255] - } } - }, - { +}, { "id" : "shape2", "name" : "Red cone", "position" : { - "cartographicDegrees" : [-105.0, 40.0, 200000.0] + "cartographicDegrees" : [-105.0, 40.0, 200000.0] }, "cylinder" : { - "length" : 400000.0, - "topRadius" : 0.0, - "bottomRadius" : 200000.0, - "material" : { - "solidColor" : { - "color" : { - "rgba" : [255, 0, 0, 255] - } + "length" : 400000.0, + "topRadius" : 0.0, + "bottomRadius" : 200000.0, + "material" : { + "solidColor" : { + "color" : { + "rgba" : [255, 0, 0, 255] + } + } } - } } - } -]; +}]; var viewer = new Cesium.Viewer('cesiumContainer'); var dataSource = Cesium.CzmlDataSource.load(czml); diff --git a/Apps/Sandcastle/gallery/CZML Corridor.html b/Apps/Sandcastle/gallery/CZML Corridor.html index fc78d38e1d63..5fcf2d78a030 100644 --- a/Apps/Sandcastle/gallery/CZML Corridor.html +++ b/Apps/Sandcastle/gallery/CZML Corridor.html @@ -28,89 +28,84 @@ function startup(Cesium) { 'use strict'; //Sandcastle_Begin -var czml = [ - { +var czml = [{ "id" : "document", "name" : "CZML Geometries: Polyline", "version" : "1.0" - }, - { +}, { "id" : "redCorridor", "name" : "Red corridor on surface with rounded corners and outline", "corridor" : { - "positions" : { - "cartographicDegrees" : [ - -100.0, 40.0, 0, - -105.0, 40.0, 0, - -105.0, 35.0, 0 - ] - }, - "width" : 200000.0, - "material" : { - "solidColor" : { - "color" : { - "rgba" : [255, 0, 0, 127] - } + "positions" : { + "cartographicDegrees" : [ + -100.0, 40.0, 0, + -105.0, 40.0, 0, + -105.0, 35.0, 0 + ] + }, + "width" : 200000.0, + "material" : { + "solidColor" : { + "color" : { + "rgba" : [255, 0, 0, 127] + } + } + }, + "outline" : true, + "outlineColor" : { + "rgba" : [255, 0, 0, 255] } - }, - "outline" : true, - "outlineColor" : { - "rgba" : [255, 0, 0, 255] - } } - }, - { +}, { "id" : "greenCorridor", "name" : "Green corridor at height with mitered corners", "corridor" : { - "positions" : { - "cartographicDegrees" : [ - -90.0, 40.0, 0, - -95.0, 40.0, 0, - -95.0, 35.0, 0 - ] - }, - "height" : 100000.0, - "cornerType" : "MITERED", - "width" : 200000.0, - "material" : { - "solidColor" : { - "color" : { - "rgba" : [0, 255, 0, 255] - } + "positions" : { + "cartographicDegrees" : [ + -90.0, 40.0, 0, + -95.0, 40.0, 0, + -95.0, 35.0, 0 + ] + }, + "height" : 100000.0, + "cornerType" : "MITERED", + "width" : 200000.0, + "material" : { + "solidColor" : { + "color" : { + "rgba" : [0, 255, 0, 255] + } + } } - } } - }, - { +}, { "id" : "blueCorridor", "name" : "Blue extruded corridor with beveled corners and outline", "corridor" : { - "positions" : { - "cartographicDegrees" : [ - -80.0, 40.0, 0, - -85.0, 40.0, 0, - -85.0, 35.0, 0 - ] - }, - "height" : 200000.0, - "extrudedHeight" : 100000.0, - "width" : 200000.0, - "cornerType": "BEVELED", - "material" : { - "solidColor" : { - "color" : { - "rgba" : [0, 0, 255, 255] - } + "positions" : { + "cartographicDegrees" : [ + -80.0, 40.0, 0, + -85.0, 40.0, 0, + -85.0, 35.0, 0 + ] + }, + "height" : 200000.0, + "extrudedHeight" : 100000.0, + "width" : 200000.0, + "cornerType": "BEVELED", + "material" : { + "solidColor" : { + "color" : { + "rgba" : [0, 0, 255, 255] + } + } + }, + "outline" : true, + "outlineColor" : { + "rgba" : [0, 0, 0, 255] } - }, - "outline" : true, - "outlineColor" : { - "rgba" : [0, 0, 0, 255] - } } - } -]; +}]; var viewer = new Cesium.Viewer('cesiumContainer'); var dataSource = Cesium.CzmlDataSource.load(czml); From e28e288d4ca7a6c3021ac1e402ce95be2dbca830 Mon Sep 17 00:00:00 2001 From: Matthew Amato Date: Fri, 3 Jun 2016 14:27:07 -0400 Subject: [PATCH 4/5] Run sortRequires. --- Apps/Sandcastle/CesiumSandcastle.js | 16 +- Source/DataSources/CzmlDataSource.js | 306 +++++++++--------- Source/DataSources/VelocityVectorProperty.js | 34 +- .../DataSources/VelocityVectorPropertySpec.js | 30 +- Specs/Scene/ShadowMapSpec.js | 4 +- 5 files changed, 195 insertions(+), 195 deletions(-) diff --git a/Apps/Sandcastle/CesiumSandcastle.js b/Apps/Sandcastle/CesiumSandcastle.js index 0786208fec1d..34378f6a407a 100644 --- a/Apps/Sandcastle/CesiumSandcastle.js +++ b/Apps/Sandcastle/CesiumSandcastle.js @@ -20,6 +20,10 @@ require({ location : '../ThirdParty/codemirror-4.6' }] }, [ + "dijit/Dialog", + "dijit/form/Button", + "dijit/form/Form", + "dijit/form/Textarea", 'CodeMirror/lib/codemirror', 'dijit/layout/ContentPane', 'dijit/popup', @@ -38,10 +42,6 @@ require({ 'dojo/query', 'dojo/when', 'Sandcastle/LinkButton', - "dijit/Dialog", - "dijit/form/Form", - "dijit/form/Textarea", - "dijit/form/Button", 'Source/Cesium', 'CodeMirror/addon/hint/show-hint', 'CodeMirror/addon/hint/javascript-hint', @@ -63,6 +63,10 @@ require({ 'dijit/ToolbarSeparator', 'dojo/domReady!' ], function( + Dialog, + Button, + Form, + TextArea, CodeMirror, ContentPane, popup, @@ -81,10 +85,6 @@ require({ query, when, LinkButton, - Dialog, - Form, - TextArea, - Button, Cesium) { 'use strict'; diff --git a/Source/DataSources/CzmlDataSource.js b/Source/DataSources/CzmlDataSource.js index 1a5a69701bf1..f09ae0f65a98 100644 --- a/Source/DataSources/CzmlDataSource.js +++ b/Source/DataSources/CzmlDataSource.js @@ -1,158 +1,158 @@ /*global define*/ define([ - '../Core/Cartesian2', - '../Core/Cartesian3', - '../Core/Cartographic', - '../Core/ClockRange', - '../Core/ClockStep', - '../Core/Color', - '../Core/CornerType', - '../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', - './CorridorGraphics', - './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, - CornerType, - 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, - CorridorGraphics, - 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) { + '../Core/Cartesian2', + '../Core/Cartesian3', + '../Core/Cartographic', + '../Core/ClockRange', + '../Core/ClockStep', + '../Core/Color', + '../Core/CornerType', + '../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', + './CorridorGraphics', + './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, + CornerType, + 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, + CorridorGraphics, + 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; diff --git a/Source/DataSources/VelocityVectorProperty.js b/Source/DataSources/VelocityVectorProperty.js index 5dffe0e3c34b..c10e061bbcef 100644 --- a/Source/DataSources/VelocityVectorProperty.js +++ b/Source/DataSources/VelocityVectorProperty.js @@ -1,22 +1,22 @@ /*global define*/ define([ - '../Core/Cartesian3', - '../Core/defaultValue', - '../Core/defined', - '../Core/defineProperties', - '../Core/DeveloperError', - '../Core/Event', - '../Core/JulianDate', - './Property' -], function( - Cartesian3, - defaultValue, - defined, - defineProperties, - DeveloperError, - Event, - JulianDate, - Property) { + '../Core/Cartesian3', + '../Core/defaultValue', + '../Core/defined', + '../Core/defineProperties', + '../Core/DeveloperError', + '../Core/Event', + '../Core/JulianDate', + './Property' + ], function( + Cartesian3, + defaultValue, + defined, + defineProperties, + DeveloperError, + Event, + JulianDate, + Property) { 'use strict'; /** diff --git a/Specs/DataSources/VelocityVectorPropertySpec.js b/Specs/DataSources/VelocityVectorPropertySpec.js index 90f7063ed947..61914fe11895 100644 --- a/Specs/DataSources/VelocityVectorPropertySpec.js +++ b/Specs/DataSources/VelocityVectorPropertySpec.js @@ -1,20 +1,20 @@ /*global defineSuite*/ defineSuite([ - 'DataSources/VelocityVectorProperty', - 'Core/Cartesian3', - 'Core/Event', - 'Core/ExtrapolationType', - 'Core/JulianDate', - 'DataSources/CallbackProperty', - 'DataSources/SampledPositionProperty' -], function( - VelocityVectorProperty, - Cartesian3, - Event, - ExtrapolationType, - JulianDate, - CallbackProperty, - SampledPositionProperty) { + 'DataSources/VelocityVectorProperty', + 'Core/Cartesian3', + 'Core/Event', + 'Core/ExtrapolationType', + 'Core/JulianDate', + 'DataSources/CallbackProperty', + 'DataSources/SampledPositionProperty' + ], function( + VelocityVectorProperty, + Cartesian3, + Event, + ExtrapolationType, + JulianDate, + CallbackProperty, + SampledPositionProperty) { 'use strict'; var time = JulianDate.now(); diff --git a/Specs/Scene/ShadowMapSpec.js b/Specs/Scene/ShadowMapSpec.js index 4b8cce9a8971..f91ef0dfa2b6 100644 --- a/Specs/Scene/ShadowMapSpec.js +++ b/Specs/Scene/ShadowMapSpec.js @@ -4,9 +4,9 @@ defineSuite([ 'Core/BoundingSphere', 'Core/BoxGeometry', 'Core/Cartesian3', - 'Core/ComponentDatatype', 'Core/Color', 'Core/ColorGeometryInstanceAttribute', + 'Core/ComponentDatatype', 'Core/defined', 'Core/EllipsoidTerrainProvider', 'Core/GeometryInstance', @@ -35,9 +35,9 @@ defineSuite([ BoundingSphere, BoxGeometry, Cartesian3, - ComponentDatatype, Color, ColorGeometryInstanceAttribute, + ComponentDatatype, defined, EllipsoidTerrainProvider, GeometryInstance, From 9e0a59c2a9faad8182272a82eb235b3d36874ab4 Mon Sep 17 00:00:00 2001 From: hpinkos Date: Fri, 3 Jun 2016 14:31:09 -0400 Subject: [PATCH 5/5] CHANGES --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 7f5bc7b50672..4c40e6c3dd80 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -5,6 +5,7 @@ Change Log * Add a `rotatable2D` option to to `Scene`, `CesiumWidget` and `Viewer` to enable a rotatable map in 2D. [#3897](https://github.com/AnalyticalGraphicsInc/cesium/issues/3897) * `Camera.setView` and `Camera.flyTo` will now use the `orientation.heading` parameter in 2D if the map is rotatable. +* Added CZML support for Box, Corridor and Cylinder ### 1.22 - 2016-06-01