select_object_model_3dT_select_object_model_3dSelectObjectModel3dSelectObjectModel3dselect_object_model_3d (Operator)

Name

select_object_model_3dT_select_object_model_3dSelectObjectModel3dSelectObjectModel3dselect_object_model_3d — Select 3D object models from an array of 3D object models according to global features.

Signature

select_object_model_3d( : : ObjectModel3D, Feature, Operation, MinValue, MaxValue : ObjectModel3DSelected)

Herror T_select_object_model_3d(const Htuple ObjectModel3D, const Htuple Feature, const Htuple Operation, const Htuple MinValue, const Htuple MaxValue, Htuple* ObjectModel3DSelected)

void SelectObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Feature, const HTuple& Operation, const HTuple& MinValue, const HTuple& MaxValue, HTuple* ObjectModel3DSelected)

static HObjectModel3DArray HObjectModel3D::SelectObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HTuple& Feature, const HString& Operation, const HTuple& MinValue, const HTuple& MaxValue)

HObjectModel3D HObjectModel3D::SelectObjectModel3d(const HString& Feature, const HString& Operation, double MinValue, double MaxValue) const

HObjectModel3D HObjectModel3D::SelectObjectModel3d(const char* Feature, const char* Operation, double MinValue, double MaxValue) const

HObjectModel3D HObjectModel3D::SelectObjectModel3d(const wchar_t* Feature, const wchar_t* Operation, double MinValue, double MaxValue) const   (Windows only)

static void HOperatorSet.SelectObjectModel3d(HTuple objectModel3D, HTuple feature, HTuple operation, HTuple minValue, HTuple maxValue, out HTuple objectModel3DSelected)

static HObjectModel3D[] HObjectModel3D.SelectObjectModel3d(HObjectModel3D[] objectModel3D, HTuple feature, string operation, HTuple minValue, HTuple maxValue)

HObjectModel3D HObjectModel3D.SelectObjectModel3d(string feature, string operation, double minValue, double maxValue)

def select_object_model_3d(object_model_3d: MaybeSequence[HHandle], feature: MaybeSequence[str], operation: str, min_value: MaybeSequence[Union[int, float, str]], max_value: MaybeSequence[Union[int, float, str]]) -> Sequence[HHandle]

def select_object_model_3d_s(object_model_3d: MaybeSequence[HHandle], feature: MaybeSequence[str], operation: str, min_value: MaybeSequence[Union[int, float, str]], max_value: MaybeSequence[Union[int, float, str]]) -> HHandle

Description

select_object_model_3dselect_object_model_3dSelectObjectModel3dSelectObjectModel3dSelectObjectModel3dselect_object_model_3d selects 3D object models from an array of 3D object models for which the values of specified global features lie within a specified range. The list of possible features that may be specified in FeatureFeatureFeatureFeaturefeaturefeature are:

'mean_points_x'"mean_points_x""mean_points_x""mean_points_x""mean_points_x""mean_points_x":

The mean x-coordinate of the points in the 3D object model.

'mean_points_y'"mean_points_y""mean_points_y""mean_points_y""mean_points_y""mean_points_y":

The mean y-coordinate of the points in the 3D object model.

'mean_points_z'"mean_points_z""mean_points_z""mean_points_z""mean_points_z""mean_points_z":

The mean z-coordinate of the points in the 3D object model.

'diameter_axis_aligned_bounding_box'"diameter_axis_aligned_bounding_box""diameter_axis_aligned_bounding_box""diameter_axis_aligned_bounding_box""diameter_axis_aligned_bounding_box""diameter_axis_aligned_bounding_box":

The diameter of the set of 3D points, defined as the length of the diagonal of the smallest enclosing axis-parallel cuboid.

'diameter_bounding_box'"diameter_bounding_box""diameter_bounding_box""diameter_bounding_box""diameter_bounding_box""diameter_bounding_box":

The diameter of the set of 3D points, defined as the length of the diagonal of the smallest enclosing oriented cuboid. This feature has a high calculation complexity.

'diameter_object'"diameter_object""diameter_object""diameter_object""diameter_object""diameter_object":

The diameter of the set of 3D points, defined as the length of the distance between two points.

'volume'"volume""volume""volume""volume""volume":

