/// <summary>Create a new device and add it to the context</summary> /// <param name="file">The file from which the device should be created</param> /// <returns>a device that plays data from the file</returns> public PlaybackDevice AddDevice(string file) { object error; var ptr = NativeMethods.rs2_context_add_device(Handle, file, out error); return(Device.Create <PlaybackDevice>(ptr)); }
/// <summary> /// Create an <see cref="AdvancedDevice"/> from existing <see cref="Device"/> /// </summary> /// <param name="dev">a device that supports <see cref="Extension.AdvancedMode"/></param> /// <returns>a new <see cref="AdvancedDevice"/></returns> /// <exception cref="ArgumentException">Thrown when <paramref name="dev"/> does not support <see cref="Extension.AdvancedMode"/></exception> public static AdvancedDevice FromDevice(Device dev) { object error; if (NativeMethods.rs2_is_device_extendable_to(dev.Handle, Extension.AdvancedMode, out error) == 0) { throw new ArgumentException($"Device does not support {nameof(Extension.AdvancedMode)}"); } return(Device.Create <AdvancedDevice>(dev.Handle)); }
/// <summary> /// Create a <see cref="PlaybackDevice"/> from existing <see cref="Device"/> /// </summary> /// <param name="dev">a device that supports <see cref="Extension.Playback"/></param> /// <returns>a new <see cref="PlaybackDevice"/></returns> /// <exception cref="ArgumentException">Thrown when <paramref name="dev"/> does not support <see cref="Extension.Playback"/></exception> public static PlaybackDevice FromDevice(Device dev) { object error; if (NativeMethods.rs2_is_device_extendable_to(dev.Handle, Extension.Playback, out error) == 0) { throw new ArgumentException($"Device does not support {nameof(Extension.Playback)}"); } var playback = Device.Create <PlaybackDevice>(dev.Handle); playback.FileName = Marshal.PtrToStringAnsi(NativeMethods.rs2_playback_device_get_file_path(dev.Handle, out error)); return(playback); }
public T As <T>() where T : Device { return(Device.Create <T>(Handle)); }
public static CalibratedDevice FromDevice(Device dev) { return(Device.Create <CalibratedDevice>(dev.Handle));; }
public static SerializableDevice FromDevice(Device dev) { return(Device.Create <SerializableDevice>(dev.Handle)); }