Back to Adaptive Vision Library website

You are here: Start » Function Reference » Surface Basics » ArrangePoint3DArray

ArrangePoint3DArray


Creates a surface structure from Point3D array taking into account X and Y coordinates.

Header:AVL.h

Syntax

C++
C#
 
void avl::ArrangePoint3DArray
(
	const atl::Array<avl::Point3D>& inPoints,
	atl::Optional<double> inMinX,
	atl::Optional<double> inMaxX,
	const double inXScale,
	atl::Optional<double> inMinY,
	atl::Optional<double> inMaxY,
	const double inYScale,
	const double inZOffset,
	const double inZScale,
	const avl::PlainType::Type& inPointType,
	avl::Surface& outSurface,
	atl::Optional<double&> outMinX = atl::NIL,
	atl::Optional<double&> outMinY = atl::NIL
)

Parameters

Name Type Range Default Description
inPoints const Array<Point3D>&
inMinX Optional<double> NIL
inMaxX Optional<double> NIL
inXScale const double 0.000001 - 1.0D
inMinY Optional<double> NIL
inMaxY Optional<double> NIL
inYScale const double 0.000001 - 1.0D
inZOffset const double
inZScale const double 0.000001 - 1.0D
inPointType const PlainType::Type& Int16 Type of single point Z coordinate
outSurface Surface&
outMinX Optional<double&> NIL
outMinY Optional<double&> NIL

Description

The operation creates a surface object basing on the input points in 3D. The X and Y coordinates of the output surface object points are very regular, so the whole output object has neatly organized structure. Internally, the XY plane is divided into rectangular tiles with dimensions equal to inXScale and inYScale. Each tile will represent one output surface point. The point is computed as an average of all input points that are located in the corresponding tile. If none of the input points is present in a tile, the output point for such a tile is indefinite and set to the point in infinity.

Hints

  • The filter can be used to reduce the size of the input data. The higher the inXScale and inYScale values are, the smaller output surface size is.

Errors

Error type Description
DomainError Empty point array in ArrangePoint3DArray.
DomainError Incorrect coordinate limits in ArrangePoint3DArray.
DomainError Surface dimensions too big in ArrangePoint3DArray.