The volume of the triangulation of the 3D object model over the x-y plane in the coordinate origin. This corresponds to the default parametrization of volume_object_model_3d_relative_to_planevolume_object_model_3d_relative_to_planeVolumeObjectModel3dRelativeToPlaneVolumeObjectModel3dRelativeToPlaneVolumeObjectModel3dRelativeToPlanevolume_object_model_3d_relative_to_plane with the plane [0,0,0,0,0,0,0]. The plane con not be changed here.

'volume_axis_aligned_bounding_box'"volume_axis_aligned_bounding_box""volume_axis_aligned_bounding_box""volume_axis_aligned_bounding_box""volume_axis_aligned_bounding_box""volume_axis_aligned_bounding_box":

The volume of the smallest enclosing axis-parallel cuboid.

'area'"area""area""area""area""area":

The area of the triangulation of the 3D object model.

'central_moment_2_x'"central_moment_2_x""central_moment_2_x""central_moment_2_x""central_moment_2_x""central_moment_2_x":

The x-value of the second central moment of the 3D object model.

'central_moment_2_y'"central_moment_2_y""central_moment_2_y""central_moment_2_y""central_moment_2_y""central_moment_2_y":

The y-value of the second central moment of the 3D object model.

'central_moment_2_z'"central_moment_2_z""central_moment_2_z""central_moment_2_z""central_moment_2_z""central_moment_2_z":

The z-value of the second central moment of the 3D object model.

'central_moment_2_xy'"central_moment_2_xy""central_moment_2_xy""central_moment_2_xy""central_moment_2_xy""central_moment_2_xy":

The xy-value of the second central moment of the 3D object model.

'central_moment_2_xz'"central_moment_2_xz""central_moment_2_xz""central_moment_2_xz""central_moment_2_xz""central_moment_2_xz":

The xz-value of the second central moment of the 3D object model.

'central_moment_2_yz'"central_moment_2_yz""central_moment_2_yz""central_moment_2_yz""central_moment_2_yz""central_moment_2_yz":

The yz-value of the second central moment of the 3D object model.

'num_points'"num_points""num_points""num_points""num_points""num_points":

The number of points.

'num_triangles'"num_triangles""num_triangles""num_triangles""num_triangles""num_triangles":

The number of triangles.

'num_faces'"num_faces""num_faces""num_faces""num_faces""num_faces":

The number of faces.

'num_lines'"num_lines""num_lines""num_lines""num_lines""num_lines":

The number of polylines.

'has_points'"has_points""has_points""has_points""has_points""has_points":

The existence of 3D points.

'has_point_normals'"has_point_normals""has_point_normals""has_point_normals""has_point_normals""has_point_normals":

The existence of 3D point normals.

'has_triangles'"has_triangles""has_triangles""has_triangles""has_triangles""has_triangles":

The existence of triangles.

'has_faces'"has_faces""has_faces""has_faces""has_faces""has_faces":

The existence of faces or polygons.

'has_lines'"has_lines""has_lines""has_lines""has_lines""has_lines":

The existence of lines.

'has_xyz_mapping'"has_xyz_mapping""has_xyz_mapping""has_xyz_mapping""has_xyz_mapping""has_xyz_mapping":

The existence of a mapping of the 3D points to image coordinates.

'has_shape_based_matching_3d_data'"has_shape_based_matching_3d_data""has_shape_based_matching_3d_data""has_shape_based_matching_3d_data""has_shape_based_matching_3d_data""has_shape_based_matching_3d_data":

The existence of a shape model for shape-based 3D matching.

'has_surface_based_matching_data'"has_surface_based_matching_data""has_surface_based_matching_data""has_surface_based_matching_data""has_surface_based_matching_data""has_surface_based_matching_data":

The existence of data for the surface-based 3D matching.

'has_segmentation_data'"has_segmentation_data""has_segmentation_data""has_segmentation_data""has_segmentation_data""has_segmentation_data":

The existence of data for a 3D segmentation.

'has_primitive_data'"has_primitive_data""has_primitive_data""has_primitive_data""has_primitive_data""has_primitive_data":

The existence of a 3D primitive.

