Skip to content

Commit 814e95f

Browse files
authored
Merge pull request #173 from AnalyticalGraphicsInc/tileset
Add `tileset`.
2 parents e7333bc + 9e003dc commit 814e95f

File tree

13 files changed

+1330
-0
lines changed

13 files changed

+1330
-0
lines changed

DotNet/CesiumLanguageWriter.sln

+1
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Schema", "Schema", "{04E49F
8383
..\Schema\String.json = ..\Schema\String.json
8484
..\Schema\StripeMaterial.json = ..\Schema\StripeMaterial.json
8585
..\Schema\StripeOrientation.json = ..\Schema\StripeOrientation.json
86+
..\Schema\Tileset.json = ..\Schema\Tileset.json
8687
..\Schema\Translation.json = ..\Schema\Translation.json
8788
..\Schema\Uri.json = ..\Schema\Uri.json
8889
..\Schema\validate.html = ..\Schema\validate.html

DotNet/CesiumLanguageWriter/CesiumLanguageWriter.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,7 @@
395395
<Compile Include="Generated\StripeOrientationCesiumWriter.cs">
396396
<SubType>Code</SubType>
397397
</Compile>
398+
<Compile Include="Generated\TilesetCesiumWriter.cs" />
398399
<Compile Include="Generated\TranslationCesiumWriter.cs">
399400
<SubType>Code</SubType>
400401
</Compile>

DotNet/CesiumLanguageWriter/Generated/PacketCesiumWriter.cs

+24
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,11 @@ public class PacketCesiumWriter : CesiumElementWriter
141141
/// </summary>
142142
public const string RectanglePropertyName = "rectangle";
143143

144+
/// <summary>
145+
/// The name of the <c>tileset</c> property.
146+
/// </summary>
147+
public const string TilesetPropertyName = "tileset";
148+
144149
/// <summary>
145150
/// The name of the <c>wall</c> property.
146151
/// </summary>
@@ -190,6 +195,7 @@ public class PacketCesiumWriter : CesiumElementWriter
190195
private readonly Lazy<PolygonCesiumWriter> m_polygon = new Lazy<PolygonCesiumWriter>(() => new PolygonCesiumWriter(PolygonPropertyName), false);
191196
private readonly Lazy<PolylineCesiumWriter> m_polyline = new Lazy<PolylineCesiumWriter>(() => new PolylineCesiumWriter(PolylinePropertyName), false);
192197
private readonly Lazy<RectangleCesiumWriter> m_rectangle = new Lazy<RectangleCesiumWriter>(() => new RectangleCesiumWriter(RectanglePropertyName), false);
198+
private readonly Lazy<TilesetCesiumWriter> m_tileset = new Lazy<TilesetCesiumWriter>(() => new TilesetCesiumWriter(TilesetPropertyName), false);
193199
private readonly Lazy<WallCesiumWriter> m_wall = new Lazy<WallCesiumWriter>(() => new WallCesiumWriter(WallPropertyName), false);
194200
private readonly Lazy<ConicSensorCesiumWriter> m_agi_conicSensor = new Lazy<ConicSensorCesiumWriter>(() => new ConicSensorCesiumWriter(ConicSensorPropertyName), false);
195201
private readonly Lazy<CustomPatternSensorCesiumWriter> m_agi_customPatternSensor = new Lazy<CustomPatternSensorCesiumWriter>(() => new CustomPatternSensorCesiumWriter(CustomPatternSensorPropertyName), false);
@@ -1144,6 +1150,24 @@ public RectangleCesiumWriter OpenRectangleProperty()
11441150
return OpenAndReturn(RectangleWriter);
11451151
}
11461152

1153+
/// <summary>
1154+
/// Gets the writer for the <c>tileset</c> property. The returned instance must be opened by calling the <see cref="CesiumElementWriter.Open"/> method before it can be used for writing. The <c>tileset</c> property defines a 3D Tiles tileset.
1155+
/// </summary>
1156+
[NotNull]
1157+
public TilesetCesiumWriter TilesetWriter
1158+
{
1159+
get { return m_tileset.Value; }
1160+
}
1161+
1162+
/// <summary>
1163+
/// Opens and returns the writer for the <c>tileset</c> property. The <c>tileset</c> property defines a 3D Tiles tileset.
1164+
/// </summary>
1165+
[NotNull]
1166+
public TilesetCesiumWriter OpenTilesetProperty()
1167+
{
1168+
return OpenAndReturn(TilesetWriter);
1169+
}
1170+
11471171
/// <summary>
11481172
/// Gets the writer for the <c>wall</c> property. The returned instance must be opened by calling the <see cref="CesiumElementWriter.Open"/> method before it can be used for writing. The <c>wall</c> property defines a two-dimensional wall which conforms to the curvature of the globe and can be placed along the surface or at altitude.
11491173
/// </summary>

