diff --git a/DotNet/CesiumLanguageWriter/Generated/OrientationCesiumWriter.cs b/DotNet/CesiumLanguageWriter/Generated/OrientationCesiumWriter.cs index 97db6501..4c0a48dd 100644 --- a/DotNet/CesiumLanguageWriter/Generated/OrientationCesiumWriter.cs +++ b/DotNet/CesiumLanguageWriter/Generated/OrientationCesiumWriter.cs @@ -22,8 +22,14 @@ public class OrientationCesiumWriter : CesiumInterpolatablePropertyWriter public const string ReferencePropertyName = "reference"; + /// + /// The name of the velocityReference property. + /// + public const string VelocityReferencePropertyName = "velocityReference"; + private readonly Lazy> m_asUnitQuaternion; private readonly Lazy> m_asReference; + private readonly Lazy> m_asVelocityReference; /// /// Initializes a new instance. @@ -33,6 +39,7 @@ public OrientationCesiumWriter(string propertyName) { m_asUnitQuaternion = new Lazy>(CreateUnitQuaternionAdaptor, false); m_asReference = new Lazy>(CreateReferenceAdaptor, false); + m_asVelocityReference = new Lazy>(CreateVelocityReferenceAdaptor, false); } /// @@ -44,6 +51,7 @@ protected OrientationCesiumWriter(OrientationCesiumWriter existingInstance) { m_asUnitQuaternion = new Lazy>(CreateUnitQuaternionAdaptor, false); m_asReference = new Lazy>(CreateReferenceAdaptor, false); + m_asVelocityReference = new Lazy>(CreateVelocityReferenceAdaptor, false); } /// @@ -138,6 +146,56 @@ public void WriteReference(string identifier, string[] propertyNames) CesiumWritingHelper.WriteReference(Output, identifier, propertyNames); } + /// + /// Writes the value expressed as a velocityReference, which is the orientation specified as the normalized velocity vector of a position property. The reference must be to a position property. + /// + /// The reference. + public void WriteVelocityReference(Reference value) + { + const string PropertyName = VelocityReferencePropertyName; + OpenIntervalIfNecessary(); + Output.WritePropertyName(PropertyName); + CesiumWritingHelper.WriteReference(Output, value); + } + + /// + /// Writes the value expressed as a velocityReference, which is the orientation specified as the normalized velocity vector of a position property. The reference must be to a position property. + /// + /// The earliest date of the interval. + public void WriteVelocityReference(string value) + { + const string PropertyName = VelocityReferencePropertyName; + OpenIntervalIfNecessary(); + Output.WritePropertyName(PropertyName); + CesiumWritingHelper.WriteReference(Output, value); + } + + /// + /// Writes the value expressed as a velocityReference, which is the orientation specified as the normalized velocity vector of a position property. The reference must be to a position property. + /// + /// The identifier of the object which contains the referenced property. + /// The property on the referenced object. + public void WriteVelocityReference(string identifier, string propertyName) + { + const string PropertyName = VelocityReferencePropertyName; + OpenIntervalIfNecessary(); + Output.WritePropertyName(PropertyName); + CesiumWritingHelper.WriteReference(Output, identifier, propertyName); + } + + /// + /// Writes the value expressed as a velocityReference, which is the orientation specified as the normalized velocity vector of a position property. The reference must be to a position property. + /// + /// The identifier of the object which contains the referenced property. + /// The hierarchy of properties to be indexed on the referenced object. + public void WriteVelocityReference(string identifier, string[] propertyNames) + { + const string PropertyName = VelocityReferencePropertyName; + OpenIntervalIfNecessary(); + Output.WritePropertyName(PropertyName); + CesiumWritingHelper.WriteReference(Output, identifier, propertyNames); + } + /// /// Returns a wrapper for this instance that implements to write a value in UnitQuaternion format. Because the returned instance is a wrapper for this instance, you may call on either this instance or the wrapper, but you must not call it on both. /// @@ -166,5 +224,19 @@ private ICesiumValuePropertyWriter CreateReferenceAdaptor() return new CesiumWriterAdaptor(this, (me, value) => me.WriteReference(value)); } + /// + /// Returns a wrapper for this instance that implements to write a value in VelocityReference format. Because the returned instance is a wrapper for this instance, you may call on either this instance or the wrapper, but you must not call it on both. + /// + /// The wrapper. + public ICesiumValuePropertyWriter AsVelocityReference() + { + return m_asVelocityReference.Value; + } + + private ICesiumValuePropertyWriter CreateVelocityReferenceAdaptor() + { + return new CesiumWriterAdaptor(this, (me, value) => me.WriteVelocityReference(value)); + } + } } diff --git a/DotNet/CesiumLanguageWriter/Generated/PacketCesiumWriter.cs b/DotNet/CesiumLanguageWriter/Generated/PacketCesiumWriter.cs index eee63daa..be1ab289 100644 --- a/DotNet/CesiumLanguageWriter/Generated/PacketCesiumWriter.cs +++ b/DotNet/CesiumLanguageWriter/Generated/PacketCesiumWriter.cs @@ -739,6 +739,56 @@ public void WriteOrientationPropertyReference(string identifier, string[] proper } } + /// + /// Writes a value for the orientation property as a velocityReference value. The orientation property specifies the orientation of the object in the world. The orientation has no direct visual representation, but it is used to orient models, cones, pyramids, and other graphical items attached to the object. + /// + /// The reference. + public void WriteOrientationPropertyVelocityReference(Reference value) + { + using (var writer = OpenOrientationProperty()) + { + writer.WriteVelocityReference(value); + } + } + + /// + /// Writes a value for the orientation property as a velocityReference value. The orientation property specifies the orientation of the object in the world. The orientation has no direct visual representation, but it is used to orient models, cones, pyramids, and other graphical items attached to the object. + /// + /// The earliest date of the interval. + public void WriteOrientationPropertyVelocityReference(string value) + { + using (var writer = OpenOrientationProperty()) + { + writer.WriteVelocityReference(value); + } + } + + /// + /// Writes a value for the orientation property as a velocityReference value. The orientation property specifies the orientation of the object in the world. The orientation has no direct visual representation, but it is used to orient models, cones, pyramids, and other graphical items attached to the object. + /// + /// The identifier of the object which contains the referenced property. + /// The property on the referenced object. + public void WriteOrientationPropertyVelocityReference(string identifier, string propertyName) + { + using (var writer = OpenOrientationProperty()) + { + writer.WriteVelocityReference(identifier, propertyName); + } + } + + /// + /// Writes a value for the orientation property as a velocityReference value. The orientation property specifies the orientation of the object in the world. The orientation has no direct visual representation, but it is used to orient models, cones, pyramids, and other graphical items attached to the object. + /// + /// The identifier of the object which contains the referenced property. + /// The hierarchy of properties to be indexed on the referenced object. + public void WriteOrientationPropertyVelocityReference(string identifier, string[] propertyNames) + { + using (var writer = OpenOrientationProperty()) + { + writer.WriteVelocityReference(identifier, propertyNames); + } + } + /// /// Gets the writer for the viewFrom property. The returned instance must be opened by calling the method before it can be used for writing. The viewFrom property defines a suggested camera location when viewing this object. The property is specified as a Cartesian position in the East (x), North (y), Up (z) reference frame relative to the object's position. /// diff --git a/Schema/Orientation.json b/Schema/Orientation.json index a279a190..ffbe4f17 100644 --- a/Schema/Orientation.json +++ b/Schema/Orientation.json @@ -27,6 +27,11 @@ "$ref": "ReferenceValue.json", "description": "The orientation specified as a reference to another property.", "czmlValue": true + }, + "velocityReference": { + "$ref": "ReferenceValue.json", + "description": "The orientation specified as the normalized velocity vector of a position property. The reference must be to a `position` property.", + "czmlValue": true } } } \ No newline at end of file