Skip to main content

M3dgeoPlane

BoardSupported
Host SystemYes
V4L2Yes
Clarity UHDYes
Concord PoENo
GenTLYes
GevIQYes
GigE VisionYes
IndioNo
Iris GTXYes
Radient eV-CLYes
Rapixo CLYes
Rapixo CoFYes
Rapixo CXPYes
USB3 VisionYes

Define a 3D plane geometry object.

Syntax

void M3dgeoPlane(
AIL_ID Geometry3dgeoId, //out
AIL_INT64 CreationMode, //in
AIL_DOUBLE X1, //in
AIL_DOUBLE Y1, //in
AIL_DOUBLE Z1, //in
AIL_DOUBLE X2OrD, //in
AIL_DOUBLE Y2, //in
AIL_DOUBLE Z2, //in
AIL_DOUBLE X3, //in
AIL_DOUBLE Y3, //in
AIL_DOUBLE Z3, //in
AIL_INT64 ControlFlag //in
)

Description

This function defines a 3D plane geometry object. You can translate, rotate, or transform the resulting plane, using the 3D image processing module.

You can use the resulting plane to, for example, crop a point cloud or perform an arithmetic operation on a depth map using the 3D image processing module, or calculate its distance from each point in a point cloud using the 3D metrology module.

If you want to define a plane geometry object from results obtained in a different module, you can use the copy function of that module.

All coordinates are expressed in world units in the working coordinate system.

Note: Note that if Geometry3dgeoId specifies a previously-defined plane, and CreationMode is set to M_POINT_AND_NORMAL, you can leave the components of the plane's normal vector unchanged, even if the plane was modified using the 3D image processing module.

Parameters

Geometry3dgeoId (out, AIL_ID)

Specifies the identifier of the 3D geometry object, previously allocated on the required system using M3dgeoAlloc with M_GEOMETRY.

CreationMode (in, AIL_INT64)

Specifies how the plane is defined.

X1 (in, AIL_DOUBLE)

Specifies the first parameter used to define the plane.

Y1 (in, AIL_DOUBLE)

Specifies the second parameter used to define the plane.

Z1 (in, AIL_DOUBLE)

Specifies the third parameter used to define the plane.

X2OrD (in, AIL_DOUBLE)

Specifies the fourth parameter used to define the plane.

Y2 (in, AIL_DOUBLE)

Specifies the fifth parameter used to define the plane.

Z2 (in, AIL_DOUBLE)

Specifies the sixth parameter used to define the plane.

X3 (in, AIL_DOUBLE)

Specifies the seventh parameter used to define the plane.

Y3 (in, AIL_DOUBLE)

Specifies the eighth parameter used to define the plane.

Z3 (in, AIL_DOUBLE)

Specifies the ninth parameter used to define the plane.

ControlFlag (in, AIL_INT64)

Reserved for future expansion. This parameter must be set to M_DEFAULT.

Parameter Associations

For specifying the plane

Set unused parameters to M_DEFAULT.


M_COEFFICIENTS

Specifies to define the plane using coefficients from the plane equation (Ax + By + Cz + D = 0). Coefficients A, B, and C cannot all be zero. > Note: Note that the coefficients will be internally normalized such that A^2 + B^2 + C^2 = 1.


M_POINT_AND_NORMAL

Specifies to define the plane using a point on the plane and the plane's normal. The plane's normal must have a non-zero magnitude. > Note: Note that the plane's normal will be internally converted to a unit vector. > Note: Note that if Geometry3dgeoId specifies a previously-defined plane, you can leave the components of its normal vector unchanged, even if that attribute was set using a different creation mode or was modified using the 3D image processing module. To do so, set the corresponding parameter to M_UNCHANGED.

ValueDescription
M_UNCHANGEDSpecifies to use the previously-defined value.
ValueSpecifies the X-component of the normal.
M_UNCHANGEDSpecifies to use the previously-defined value.
ValueSpecifies the Y-component of the normal.
M_UNCHANGEDSpecifies to use the previously-defined value.
ValueSpecifies the Z-component of the normal.

M_POINT_AND_TWO_VECTORS

Specifies to define the plane using a point on the plane and two vectors parallel to the plane. The two vectors must have non-zero magnitudes and cannot be co-linear.


M_THREE_POINTS

Specifies to define the plane using three points on the plane.

Copyright © 2026 Zebra Technologies.