For all features listed in FeatureFeatureFeatureFeaturefeaturefeature a minimal and maximal threshold must be specified in MinValueMinValueMinValueMinValueminValuemin_value and MaxValueMaxValueMaxValueMaxValuemaxValuemax_value. This range is then used to select all given 3D object models that fulfill the given conditions. These are copied to ObjectModel3DSelectedObjectModel3DSelectedObjectModel3DSelectedObjectModel3DSelectedobjectModel3DSelectedobject_model_3dselected. For logical parameters (e.g., 'has_points'"has_points""has_points""has_points""has_points""has_points", 'has_point_normals'"has_point_normals""has_point_normals""has_point_normals""has_point_normals""has_point_normals", ...), MinValueMinValueMinValueMinValueminValuemin_value and MaxValueMaxValueMaxValueMaxValuemaxValuemax_value can both be set to 'true'"true""true""true""true""true" to select all 3D object models that have the respective attribute or to 'false'"false""false""false""false""false" to select all that do not have it. MinValueMinValueMinValueMinValueminValuemin_value and MaxValueMaxValueMaxValueMaxValuemaxValuemax_value can be set to 'min'"min""min""min""min""min" and 'max'"max""max""max""max""max" accordingly to ignore the respective threshold.

The parameter OperationOperationOperationOperationoperationoperation defines the logical operation that is used to combine different features in FeatureFeatureFeatureFeaturefeaturefeature. It can be either a logical 'or'"or""or""or""or""or" or 'and'"and""and""and""and""and".

Execution Information

Parameters

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d (input_control)  object_model_3d(-array) HObjectModel3D, HTupleMaybeSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handles of the available 3D object models to select.

