Back to FabImage Library website

You are here: Start » Function Reference » Surface » Surface Spatial Transforms » ProjectSurfaceOntoPlane

ProjectSurfaceOntoPlane


Header: FIL.h
Namespace: fil
Module: Vision3DStandard

Projects a surface on another plane, replacing Z coordinate of a point with its distance from a given plane.

Syntax

C++
C#
 
void fil::ProjectSurfaceOntoPlane
(
	const fil::Surface& inSurface,
	const fil::Plane3D& inPlane,
	const bool inUseAbsoluteDistance,
	const bool inPreserveOffsetsAndScales,
	fil::Surface& outSurface,
	ftl::Optional<fil::Matrix&> outTransform = ftl::NIL
)

Parameters

Name Type Default Description
Input value inSurface const Surface&
Input value inPlane const Plane3D&
Input value inUseAbsoluteDistance const bool
Input value inPreserveOffsetsAndScales const bool True Flag indicating whether to preserve input surface offsets and scales or to adjust them accordingly
Output value outSurface Surface&
Output value outTransform Optional<Matrix&> NIL Matrix of the transform used to compute the output surface; signed distance usage is assumed

Optional Outputs

The computation of following outputs can be switched off by passing value ftl::NIL to these parameters: outTransform.

Read more about Optional Outputs.

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.

Errors

List of possible exceptions:

Error type Description
DomainError Indefinite plane on input in ProjectSurfaceOntoPlane.