Show / Hide Table of Contents

Class ScanSystem

A complete system of ScanHeads.

Inheritance
System.Object
ScanSystem
Namespace: JoeScan.Pinchot
Assembly: JoeScan.Pinchot.dll
Syntax
public class ScanSystem : IDisposable
Remarks

The ScanSystem class represents a complete scan system. It contains a collection of ScanHead objects, and provides properties and methods for adding/removing ScanHeads, accessing the ScanHeads, connecting/disconnecting to/from the ScanHeads, and starting/stopping scanning on the ScanHeads.

Constructors

ScanSystem()

Initializes a new instance of the ScanSystem class.

Declaration
public ScanSystem()

Properties

IsConnected

Gets a value indicating whether all ScanHeads have established network connection to their associated physical scan heads.

Declaration
public bool IsConnected { get; }
Property Value
Type Description
System.Boolean

A value indicating whether all ScanHeads have established network connection to their associated physical scan heads.

IsScanning

Gets a value indicating whether the ScanSystem is actively scanning.

Declaration
public bool IsScanning { get; }
Property Value
Type Description
System.Boolean

A value indicating whether the ScanSystem is actively scanning.

ScanHeads

Gets a read-only collection of ScanHeads belonging to the ScanSystem.

Declaration
public IReadOnlyCollection<ScanHead> ScanHeads { get; }
Property Value
Type Description
IReadOnlyCollection<ScanHead>

A of ScanHeads belonging to the ScanSystem.

Methods

Connect(TimeSpan)

Attempts to connect all ScanHeads to their associated physical scan heads.

Declaration
public IReadOnlyCollection<ScanHead> Connect(TimeSpan connectTimeout)
Parameters
Type Name Description
TimeSpan connectTimeout

The connection timeout period.

Returns
Type Description
IReadOnlyCollection<ScanHead>

A of ScanHeads that did not successfully connect.

CreateScanHead(UInt32, UInt32)

Creates a ScanHead and adds it to ScanHeads.

Declaration
public ScanHead CreateScanHead(uint serialNumber, uint id)
Parameters
Type Name Description
System.UInt32 serialNumber

The serial number of the physical scan head.

System.UInt32 id

The ID to associate with the ScanHead.

Returns
Type Description
ScanHead

The created ScanHead.

Remarks

ScanSystem must not be connected. Verify IsConnected is false and/or call Disconnect() before calling ths method.

Disconnect()

Disconnects all ScanHeads from their associated physical scan heads.

Declaration
public void Disconnect()

Dispose()

Releases the managed and unmanaged resources used by the ScanSystem

Declaration
public void Dispose()

Dispose(Boolean)

Releases the unmanaged resources used by the ScanSystem and optionally releases the managed resources.

Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type Name Description
System.Boolean disposing

Whether being disposed explicitly (true) or due to a finalizer (false).

Finalize()

Declaration
protected void Finalize()

GetMaxScanRate()

Gets the maximum scan rate allowed by the ScanSystem in Hz.

Declaration
public double GetMaxScanRate()
Returns
Type Description
System.Double

The maximum scan rate allowed by the ScanSystem in Hz.

GetScanHeadByID(UInt32)

Gets a ScanHead by ID.

Declaration
public ScanHead GetScanHeadByID(uint id)
Parameters
Type Name Description
System.UInt32 id

The ID of the desired ScanHead.

Returns
Type Description
ScanHead

The ScanHead.

GetScanHeadBySerialNumber(UInt32)

Gets a ScanHead by serial number.

Declaration
public ScanHead GetScanHeadBySerialNumber(uint serialNumber)
Parameters
Type Name Description
System.UInt32 serialNumber

The serial number of the desired ScanHead.

Returns
Type Description
ScanHead

The ScanHead.

StartScanning(Double, DataFormat)

Starts scanning on all ScanHeads.

Declaration
public void StartScanning(double rate, DataFormat dataFormat)
Parameters
Type Name Description
System.Double rate

The scan rate in Hz.

DataFormat dataFormat

The DataFormat.

Remarks

ScanSystem must be connected. Verify IsConnected is true and/or call Connect(TimeSpan) before calling ths method.

All existing Profiles will be cleared from all ScanHeads when calling this method. Ensure that all data from the previous scan that is desired is read out before calling this method.

The rate is the overall scan rate that each individual scan head will generate profiles. This implies that each camera in a given scan head will be set to an equal fractional amount; for example, a scan rate of 2000hz for a scan head with two cameras will cause each camera to run at 1000hz.

StopScanning()

Stops scanning on all ScanHeads.

Declaration
public void StopScanning()
Remarks

Physical scan heads will take approximately 0.5-1.0 seconds to stop scanning after StopScanning() is called. Profiles will remain in the ScanHead profile buffers until they are either consumed or StartScanning(Double, DataFormat) is called.

Back to top Copyright JoeScan, Inc.
Generated by DocFX