Skip to content

Class JoeScan::Pinchot::ScanWindow

ClassList > JoeScan > Pinchot > ScanWindow

A scan window within which valid IProfile __Point2D s are to be measured.

This class provides methods for creating scan window objects. Scan windows are used to define the area, in mill coordinates, within which valid IProfile Point2Ds are to be measured. Scan windows can be used to restrict the scan area only to the region of interest, eliminate interference from ambient or stray light, and eliminate erroneous or unnecessary data from machinery. Decreasing the scan window in the scan head's y axis (depth) will allow for faster scanning. Use ScanSystem.GetMinScanPeriod to retrieve the minimum scan period of the entire scan system based on the currently applied scan windows of all scan heads.

Inherits the following classes: ICloneable

Public Properties

Type Name
property IEnumerable< Tuple< Point2D, Point2D > > Constraints
Gets the constraints of the scan window in clockwise order.
property ScanWindowType Type
Gets the type of scan window.
property IEnumerable< Point2D > Vertices
Gets the vertices of the scan window in clockwise order.

Public Functions

Type Name
object Clone ()
Used to make sure that once a scan window is set on a ScanHead viaScanHead.SetWindow(ScanWindow) , it will not change if the original is changed.

Public Static Functions

Type Name
ScanWindow CreateScanWindowPolygonal (ICollection< Point2D > points)
Creates a polygonal scan window using the points passed in. The points must be ordered in a clockwise fashion and the resulting shape must be convex. The first and last points will be automatically connected so there is no need to duplicate the first point at the end of points .
ScanWindow CreateScanWindowRectangular (double windowTop, double windowBottom, double windowLeft, double windowRight)
Creates a rectangular scan window, in mill coordinates, within which a camera will look for the laser.
ScanWindow CreateScanWindowUnconstrained ()
Creates an unconstrained scan window within which a camera will look for the laser.

Public Properties Documentation

property Constraints

Gets the constraints of the scan window in clockwise order.

IEnumerable<Tuple<Point2D, Point2D> > Constraints;

The constraints of the scan window.

See also: CreateScanWindowPolygonal(ICollection<Point2D>), CreateScanWindowRectangular(double, double, double, double), CreateScanWindowUnconstrained


property Type

Gets the type of scan window.

ScanWindowType Type;

The type of scan window.


property Vertices

Gets the vertices of the scan window in clockwise order.

IEnumerable<Point2D> Vertices;

The vertices of the scan window.

See also: CreateScanWindowPolygonal(ICollection<Point2D>), CreateScanWindowRectangular(double, double, double, double), CreateScanWindowUnconstrained


Public Functions Documentation

function Clone

Used to make sure that once a scan window is set on a ScanHead viaScanHead.SetWindow(ScanWindow) , it will not change if the original is changed.

inline object JoeScan::Pinchot::ScanWindow::Clone () 

Returns:

A shallow copy of this ScanWindow object.


Public Static Functions Documentation

function CreateScanWindowPolygonal

Creates a polygonal scan window using the points passed in. The points must be ordered in a clockwise fashion and the resulting shape must be convex. The first and last points will be automatically connected so there is no need to duplicate the first point at the end of points .

static inline ScanWindow JoeScan::Pinchot::ScanWindow::CreateScanWindowPolygonal (
    ICollection< Point2D > points
) 

Parameters:

  • points The points that make up the polgonal window.

Returns:

The scan window.

Exception:

  • ArgumentException One or more arguments are double.NaN -or- One or more arguments are double.NegativeInfinity or double.PositiveInfinity -or- There are fewer than 3 points in points -or- The polygon is not convex. -or- The points were not supplied in clockwise order.

function CreateScanWindowRectangular

Creates a rectangular scan window, in mill coordinates, within which a camera will look for the laser.

static inline ScanWindow JoeScan::Pinchot::ScanWindow::CreateScanWindowRectangular (
    double windowTop,
    double windowBottom,
    double windowLeft,
    double windowRight
) 

Parameters:

  • windowTop The top boundary of the ScanWindow in ScanSystemUnits. Must be greater than windowBottom .
  • windowBottom The bottom boundary of the ScanWindow in ScanSystemUnits. Must be less than windowTop .
  • windowLeft The left boundary of the ScanWindow in ScanSystemUnits. Must be less than windowRight .
  • windowRight The right boundary of the ScanWindow in ScanSystemUnits. Must be greater than windowLeft .

Returns:

The created ScanWindow.

See also: ScanHead.SetWindow(ScanWindow)

Exception:

  • ArgumentException One or more arguments are double.NaN -or- One or more arguments are double.NegativeInfinity or double.PositiveInfinity -or- windowTop is less than or equal to windowBottom -or- windowRight is less than or equal to windowLeft

function CreateScanWindowUnconstrained

Creates an unconstrained scan window within which a camera will look for the laser.

static inline ScanWindow JoeScan::Pinchot::ScanWindow::CreateScanWindowUnconstrained () 

Returns:

The created ScanWindow.

See also: ScanHead.SetWindow(ScanWindow)