surface_normals_object_model_3d — Calculate the 3D surface normals of a 3D object model.
The operator surface_normals_object_model_3d calculates the 3D surface normals for the object ObjectModel3D using the method specified by Method. The calculated normals are appended to the input object and the resulting object is returned in ObjectModel3DNormals. Currently, Moving Least Squares (MLS, Method='mls') is the only normals estimation method that is supported.
The MLS method for normals estimation is essentially identical with the MLS method used by smooth_object_model_3d with the exception that in surface_normals_object_model_3d the 3D points are not smoothed, i.e., the original 3D points of ObjectModel3D remain unchanged. For more details on the MLS as well as a full list and descriptions of the supported MLS parameters refer to smooth_object_model_3d.
Note that for points where the normal vector cannot be estimated, it is set to the zero vector. This happens, for example, if the 3d object model contains an identical point more than 'mls_kNN' times.
Note that if a 3D object model is no longer needed or should be overwritten, the memory has to be freed first by calling the operator clear_object_model_3d.
Handle of the 3D object model containing 3D point data.
Normals calculation method.
Default value: 'mls'
List of values: 'mls'
Names of generic smoothing parameters.
Default value: 
List of values: 'mls_abs_sigma', 'mls_force_inwards', 'mls_kNN', 'mls_order', 'mls_relative_sigma'
Values of generic smoothing parameters.
Default value: 
Suggested values: 10, 20, 40, 60, 0.1, 0.5, 1.0, 2.0, 0, 1, 2, 'true', 'false'
Handle of the 3D object model with calculated 3D normals.