FeatureFeatureFeatureFeaturefeaturefeature (input_control)  string(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

List of features a test is performed on.

Default value: 'has_triangles' "has_triangles" "has_triangles" "has_triangles" "has_triangles" "has_triangles"

List of values: 'area'"area""area""area""area""area", 'central_moment_2_x'"central_moment_2_x""central_moment_2_x""central_moment_2_x""central_moment_2_x""central_moment_2_x", 'central_moment_2_xy'"central_moment_2_xy""central_moment_2_xy""central_moment_2_xy""central_moment_2_xy""central_moment_2_xy", 'central_moment_2_xz'"central_moment_2_xz""central_moment_2_xz""central_moment_2_xz""central_moment_2_xz""central_moment_2_xz", 'central_moment_2_y'"central_moment_2_y""central_moment_2_y""central_moment_2_y""central_moment_2_y""central_moment_2_y", 'central_moment_2_yz'"central_moment_2_yz""central_moment_2_yz""central_moment_2_yz""central_moment_2_yz""central_moment_2_yz", 'central_moment_2_z'"central_moment_2_z""central_moment_2_z""central_moment_2_z""central_moment_2_z""central_moment_2_z", 'diameter_axis_aligned_bounding_box'"diameter_axis_aligned_bounding_box""diameter_axis_aligned_bounding_box""diameter_axis_aligned_bounding_box""diameter_axis_aligned_bounding_box""diameter_axis_aligned_bounding_box", 'diameter_bounding_box'"diameter_bounding_box""diameter_bounding_box""diameter_bounding_box""diameter_bounding_box""diameter_bounding_box", 'diameter_object'"diameter_object""diameter_object""diameter_object""diameter_object""diameter_object", 'has_faces'"has_faces""has_faces""has_faces""has_faces""has_faces", 'has_lines'"has_lines""has_lines""has_lines""has_lines""has_lines", 'has_point_normals'"has_point_normals""has_point_normals""has_point_normals""has_point_normals""has_point_normals", 'has_points'"has_points""has_points""has_points""has_points""has_points", 'has_primitive_data'"has_primitive_data""has_primitive_data""has_primitive_data""has_primitive_data""has_primitive_data", 'has_segmentation_data'"has_segmentation_data""has_segmentation_data""has_segmentation_data""has_segmentation_data""has_segmentation_data", 'has_shape_based_matching_3d_data'"has_shape_based_matching_3d_data""has_shape_based_matching_3d_data""has_shape_based_matching_3d_data""has_shape_based_matching_3d_data""has_shape_based_matching_3d_data", 'has_surface_based_matching_data'"has_surface_based_matching_data""has_surface_based_matching_data""has_surface_based_matching_data""has_surface_based_matching_data""has_surface_based_matching_data", 'has_triangles'"has_triangles""has_triangles""has_triangles""has_triangles""has_triangles", 'has_xyz_mapping'"has_xyz_mapping""has_xyz_mapping""has_xyz_mapping""has_xyz_mapping""has_xyz_mapping", 'mean_points_x'"mean_points_x""mean_points_x""mean_points_x""mean_points_x""mean_points_x", 'mean_points_y'"mean_points_y""mean_points_y""mean_points_y""mean_points_y""mean_points_y", 'mean_points_z'"mean_points_z""mean_points_z""mean_points_z""mean_points_z""mean_points_z", 'num_faces'"num_faces""num_faces""num_faces""num_faces""num_faces", 'num_lines'"num_lines""num_lines""num_lines""num_lines""num_lines", 'num_points'"num_points""num_points""num_points""num_points""num_points", 'num_triangles'"num_triangles""num_triangles""num_triangles""num_triangles""num_triangles", 'volume'"volume""volume""volume""volume""volume", 'volume_axis_aligned_bounding_box'"volume_axis_aligned_bounding_box""volume_axis_aligned_bounding_box""volume_axis_aligned_bounding_box""volume_axis_aligned_bounding_box""volume_axis_aligned_bounding_box"

OperationOperationOperationOperationoperationoperation (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Logical operation to combine the features given in FeatureFeatureFeatureFeaturefeaturefeature.

Default value: 'and' "and" "and" "and" "and" "and"

List of values: 'and'"and""and""and""and""and", 'or'"or""or""or""or""or"

MinValueMinValueMinValueMinValueminValuemin_value (input_control)  number(-array) HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Minimum value for the given feature.

Default value: 1

Suggested values: 0, 1, 100, 0.1, 'true'"true""true""true""true""true", 'false'"false""false""false""false""false", 'min'"min""min""min""min""min"

MaxValueMaxValueMaxValueMaxValuemaxValuemax_value (input_control)  number(-array) HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Maximum value for the given feature.

Default value: 1

Suggested values: 0, 1, 10, 100, 0.1, 'true'"true""true""true""true""true", 'false'"false""false""false""false""false", 'max'"max""max""max""max""max"

ObjectModel3DSelectedObjectModel3DSelectedObjectModel3DSelectedObjectModel3DSelectedobjectModel3DSelectedobject_model_3dselected (output_control)  object_model_3d(-array) HObjectModel3D, HTupleSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)

A subset of ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d fulfilling the given conditions.

Example (HDevelop)

gen_object_model_3d_from_points (rand(20)-1.0, rand(20)-1.0,\
                                    rand(20)-1.0, ObjectModel3D1)
gen_object_model_3d_from_points (rand(20), rand(20),\
                                    rand(20), ObjectModel3D2)
select_object_model_3d ([ObjectModel3D1, ObjectModel3D2],\
                        'mean_points_x', 'and', 0, 1, ObjectModel3DSelected)

Result

select_object_model_3dselect_object_model_3dSelectObjectModel3dSelectObjectModel3dSelectObjectModel3dselect_object_model_3d returns TRUE if all parameters are correct. If necessary, an exception is raised.

Possible Predecessors

read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3dread_object_model_3d, select_points_object_model_3dselect_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3dSelectPointsObjectModel3dselect_points_object_model_3d, connection_object_model_3dconnection_object_model_3dConnectionObjectModel3dConnectionObjectModel3dConnectionObjectModel3dconnection_object_model_3d

Possible Successors

project_object_model_3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3dProjectObjectModel3dproject_object_model_3d, object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyzObjectModel3dToXyzobject_model_3d_to_xyz

See also

volume_object_model_3d_relative_to_planevolume_object_model_3d_relative_to_planeVolumeObjectModel3dRelativeToPlaneVolumeObjectModel3dRelativeToPlaneVolumeObjectModel3dRelativeToPlanevolume_object_model_3d_relative_to_plane, area_object_model_3darea_object_model_3dAreaObjectModel3dAreaObjectModel3dAreaObjectModel3darea_object_model_3d, max_diameter_object_model_3dmax_diameter_object_model_3dMaxDiameterObjectModel3dMaxDiameterObjectModel3dMaxDiameterObjectModel3dmax_diameter_object_model_3d, moments_object_model_3dmoments_object_model_3dMomentsObjectModel3dMomentsObjectModel3dMomentsObjectModel3dmoments_object_model_3d

Module

3D Metrology