ClassesClassesClassesClasses | | | | Operators

surface_normals_object_model_3dsurface_normals_object_model_3dSurfaceNormalsObjectModel3dsurface_normals_object_model_3dSurfaceNormalsObjectModel3dSurfaceNormalsObjectModel3d (Operator)

Name

surface_normals_object_model_3dsurface_normals_object_model_3dSurfaceNormalsObjectModel3dsurface_normals_object_model_3dSurfaceNormalsObjectModel3dSurfaceNormalsObjectModel3d — Calculate the 3D surface normals of a 3D object model.

Signature

surface_normals_object_model_3d( : : ObjectModel3D, Method, GenParamName, GenParamValue : ObjectModel3DNormals)

Herror surface_normals_object_model_3d(const Hlong ObjectModel3D, const char* Method, const char* GenParamName, double GenParamValue, Hlong* ObjectModel3DNormals)

Herror T_surface_normals_object_model_3d(const Htuple ObjectModel3D, const Htuple Method, const Htuple GenParamName, const Htuple GenParamValue, Htuple* ObjectModel3DNormals)

Herror surface_normals_object_model_3d(const HTuple& ObjectModel3D, const HTuple& Method, const HTuple& GenParamName, const HTuple& GenParamValue, Hlong* ObjectModel3DNormals)

Herror surface_normals_object_model_3d(const HTuple& ObjectModel3D, const HTuple& Method, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectModel3DNormals)

HTuple HObjectModel3D::SurfaceNormalsObjectModel3d(const HTuple& Method, const HTuple& GenParamName, const HTuple& GenParamValue) const

void SurfaceNormalsObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Method, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectModel3DNormals)

static HObjectModel3DArray HObjectModel3D::SurfaceNormalsObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HString& Method, const HTuple& GenParamName, const HTuple& GenParamValue)

HObjectModel3D HObjectModel3D::SurfaceNormalsObjectModel3d(const HString& Method, const HString& GenParamName, double GenParamValue) const

HObjectModel3D HObjectModel3D::SurfaceNormalsObjectModel3d(const char* Method, const char* GenParamName, double GenParamValue) const

void HOperatorSetX.SurfaceNormalsObjectModel3d(
[in] VARIANT ObjectModel3D, [in] VARIANT Method, [in] VARIANT GenParamName, [in] VARIANT GenParamValue, [out] VARIANT* ObjectModel3DNormals)

IHObjectModel3DX* HObjectModel3DX.SurfaceNormalsObjectModel3d(
[in] BSTR Method, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)

static void HOperatorSet.SurfaceNormalsObjectModel3d(HTuple objectModel3D, HTuple method, HTuple genParamName, HTuple genParamValue, out HTuple objectModel3DNormals)

static HObjectModel3D[] HObjectModel3D.SurfaceNormalsObjectModel3d(HObjectModel3D[] objectModel3D, string method, HTuple genParamName, HTuple genParamValue)

HObjectModel3D HObjectModel3D.SurfaceNormalsObjectModel3d(string method, string genParamName, double genParamValue)

Description

The operator surface_normals_object_model_3dsurface_normals_object_model_3dSurfaceNormalsObjectModel3dsurface_normals_object_model_3dSurfaceNormalsObjectModel3dSurfaceNormalsObjectModel3d calculates the 3D surface normals for the object ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D using the method specified by MethodMethodMethodMethodMethodmethod. The calculated normals are appended to the input object and the resulting object is returned in ObjectModel3DNormalsObjectModel3DNormalsObjectModel3DNormalsObjectModel3DNormalsObjectModel3DNormalsobjectModel3DNormals. Currently, Moving Least Squares (MLS, MethodMethodMethodMethodMethodmethod='mls'"mls""mls""mls""mls""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_3dsmooth_object_model_3dSmoothObjectModel3dsmooth_object_model_3dSmoothObjectModel3dSmoothObjectModel3d with the exception that in surface_normals_object_model_3dsurface_normals_object_model_3dSurfaceNormalsObjectModel3dsurface_normals_object_model_3dSurfaceNormalsObjectModel3dSurfaceNormalsObjectModel3d the 3D points are not smoothed, i.e., the original 3D points of ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D 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_3dsmooth_object_model_3dSmoothObjectModel3dsmooth_object_model_3dSmoothObjectModel3dSmoothObjectModel3d.

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'"mls_kNN""mls_kNN""mls_kNN""mls_kNN""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_3dclear_object_model_3dClearObjectModel3dclear_object_model_3dClearObjectModel3dClearObjectModel3d.

Parallelization

Parameters

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (input_control)  object_model_3d(-array) HObjectModel3D, HTupleHTupleHObjectModel3D, HTupleHObjectModel3DX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle of the 3D object model containing 3D point data.

MethodMethodMethodMethodMethodmethod (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Normals calculation method.

Default value: 'mls' "mls" "mls" "mls" "mls" "mls"

List of values: 'mls'"mls""mls""mls""mls""mls"

GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  attribute.name(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Names of generic smoothing parameters.

Default value: []

List of values: 'mls_abs_sigma'"mls_abs_sigma""mls_abs_sigma""mls_abs_sigma""mls_abs_sigma""mls_abs_sigma", 'mls_force_inwards'"mls_force_inwards""mls_force_inwards""mls_force_inwards""mls_force_inwards""mls_force_inwards", 'mls_kNN'"mls_kNN""mls_kNN""mls_kNN""mls_kNN""mls_kNN", 'mls_order'"mls_order""mls_order""mls_order""mls_order""mls_order", 'mls_relative_sigma'"mls_relative_sigma""mls_relative_sigma""mls_relative_sigma""mls_relative_sigma""mls_relative_sigma"

GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  attribute.value(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*) (double / Hlong / BSTR) (double / Hlong / char*)

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'"true""true""true""true""true", 'false'"false""false""false""false""false"

ObjectModel3DNormalsObjectModel3DNormalsObjectModel3DNormalsObjectModel3DNormalsObjectModel3DNormalsobjectModel3DNormals (output_control)  object_model_3d(-array) HObjectModel3D, HTupleHTupleHObjectModel3D, HTupleHObjectModel3DX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle of the 3D object model with calculated 3D normals.

Possible Successors

clear_object_model_3dclear_object_model_3dClearObjectModel3dclear_object_model_3dClearObjectModel3dClearObjectModel3d

Alternatives

smooth_object_model_3dsmooth_object_model_3dSmoothObjectModel3dsmooth_object_model_3dSmoothObjectModel3dSmoothObjectModel3d

Module

3D Metrology


ClassesClassesClassesClasses | | | | Operators