select_object_model_3dT_select_object_model_3dSelectObjectModel3dSelectObjectModel3dselect_object_model_3d (Operator)
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
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_3dSelectObjectModel3dSelectObjectModel3dselect_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 FeatureFeatureFeaturefeaturefeature
are:
- '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":
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":
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":
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":
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":
The diameter of the set of 3D points, defined as the length of
the distance between two points.
- '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_planeVolumeObjectModel3dRelativeToPlaneVolumeObjectModel3dRelativeToPlanevolume_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":
The volume of the smallest enclosing axis-parallel cuboid.
- '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":
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":
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":
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":
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":
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":
The yz-value of the second central moment of the 3D object model.
- 'num_points'"num_points""num_points""num_points""num_points":
The number of points.
- 'num_triangles'"num_triangles""num_triangles""num_triangles""num_triangles":
The number of triangles.
- 'num_faces'"num_faces""num_faces""num_faces""num_faces":
The number of faces.
- 'num_lines'"num_lines""num_lines""num_lines""num_lines":
The number of polylines.
- '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":
The existence of 3D point normals.
- 'has_triangles'"has_triangles""has_triangles""has_triangles""has_triangles":
The existence of triangles.
- '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":
The existence of lines.
- '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":
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":
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":
The existence of data for a 3D segmentation.
- '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 FeatureFeatureFeaturefeaturefeature
a minimal and maximal
threshold must be specified in MinValueMinValueMinValueminValuemin_value
and MaxValueMaxValueMaxValuemaxValuemax_value
.
This range is then used to select all given
3D object models that fulfill the given conditions. These are copied
to ObjectModel3DSelectedObjectModel3DSelectedObjectModel3DSelectedobjectModel3DSelectedobject_model_3dselected
. For logical parameters
(e.g., '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", ...),
MinValueMinValueMinValueminValuemin_value
and MaxValueMaxValueMaxValuemaxValuemax_value
can both be set to 'true'"true""true""true""true"
to select all 3D object models that have the respective attribute or to
'false'"false""false""false""false" to select all that do not have it.
MinValueMinValueMinValueminValuemin_value
and MaxValueMaxValueMaxValuemaxValuemax_value
can be set to 'min'"min""min""min""min" and
'max'"max""max""max""max" accordingly to ignore the respective threshold.
The parameter OperationOperationOperationoperationoperation
defines the logical operation
that is used to combine different features in
FeatureFeatureFeaturefeaturefeature
. It can be either a logical 'or'"or""or""or""or" or
'and'"and""and""and""and".
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
ObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_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.
FeatureFeatureFeaturefeaturefeature
(input_control) string(-array) →
HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
List of features a test is performed on.
Default:
'has_triangles'
"has_triangles"
"has_triangles"
"has_triangles"
"has_triangles"
List of values:
'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_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_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_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_bounding_box'"diameter_bounding_box""diameter_bounding_box""diameter_bounding_box""diameter_bounding_box", 'diameter_object'"diameter_object""diameter_object""diameter_object""diameter_object", 'has_faces'"has_faces""has_faces""has_faces""has_faces", '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_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_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_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_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_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", 'num_faces'"num_faces""num_faces""num_faces""num_faces", 'num_lines'"num_lines""num_lines""num_lines""num_lines", 'num_points'"num_points""num_points""num_points""num_points", 'num_triangles'"num_triangles""num_triangles""num_triangles""num_triangles", '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"
OperationOperationOperationoperationoperation
(input_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Logical operation to combine the features given in
FeatureFeatureFeaturefeaturefeature
.
Default:
'and'
"and"
"and"
"and"
"and"
List of values:
'and'"and""and""and""and", 'or'"or""or""or""or"
MinValueMinValueMinValueminValuemin_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:
1
Suggested values:
0, 1, 100, 0.1, 'true'"true""true""true""true", 'false'"false""false""false""false", 'min'"min""min""min""min"
MaxValueMaxValueMaxValuemaxValuemax_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:
1
Suggested values:
0, 1, 10, 100, 0.1, 'true'"true""true""true""true", 'false'"false""false""false""false", 'max'"max""max""max""max"
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_3dSelectObjectModel3dSelectObjectModel3dselect_object_model_3d
returns 2 (
H_MSG_TRUE)
if all parameters
are correct. If necessary, an exception is raised.
Possible Predecessors
read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dread_object_model_3d
,
select_points_object_model_3dselect_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3dselect_points_object_model_3d
,
connection_object_model_3dconnection_object_model_3dConnectionObjectModel3dConnectionObjectModel3dconnection_object_model_3d
,
get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsget_object_model_3d_params
,
volume_object_model_3d_relative_to_planevolume_object_model_3d_relative_to_planeVolumeObjectModel3dRelativeToPlaneVolumeObjectModel3dRelativeToPlanevolume_object_model_3d_relative_to_plane
,
area_object_model_3darea_object_model_3dAreaObjectModel3dAreaObjectModel3darea_object_model_3d
,
max_diameter_object_model_3dmax_diameter_object_model_3dMaxDiameterObjectModel3dMaxDiameterObjectModel3dmax_diameter_object_model_3d
,
moments_object_model_3dmoments_object_model_3dMomentsObjectModel3dMomentsObjectModel3dmoments_object_model_3d
Possible Successors
project_object_model_3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3dproject_object_model_3d
,
object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyzobject_model_3d_to_xyz
See also
volume_object_model_3d_relative_to_planevolume_object_model_3d_relative_to_planeVolumeObjectModel3dRelativeToPlaneVolumeObjectModel3dRelativeToPlanevolume_object_model_3d_relative_to_plane
,
area_object_model_3darea_object_model_3dAreaObjectModel3dAreaObjectModel3darea_object_model_3d
,
max_diameter_object_model_3dmax_diameter_object_model_3dMaxDiameterObjectModel3dMaxDiameterObjectModel3dmax_diameter_object_model_3d
,
moments_object_model_3dmoments_object_model_3dMomentsObjectModel3dMomentsObjectModel3dmoments_object_model_3d
,
get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsget_object_model_3d_params
Module
3D Metrology