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

ArrangePoint3DGrid
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | Vision3DStandard |
Creates a surface structure from Point3DGrid taking into account X and Y coordinates.
Syntax
void fil::ArrangePoint3DGrid ( const fil::Point3DGrid& inPoint3DGrid, const fil::ValueLimits_f64& inXLimits, const double inXScale, const fil::ValueLimits_f64& inYLimits, const double inYScale, const fil::ValueLimits_f64& inZLimits, const double inZOffset, const double inZScale, fil::PlainType::Type inPointType, fil::SurfaceMultipointHeight::Type inMultipointHeight, fil::Surface& outSurface, ftl::Optional<double&> outMinX = ftl::NIL, ftl::Optional<double&> outMinY = ftl::NIL, fil::Region& diagSurfaceValidPointsRegion )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() |
inPoint3DGrid | const Point3DGrid& | |||
![]() |
inXLimits | const ValueLimits_f64& | |||
![]() |
inXScale | const double | 0.000001 - ![]() |
1.0D | |
![]() |
inYLimits | const ValueLimits_f64& | |||
![]() |
inYScale | const double | 0.000001 - ![]() |
1.0D | |
![]() |
inZLimits | const ValueLimits_f64& | |||
![]() |
inZOffset | const double | |||
![]() |
inZScale | const double | 0.000001 - ![]() |
1.0D | |
![]() |
inPointType | PlainType::Type | Int16 | Type of single point Z coordinate | |
![]() |
inMultipointHeight | SurfaceMultipointHeight::Type | Mean | Determines the Z coordinate of a surface point created from more than one point | |
![]() |
outSurface | Surface& | |||
![]() |
outMinX | Optional<double&> | NIL | ||
![]() |
outMinY | Optional<double&> | NIL | ||
![]() |
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 ftl::NIL
to these parameters: outMinX, outMinY.
Read more about Optional Outputs.
Description
The operation creates a surface object basing on the input point 3D grid. 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 points from the input grid that are located in the corresponding tile. If none of the input grid 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 Point3DGrid. |
![]() Output Surface. |
ArrangePoint3DGrid performed on a sample point grid.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Empty point grid in ArrangePoint3DGrid. |
See Also
- ArrangePoint3DArray – Creates a surface structure from Point3D array taking into account X and Y coordinates.
- CreateSurfaceFromImage – Creates a Surface structure from coordinates encoded in pixels of an image.