CVB.Net 15.0
Loading...
Searching...
No Matches
IndexedStream Class Referenceabstract

A stream with a finite number of images, which can also be accessed via an ImageIndex. More...

Inherits Stream.

Protected Member Functions

override void ObservableAcquisitionLoop ()
 Special implementation taking LoopObservers into account.
 
- Protected Member Functions inherited from Stream
virtual void Dispose (bool disposing)
 IDispose helper function.
 
StreamImage MakeStreamImage (IntPtr handle)
 Factory function for creating the returned image from the acquisition engine.
 
StreamImage MakeSnapshotImage (IntPtr handle)
 Factory function for creating the returned image from the acquisition engine.
 
void SendCompleteToObservers ()
 Calls IObserver<T>.OnCompleted on all subscribed observers.
 
void SendErrorToObservers (Exception error)
 Calls IObserver<T>.OnError(Exception) on all subscribed observers.
 
void SendImageToObservers (StreamImage image)
 Calls IObserver<T>.OnNext(T) with the given image .
 

Properties

override bool IsIndexed [get]
 Gets whether this is a IndexedStream.
 
int ImageCount [get]
 Gets the number of images contained in this stream.
 
int ImageIndex [get, set]
 Gets or sets the index of the current active image.
 
bool LoopObservers [get, set]
 Gets or sets whether the Stream.Subscribe(IObserver<StreamImage>)d observers are notified after all images have been delivered once.
 
- Properties inherited from Stream
AcquisitionInterface AcquisitionInterface [get, set]
 Gets or sets the acquisition interface to use on this stream.
 
Device Parent [get]
 Gets the parent Device.
 
virtual bool IsIndexed [get]
 Gets whether this stream is an IndexedStream.
 
StreamStatistics Statistics [get]
 Gets the available device statistics.
 
bool IsRunning [get]
 Gets whether the acquisition is currently active.
 
IRingBuffer RingBuffer [get]
 Gets the IRingBuffer interface object if present.
 

Additional Inherited Members

- Public Member Functions inherited from Stream
void Dispose ()
 IDisposable implementation.
 
virtual StreamImage GetSnapshot ()
 Acquires a single image and returns it.
 
virtual StreamImage GetTimedSnapshot (UsTimeSpan timeSpan)
 Acquires a single image and returns it.
 
virtual StreamImage GetTimedSnapshot (UsTimeSpan timeSpan, out WaitStatus status)
 As GetTimedSnapshot(UsTimeSpan), but does not throw on timeout.
 
void Start ()
 Starts the acquisition.
 
virtual StreamImage Wait ()
 Waits indefinitely for the next acquired image and returns it.
 
virtual StreamImage Wait (out WaitStatus status)
 Waits indefinitely for the next acquired image and returns it.
 
virtual StreamImage WaitFor (UsTimeSpan timeSpan)
 Waits for the given timeSpan for the next acquired image.
 
virtual StreamImage WaitFor (UsTimeSpan timeSpan, out WaitStatus status)
 As WaitFor(UsTimeSpan), but does not throw on timeout.
 
void Stop ()
 Stops the acquisition.
 
virtual bool TryStop ()
 Tries to stop the acquisition of images.
 
void Abort ()
 Stops the acquisition of images immediately.
 
virtual bool TryAbort ()
 Tries to stop the acquisition of images immediately.
 
virtual IDisposable Subscribe (IObserver< StreamImage > observer)
 Notifies this stream that the given observer is to receive new image notifications.
 
- Static Public Attributes inherited from Stream
static readonly UsTimeSpan MaxTimeoutValue = UsTimeSpan.FromMilliseconds(int.MaxValue)
 Gets the maximal timeout a device normally supports.
 

Detailed Description

A stream with a finite number of images, which can also be accessed via an ImageIndex.

Property Documentation

◆ ImageIndex

int ImageIndex
getsetabstract

Gets or sets the index of the current active image.

The range of possible values is from 0 up to, not including, ImageCount.

>

◆ IsIndexed

override bool IsIndexed
getsealed

Gets whether this is a IndexedStream.

Always true.

Implements IStream.

◆ LoopObservers

bool LoopObservers
getset

Gets or sets whether the Stream.Subscribe(IObserver<StreamImage>)d observers are notified after all images have been delivered once.

If true this stream behaves like a non-indexed stream and repeats playback. If false IObserver<T>.OnCompleted called after the first iteration and acquisition is stopped.

Default is false.