ClassesClassesClassesClasses | | | | Operators

connection_object_model_3dconnection_object_model_3dConnectionObjectModel3dconnection_object_model_3dConnectionObjectModel3dConnectionObjectModel3d (Operator)

Name

connection_object_model_3dconnection_object_model_3dConnectionObjectModel3dconnection_object_model_3dConnectionObjectModel3dConnectionObjectModel3d — Determine the connected components of the 3D object model.

Signature

connection_object_model_3d( : : ObjectModel3D, Feature, Value : ObjectModel3DConnected)

Herror connection_object_model_3d(const Hlong ObjectModel3D, const char* Feature, double Value, Hlong* ObjectModel3DConnected)

Herror T_connection_object_model_3d(const Htuple ObjectModel3D, const Htuple Feature, const Htuple Value, Htuple* ObjectModel3DConnected)

Herror connection_object_model_3d(const HTuple& ObjectModel3D, const HTuple& Feature, const HTuple& Value, Hlong* ObjectModel3DConnected)

Herror connection_object_model_3d(const HTuple& ObjectModel3D, const HTuple& Feature, const HTuple& Value, HTuple* ObjectModel3DConnected)

HTuple HObjectModel3D::ConnectionObjectModel3d(const HTuple& Feature, const HTuple& Value) const

void ConnectionObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Feature, const HTuple& Value, HTuple* ObjectModel3DConnected)

static HObjectModel3DArray HObjectModel3D::ConnectionObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HTuple& Feature, const HTuple& Value)

HObjectModel3D HObjectModel3D::ConnectionObjectModel3d(const HString& Feature, double Value) const

HObjectModel3D HObjectModel3D::ConnectionObjectModel3d(const char* Feature, double Value) const

void HOperatorSetX.ConnectionObjectModel3d(
[in] VARIANT ObjectModel3D, [in] VARIANT Feature, [in] VARIANT Value, [out] VARIANT* ObjectModel3DConnected)

IHObjectModel3DX* HObjectModel3DX.ConnectionObjectModel3d(
[in] VARIANT Feature, [in] VARIANT Value)

static void HOperatorSet.ConnectionObjectModel3d(HTuple objectModel3D, HTuple feature, HTuple value, out HTuple objectModel3DConnected)

static HObjectModel3D[] HObjectModel3D.ConnectionObjectModel3d(HObjectModel3D[] objectModel3D, HTuple feature, HTuple value)

HObjectModel3D HObjectModel3D.ConnectionObjectModel3d(string feature, double value)

Description

connection_object_model_3dconnection_object_model_3dConnectionObjectModel3dconnection_object_model_3dConnectionObjectModel3dConnectionObjectModel3d determines the connected components of the input 3D object model given in ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D. The decision if two parts of the 3D object model are connected can be based on different attributes and respective distance functions. The attribute and distance function can be selected in FeatureFeatureFeatureFeatureFeaturefeature:

'distance_3d'"distance_3d""distance_3d""distance_3d""distance_3d""distance_3d":

The euclidean distance between the point coordinates of the set of the 3D points are tested. For any distance below ValueValueValueValueValuevalue the points are considered as connected.

'angle'"angle""angle""angle""angle""angle":

The angles between the normals of the points in the 3D object model are compared. Similar normals are considered as connected if their angular distance is under ValueValueValueValueValuevalue. ValueValueValueValueValuevalue is specified in radians and should be between 0 and pi.

'distance_mapping'"distance_mapping""distance_mapping""distance_mapping""distance_mapping""distance_mapping":

The mapping measures the distance between the pixel coordinates of points in the 3D object model that are stored in the 2D-Mapping. Use a value larger than 1.5 for ValueValueValueValueValuevalue to get a connection in an 8-neighborhood in the image.

'mesh'"mesh""mesh""mesh""mesh""mesh":

Returns parts of the 3D object model that are connected with triangles or polygons. ValueValueValueValueValuevalue is ignored.

'lines'"lines""lines""lines""lines""lines":

Returns parts of the object model that are connected by lines. ValueValueValueValueValuevalue is ignored.

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.

FeatureFeatureFeatureFeatureFeaturefeature (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Attribute used to calculate the connected components.

Default value: 'distance_3d' "distance_3d" "distance_3d" "distance_3d" "distance_3d" "distance_3d"

List of values: 'angle'"angle""angle""angle""angle""angle", 'distance_3d'"distance_3d""distance_3d""distance_3d""distance_3d""distance_3d", 'distance_mapping'"distance_mapping""distance_mapping""distance_mapping""distance_mapping""distance_mapping", 'lines'"lines""lines""lines""lines""lines", 'mesh'"mesh""mesh""mesh""mesh""mesh"

ValueValueValueValueValuevalue (input_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Maximum value for the distance between two connected components.

Default value: 1.0

List of values: 1.0, 1.1, 1.5, 10.0, 100.0

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

Handle of the 3D object models that represent the connected components.

Example (HDevelop)

gen_object_model_3d_from_points (rand(100), rand(100),\
                                 rand(100), ObjectModel3D)
connection_object_model_3d (ObjectModel3D, 'distance_3d', 0.2,\
                            ObjectModel3DConnected)
dev_get_window (WindowHandle)
visualize_object_model_3d (WindowHandle, [ObjectModel3DConnected], [], [],\
                           ['colored'], [12], [], [], [], PoseOut)

Result

connection_object_model_3dconnection_object_model_3dConnectionObjectModel3dconnection_object_model_3dConnectionObjectModel3dConnectionObjectModel3d returns 2 (H_MSG_TRUE) if all parameters are correct. If necessary, an exception is raised.

Possible Predecessors

read_object_model_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d, select_points_object_model_3dselect_points_object_model_3dSelectPointsObjectModel3dselect_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3d

Possible Successors

project_object_model_3dproject_object_model_3dProjectObjectModel3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3d, object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyz, clear_object_model_3dclear_object_model_3dClearObjectModel3dclear_object_model_3dClearObjectModel3dClearObjectModel3d

See also

select_points_object_model_3dselect_points_object_model_3dSelectPointsObjectModel3dselect_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3d

Module

3D Metrology


ClassesClassesClassesClasses | | | | Operators