Back to Adaptive Vision Library website

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

ArrangePoint3DArray


Header: AVL.h
Namespace: avl
Module: Vision3DStandard

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

Syntax

C++
C#
 
void avl::ArrangePoint3DArray
(
	const atl::Array<avl::Point3D>& inPoints,
	const avl::ValueLimits_f64& inXLimits,
	const double inXScale,
	const avl::ValueLimits_f64& inYLimits,
	const double inYScale,
	const avl::ValueLimits_f64& inZLimits,
	const double inZOffset,
	const double inZScale,
	avl::PlainType::Type inPointType,
	avl::SurfaceMultipointHeight::Type inMultipointHeight,
	avl::Surface& outSurface,
	atl::Optional<double&> outMinX = atl::NIL,
	atl::Optional<double&> outMinY = atl::NIL,
	avl::Region& diagSurfaceValidPointsRegion
)

Parameters

Name Type Range Default Description
Input value
inPoints const Array<Point3D>&
Input value
inXLimits const ValueLimits_f64&
Input value
inXScale const double 0.000001 - 1.0D
Input value
inYLimits const ValueLimits_f64&
Input value
inYScale const double 0.000001 - 1.0D
Input value
inZLimits const ValueLimits_f64&
Input value
inZOffset const double
Input value
inZScale const double 0.000001 - 1.0D
Input value
inPointType PlainType::Type Int16 Type of single point Z coordinate
Input value
inMultipointHeight SurfaceMultipointHeight::Type Mean Determines the Z coordinate of a surface point created from more than one point
Output value
outSurface Surface&
Output value
outMinX Optional<double&> NIL
Output value
outMinY Optional<double&> NIL
Diagnostic input
diagSurfaceValidPointsRegion Region& Region of locations where the surface points are valid

Optional Outputs

The computation of following outputs can be switched off by passing value atl::NIL to these parameters: outMinX, outMinY.

Read more about Optional Outputs.

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.

Examples

Input Point3DArray.

Output Surface.

ArrangePoint3DArray performed on a sample surface.

Errors

List of possible exceptions:

Error type Description
DomainError Empty point array in ArrangePoint3DArray.

See Also

  • ArrangePoint3DGrid – Creates a surface structure from Point3DGrid taking into account X and Y coordinates.