DotNet/CesiumLanguageWriter/Generated/TilesetCesiumWriter.cs

+411
Large diffs are not rendered by default.

DotNet/CesiumLanguageWriterTests/CesiumLanguageWriterTests.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
<Compile Include="TestSolidColorMaterialCesiumWriter.cs" />
104104
<Compile Include="TestStringCesiumWriter.cs" />
105105
<Compile Include="TestStripeMaterialCesiumWriter.cs" />
106+
<Compile Include="TestTilesetCesiumWriter.cs" />
106107
<Compile Include="TestTimeInterval.cs" />
107108
<Compile Include="TestUnitCartesian.cs" />
108109
<Compile Include="TestUnitQuaternion.cs" />

DotNet/CesiumLanguageWriterTests/TestGenerateValidationDocument.cs

+57
Original file line numberDiff line numberDiff line change
@@ -1268,6 +1268,24 @@ private void WriteConstantValues()
12681268
m_assertionsWriter.WriteLine(" expect(e.rectangle.zIndex.getValue(date)).toEqual(445);");
12691269
}
12701270
}
1271+
using (var w = packet.OpenTilesetProperty())
1272+
{
1273+
using (var w2 = w.OpenShowProperty())
1274+
{
1275+
w2.WriteBoolean(true);
1276+
m_assertionsWriter.WriteLine(" expect(e.tileset.show.getValue(date)).toEqual(true);");
1277+
}
1278+
using (var w2 = w.OpenUriProperty())
1279+
{
1280+
w2.WriteUri("http://example.com/6864", CesiumResourceBehavior.LinkTo);
1281+
m_assertionsWriter.WriteLine(" expect(e.tileset.uri.getValue(date).url).toEqual('http://example.com/6864');");
1282+
}
1283+
using (var w2 = w.OpenMaximumScreenSpaceErrorProperty())
1284+
{
1285+
w2.WriteNumber(51767.0);
1286+
m_assertionsWriter.WriteLine(" expect(e.tileset.maximumScreenSpaceError.getValue(date)).toEqual(51767.0);");
1287+
}
1288+
}
12711289
using (var w = packet.OpenWallProperty())
12721290
{
12731291
using (var w2 = w.OpenShowProperty())
@@ -1896,6 +1914,7 @@ private void WriteConstantValuesIndividual()
18961914
WriteConstantValuesIndividualPolygon();
18971915
WriteConstantValuesIndividualPolyline();
18981916
WriteConstantValuesIndividualRectangle();
1917+
WriteConstantValuesIndividualTileset();
18991918
WriteConstantValuesIndividualWall();
19001919
WriteConstantValuesIndividualConicSensor();
19011920
WriteConstantValuesIndividualCustomPatternSensor();
@@ -4938,6 +4957,9 @@ private void WriteConstantValuesIndividualRectangle()
49384957
}
49394958
}
49404959
}
4960+
private void WriteConstantValuesIndividualTileset()
4961+
{
4962+
}
49414963
private void WriteConstantValuesIndividualWall()
49424964
{
49434965
using (var packet = m_writer.OpenPacket(m_output))
@@ -10207,6 +10229,24 @@ private void WriteReferenceValues()
1020710229
m_assertionsWriter.WriteLine(" expect(e.rectangle.zIndex.getValue(date)).toEqual(constant.rectangle.zIndex.getValue(date));");
1020810230
}
1020910231
}
10232+
using (var w = packet.OpenTilesetProperty())
10233+
{
10234+
using (var w2 = w.OpenShowProperty())
10235+
{
10236+
w2.WriteReference(new Reference("Constant", CreateList("tileset", "show")));
10237+
m_assertionsWriter.WriteLine(" expect(e.tileset.show.getValue(date)).toEqual(constant.tileset.show.getValue(date));");
10238+
}
10239+
using (var w2 = w.OpenUriProperty())
10240+
{
10241+
w2.WriteReference(new Reference("Constant", CreateList("tileset", "uri")));
10242+
m_assertionsWriter.WriteLine(" expect(e.tileset.uri.getValue(date)).toEqual(constant.tileset.uri.getValue(date));");
10243+
}
10244+
using (var w2 = w.OpenMaximumScreenSpaceErrorProperty())
10245+
{
10246+
w2.WriteReference(new Reference("Constant", CreateList("tileset", "maximumScreenSpaceError")));
10247+
m_assertionsWriter.WriteLine(" expect(e.tileset.maximumScreenSpaceError.getValue(date)).toEqual(constant.tileset.maximumScreenSpaceError.getValue(date));");
10248+
}
10249+
}
1021010250
using (var w = packet.OpenWallProperty())
1021110251
{
1021210252
using (var w2 = w.OpenShowProperty())
@@ -10790,6 +10830,7 @@ private void WriteReferenceValuesIndividual()
1079010830
WriteReferenceValuesIndividualPolygon();
1079110831
WriteReferenceValuesIndividualPolyline();
1079210832
WriteReferenceValuesIndividualRectangle();
10833+
WriteReferenceValuesIndividualTileset();
1079310834
WriteReferenceValuesIndividualWall();
1079410835
WriteReferenceValuesIndividualConicSensor();
1079510836
WriteReferenceValuesIndividualCustomPatternSensor();
@@ -12405,6 +12446,9 @@ private void WriteReferenceValuesIndividualRectangle()
1240512446
}
1240612447
}
1240712448
}
12449+
private void WriteReferenceValuesIndividualTileset()
12450+
{
12451+
}
1240812452
private void WriteReferenceValuesIndividualWall()
1240912453
{
1241012454
using (var packet = m_writer.OpenPacket(m_output))
@@ -15415,6 +15459,15 @@ private void WriteSampledValues()
1541515459
m_assertionsWriter.WriteLine(" expect(e.rectangle.zIndex.getValue(documentStopDate)).toEqual(53581);");
1541615460
}
1541715461
}
15462+
using (var w = packet.OpenTilesetProperty())
15463+
{
15464+
using (var w2 = w.OpenMaximumScreenSpaceErrorProperty())
15465+
{
15466+
w2.WriteNumber(CreateList(m_documentStartDate, m_documentStopDate), CreateList(17401.0, 7930.0));
15467+
m_assertionsWriter.WriteLine(" expect(e.tileset.maximumScreenSpaceError.getValue(documentStartDate)).toEqual(17401.0);");
15468+
m_assertionsWriter.WriteLine(" expect(e.tileset.maximumScreenSpaceError.getValue(documentStopDate)).toEqual(7930.0);");
15469+
}
15470+
}
1541815471
using (var w = packet.OpenWallProperty())
1541915472
{
1542015473
using (var w2 = w.OpenGranularityProperty())
@@ -15858,6 +15911,7 @@ private void WriteSampledValuesIndividual()
1585815911
WriteSampledValuesIndividualPolygon();
1585915912
WriteSampledValuesIndividualPolyline();
1586015913
WriteSampledValuesIndividualRectangle();
15914+
WriteSampledValuesIndividualTileset();
1586115915
WriteSampledValuesIndividualWall();
1586215916
WriteSampledValuesIndividualConicSensor();
1586315917
WriteSampledValuesIndividualCustomPatternSensor();
@@ -18943,6 +18997,9 @@ private void WriteSampledValuesIndividualRectangle()
1894318997
}
1894418998
}
1894518999
}
19000+
private void WriteSampledValuesIndividualTileset()
19001+
{
19002+
}
1894619003
private void WriteSampledValuesIndividualWall()
1894719004
{
1894819005
using (var packet = m_writer.OpenPacket(m_output))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
using System.Collections.Generic;
2+
using CesiumLanguageWriter;
3+
using CesiumLanguageWriter.Advanced;
4+
using NUnit.Framework;
5+
6+
namespace CesiumLanguageWriterTests
7+
{
8+
[TestFixture]
9+
public class TestTilesetCesiumWriter : TestCesiumPropertyWriter<TilesetCesiumWriter>
10+
{
11+
[Test]
12+
public void TestShowProperty()
13+
{
14+
const bool expectedShow = true;
15+
16+
using (Packet)
17+
using (var tileset = Packet.OpenTilesetProperty())
18+
using (var interval = tileset.OpenInterval())
19+
{
20+
interval.WriteShowProperty(expectedShow);
21+
}
22+
23+
AssertExpectedJson(PacketCesiumWriter.TilesetPropertyName, new Dictionary<string, object>
24+
{
25+
{ TilesetCesiumWriter.ShowPropertyName, expectedShow },
26+
});
27+
}
28+
29+
[Test]
30+
public void TestUriProperty()
31+
{
32+
const string expectedUri = "test.tileset";
33+
34+
using (Packet)
35+
using (var tileset = Packet.OpenTilesetProperty())
36+
using (var interval = tileset.OpenInterval())
37+
{
38+
interval.WriteUriProperty(expectedUri, CesiumResourceBehavior.LinkTo);
39+
}
40+
AssertExpectedJson(PacketCesiumWriter.TilesetPropertyName, new Dictionary<string, object>
41+
{
42+
{ TilesetCesiumWriter.UriPropertyName, expectedUri },
43+
});
44+
}
45+
46+
[Test]
47+
public void TestMaximumScreenSpaceErrorProperty()
48+
{
49+
const double expectedMaximumScreenSpaceError = 0.75;
50+
51+
using (Packet)
52+
using (var tileset = Packet.OpenTilesetProperty())
53+
using (var interval = tileset.OpenInterval())
54+
{
55+
interval.WriteMaximumScreenSpaceErrorProperty(expectedMaximumScreenSpaceError);
56+
}
57+
58+
AssertExpectedJson(PacketCesiumWriter.TilesetPropertyName, new Dictionary<string, object>
59+
{
60+
{ TilesetCesiumWriter.MaximumScreenSpaceErrorPropertyName, expectedMaximumScreenSpaceError },
61+
});
62+
}
63+
64+
protected override CesiumPropertyWriter<TilesetCesiumWriter> CreatePropertyWriter(string propertyName)
65+
{
66+
return new TilesetCesiumWriter(propertyName);
67+
}
68+
}
69+
}

Java/CesiumLanguageWriter/translatedSrc/cesiumlanguagewriter/PacketCesiumWriter.java

+26
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import cesiumlanguagewriter.RectangleCesiumWriter;
2929
import cesiumlanguagewriter.RectangularSensorCesiumWriter;
3030
import cesiumlanguagewriter.StringCesiumWriter;
31+
import cesiumlanguagewriter.TilesetCesiumWriter;
3132
import cesiumlanguagewriter.VectorCesiumWriter;
3233
import cesiumlanguagewriter.ViewFromCesiumWriter;
3334
import cesiumlanguagewriter.WallCesiumWriter;
@@ -144,6 +145,10 @@ public class PacketCesiumWriter extends CesiumElementWriter {
144145
*/
145146
public static final String RectanglePropertyName = "rectangle";
146147
/**
148+
* The name of the {@code tileset} property.
149+
*/
150+
public static final String TilesetPropertyName = "tileset";
151+
/**
147152
* The name of the {@code wall} property.
148153
*/
149154
public static final String WallPropertyName = "wall";
@@ -262,6 +267,11 @@ public cesiumlanguagewriter.RectangleCesiumWriter invoke() {
262267
return new RectangleCesiumWriter(RectanglePropertyName);
263268
}
264269
}, false);
270+
private Lazy<TilesetCesiumWriter> m_tileset = new Lazy<cesiumlanguagewriter.TilesetCesiumWriter>(new Func1<cesiumlanguagewriter.TilesetCesiumWriter>() {
271+
public cesiumlanguagewriter.TilesetCesiumWriter invoke() {
272+
return new TilesetCesiumWriter(TilesetPropertyName);
273+
}
274+
}, false);
265275
private Lazy<WallCesiumWriter> m_wall = new Lazy<cesiumlanguagewriter.WallCesiumWriter>(new Func1<cesiumlanguagewriter.WallCesiumWriter>() {
266276
public cesiumlanguagewriter.WallCesiumWriter invoke() {
267277
return new WallCesiumWriter(WallPropertyName);
@@ -1312,6 +1322,22 @@ public final RectangleCesiumWriter openRectangleProperty() {
13121322
return this.<RectangleCesiumWriter> openAndReturn(getRectangleWriter());
13131323
}
13141324

1325+
/**
1326+
* Gets the writer for the {@code tileset} property. The returned instance must be opened by calling the {@link CesiumElementWriter#open} method before it can be used for writing. The {@code tileset} property defines a 3D Tiles tileset.
1327+
*/
1328+
@Nonnull
1329+
public final TilesetCesiumWriter getTilesetWriter() {
1330+
return m_tileset.getValue();
1331+
}
1332+
1333+
/**
1334+
* Opens and returns the writer for the {@code tileset} property. The {@code tileset} property defines a 3D Tiles tileset.
1335+
*/
1336+
@Nonnull
1337+
public final TilesetCesiumWriter openTilesetProperty() {
1338+
return this.<TilesetCesiumWriter> openAndReturn(getTilesetWriter());
1339+
}
1340+
13151341
/**
13161342
* Gets the writer for the {@code wall} property. The returned instance must be opened by calling the {@link CesiumElementWriter#open} method before it can be used for writing. The {@code wall} property defines a two-dimensional wall which conforms to the curvature of the globe and can be placed along the surface or at altitude.
13171343
*/

0 commit comments

Comments
 (0)