Esempio n. 1
0
            /// <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);
                }
            }
Esempio n. 2
0
        /// <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();
        }
Esempio n. 3
0
        /// <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();
        }
Esempio n. 4
0
            /// <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);
                }
            }