Class ScanSystem
A complete system of ScanHeads.
Inheritance
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 |
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 |
CreateScanHead(UInt32, UInt32)
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.