fmeobjects.FMETriangleStrip.isInPlane

FMETriangleStrip.isInPlane(tolerance, normalVector, valD, recalculateD)

Works similarly to `isPlanar()`, but checks planarity with respect to given normal or given plane (if plane equation D is specified - see below).

If given normal is the zero vector, the normal used to check the planarity is computed using Newell’s method as in `isPlanar()`. valD is a reference to a value of D in the plane equation AX + BY + CZ = D. It can be used to make sure that multiple pieces lie in the same plane. If ‘recalculateD’ is set to `False`, the passed in value of D will be used in the calculation. If ‘recalcualteD’ is set to `True`, the passed in value is ignored and is instead automatically calculated (and returned in the second position of the returned tuple). A useful calling pattern for ensuring co-planarity is to get valD computed on the first call to the function setting ‘recalculateD’ to `True`, and then use this value for future calls with ‘recalculateD’ to `False`.

Parameters:
• tolerance (float) – The tolerance to check against.

• normalVector (tuple[float, float, float]) – The normal used to check the planarity.

• valD (float) – The value D from ‘AX + BY + CZ = D’.

• recalculateD (bool) – Whether to recalculate ‘D’ or not.

Return type:
Returns:

A tuple containing a boolean, tuple, and float representing: 1) Whether or not the surface is in plane; 2) The normal vector returned; and 3) The value ‘D’. Note: If recalculateD is `False`, the tuple returned will only contain the boolean and vector tuple (i.e. ‘valD’ is not returned).