/// <inheritdoc/> public override void Serialize(BufferWriter writer, DepthImage instance, SerializationContext context) { DepthCompressionMethod depthCompressionMethod = (depthImageCompressor == null) ? DepthCompressionMethod.None : depthImageCompressor.DepthCompressionMethod; Serializer.Serialize(writer, depthCompressionMethod, context); if (depthCompressionMethod == DepthCompressionMethod.None) { base.Serialize(writer, instance, context); } else { depthImageCompressor.Serialize(writer, instance, context); } }
/// <summary> /// Initializes a new instance of the <see cref="DepthImageCompressor"/> class. /// </summary> /// <param name="depthCompressionMethod">The depth compression method to be used.</param> public DepthImageCompressor(DepthCompressionMethod depthCompressionMethod) { this.DepthCompressionMethod = depthCompressionMethod; switch (this.DepthCompressionMethod) { case DepthCompressionMethod.Png: this.encoder = new DepthImageToPngStreamEncoder(); break; case DepthCompressionMethod.None: break; } this.decoder = new DepthImageFromStreamDecoder(); }
/// <summary> /// Initializes a new instance of the <see cref="DepthImageCompressor"/> class. /// </summary> /// <param name="depthCompressionMethod">The depth compression method to be used.</param> public DepthImageCompressor(DepthCompressionMethod depthCompressionMethod) { this.DepthCompressionMethod = depthCompressionMethod; switch (this.DepthCompressionMethod) { case DepthCompressionMethod.Png: this.encoder = new DepthImageToPngStreamEncoder(); break; case DepthCompressionMethod.Tiff: throw new NotImplementedException(); case DepthCompressionMethod.None: break; } this.decoder = new DepthImageFromStreamDecoder(); }
/// <summary> /// Serialize depth image. /// </summary> /// <param name="writer">Writer to which to serialize.</param> /// <param name="instance">Depth image instance to serialize.</param> /// <param name="context">Serialization context.</param> public override void Serialize(BufferWriter writer, DepthImage instance, SerializationContext context) { DepthCompressionMethod depthCompressionMethod = (depthImageCompressor == null) ? DepthCompressionMethod.None : depthImageCompressor.DepthCompressionMethod; Serializer.Serialize(writer, depthCompressionMethod, context); if (depthCompressionMethod == DepthCompressionMethod.None) { base.Serialize(writer, instance, context); } else { depthImageCompressor.Serialize(writer, instance, context); } if (this.Schema.Version >= 5) { Serializer.Serialize(writer, instance.depthValueSemantics, context); Serializer.Serialize(writer, instance.depthValueToMetersScaleFactor, context); } }