You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.8 KiB
83 lines
2.8 KiB
// License: Apache 2.0. See LICENSE file in root directory.
|
|
// Copyright(c) 2017 Intel Corporation. All Rights Reserved.
|
|
|
|
namespace Intel.RealSense
|
|
{
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.InteropServices;
|
|
|
|
/// <summary>
|
|
/// Video stream profile instance which contains additional video attributes
|
|
/// </summary>
|
|
public class VideoStreamProfile : StreamProfile
|
|
{
|
|
internal override void Initialize()
|
|
{
|
|
base.Initialize();
|
|
object error;
|
|
NativeMethods.rs2_get_video_stream_resolution(Handle, out width, out height, out error);
|
|
}
|
|
|
|
internal VideoStreamProfile(IntPtr ptr)
|
|
: base(ptr)
|
|
{
|
|
this.Initialize();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Returns this profile's <see cref="Intrinsics"/>
|
|
/// </summary>
|
|
/// <returns>resulting intrinsics for the video profile</returns>
|
|
public Intrinsics GetIntrinsics()
|
|
{
|
|
object error;
|
|
Intrinsics intrinsics;
|
|
NativeMethods.rs2_get_video_stream_intrinsics(Handle, out intrinsics, out error);
|
|
return intrinsics;
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// Clone current profile and change the type, index and format to input parameters
|
|
/// </summary>
|
|
/// <param name="type">will change the stream type from the cloned profile.</param>
|
|
/// <param name="index">will change the stream index from the cloned profile.</param>
|
|
/// <param name="format">will change the stream format from the cloned profile.</param>
|
|
/// <param name="width">will change the width of the profile.</param>
|
|
/// <param name="height">will change the height of the profile.</param>
|
|
/// <param name="intr">will change the intrinsics of the profile.</param>
|
|
/// <returns>the cloned stream profile.</returns>
|
|
public StreamProfile Clone(Stream type, int index, Format format, int width, int height, Intrinsics intr)
|
|
{
|
|
object error;
|
|
var ptr = NativeMethods.rs2_clone_video_stream_profile(Handle, type, index, format, width, height, intr, out error);
|
|
var p = StreamProfile.Create<VideoStreamProfile>(ptr);
|
|
p.clone = new Base.DeleterHandle(ptr, StreamProfileReleaser);
|
|
return p;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the width in pixels of the video stream
|
|
/// </summary>
|
|
public int Width
|
|
{
|
|
get { return width; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the height in pixels of the video stream
|
|
/// </summary>
|
|
public int Height
|
|
{
|
|
get { return height; }
|
|
}
|
|
|
|
private int width;
|
|
private int height;
|
|
}
|
|
}
|