HALCON Reference Manual 10.0.2
Table of Contents / 3D Tools / 3D Object Model ClassesClassesClasses | | | Operators

get_object_model_3d_paramsget_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParams (Operator)

Name

get_object_model_3d_paramsget_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParams — Return the attributes of a 3D object model.

Signature

get_object_model_3d_params( : : ObjectModel3DID, ParamName : ParamValue)

Herror get_object_model_3d_params(const Hlong ObjectModel3DID, const char* ParamName, char* ParamValue)

Herror T_get_object_model_3d_params(const Htuple ObjectModel3DID, const Htuple ParamName, Htuple* ParamValue)

Herror get_object_model_3d_params(const HTuple& ObjectModel3DID, const HTuple& ParamName, char* ParamValue)

Herror get_object_model_3d_params(const HTuple& ObjectModel3DID, const HTuple& ParamName, HTuple* ParamValue)

HTuple HObjectModel3D::GetObjectModel3dParams(const HTuple& ParamName) const

void HOperatorSetX.GetObjectModel3dParams(
[in] VARIANT ObjectModel3DID, [in] VARIANT ParamName, [out] VARIANT* ParamValue)

VARIANT HObjectModel3DX.GetObjectModel3dParams([in] VARIANT ParamName)

static void HOperatorSet.GetObjectModel3dParams(HTuple objectModel3DID, HTuple paramName, out HTuple paramValue)

HTuple HObjectModel3D.GetObjectModel3dParams(HTuple paramName)

HTuple HObjectModel3D.GetObjectModel3dParams(string paramName)

Description

A 3D object model consists of a set of attributes. The operator get_object_model_3d_paramsget_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParams allows to query attributes of the 3D object model. The name of the desired attribute is passed in the generic parameter ParamNameParamNameParamNameParamNameparamName, the corresponding value is returned in ParamValueParamValueParamValueParamValueparamValue. If an attribute to be queried is not available, an exeption is raised.

The following attributes can be queried:

'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x":

The x-coordinates of the set of the 3D points.

'point_coord_y'"point_coord_y""point_coord_y""point_coord_y""point_coord_y":

The y-coordinates of the set of the 3D points.

'point_coord_z'"point_coord_z""point_coord_z""point_coord_z""point_coord_z":

The z-coordinates of the set of the 3D points.

'point_normal_x'"point_normal_x""point_normal_x""point_normal_x""point_normal_x":

The x-components of 3D point normals of the set of the 3D points.

'point_normal_y'"point_normal_y""point_normal_y""point_normal_y""point_normal_y":

The y-components of 3D point normals of the set of the 3D points.

'point_normal_z'"point_normal_z""point_normal_z""point_normal_z""point_normal_z":

The z-components of 3D point normals of the set of the 3D points.

'triangles'"triangles""triangles""triangles""triangles":

The indices of the 3D points that represent triangles in the following order: The first set of three return values (return values 0,1,2) represente the first triangle. The second set of three return values (return values 3,4,5) represents the second triangle etc. All indices correspond to the coordinates of the 3D points. Access to the coordinates of the 3D points is possible, e.g., with the generic parameter ParamNameParamNameParamNameParamNameparamName set to the values 'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x", 'point_coord_y'"point_coord_y""point_coord_y""point_coord_y""point_coord_y", and 'point_coord_z'"point_coord_z""point_coord_z""point_coord_z""point_coord_z", respectively.

'faces'"faces""faces""faces""faces":

The indices of the 3D points that represent faces in the following order: The first return value contains the number n0 of the first polygon. The following return values (return values 1,2,..,n0) represent the indices of first polygon. The next return value (return value n0+1) contains the number n1 of the second polygon. The following n1 return values (return values n0+2,n0+3,..,n0+1+n1) represent the indices of the second polygon etc. All indices correspond to the coordinates of the 3D points. Access to the coordinates of the 3D points is possible, e.g., with the generic parameter ParamNameParamNameParamNameParamNameparamName set to the values 'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x", 'point_coord_y'"point_coord_y""point_coord_y""point_coord_y""point_coord_y", and 'point_coord_z'"point_coord_z""point_coord_z""point_coord_z""point_coord_z", respectively.

'diameter'"diameter""diameter""diameter""diameter":

The diameter of the set of 3D points, defined as the length of the diagonal of the smallest enclosing axis-parallel cuboid (see parameter 'bounding_box1'"bounding_box1""bounding_box1""bounding_box1""bounding_box1").

'center'"center""center""center""center":

3D coordinates of the center of the set of 3D points. These coordinates are the center of the smallest enclosing axis-parallel cuboid (see parameter 'bounding_box1'"bounding_box1""bounding_box1""bounding_box1""bounding_box1").

'primitive_type'"primitive_type""primitive_type""primitive_type""primitive_type":

The primitive type (e.g., obtained from the operator fit_primitives_object_model_3dfit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d).

'primitive_parameter'"primitive_parameter""primitive_parameter""primitive_parameter""primitive_parameter":

The parameters of the primitive (e.g., obtained from the operator fit_primitives_object_model_3dfit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d). If the type of the primitive is a cylinder, the return values are the (x-, y-, z-)coordinates of the center [x_center, y_center, z_center], the normed (x-, y-, z-)directions of the main axis of the cylinder [x_axis, y_axis, z_axis], and the radius [radius] of the cylinder. The order is [x_center, y_center, z_center, x_axis, y_axis, z_axis, radius]. If the type of the primitive is a sphere, the return values are the (x-, y-, z-)coordinates of the center [x_center, y_center, z_center] and the radius [radius] of the sphere. The order is [x_center, y_center, z_center, radius]. If the type of the primitive is a plane, the 4 parameters of the hessian normal form are returned, i.e., the unit normal (x-, y-, z-) vector [x, y, z] and the orthogonal distance [d] of the plane from the origin of the coordinate system. The order is [x, y, z, d]. The sign of the distance determines the side of the plane on which the origin is located.

'primitive_rms'"primitive_rms""primitive_rms""primitive_rms""primitive_rms":

The quadratic residual error of the primitive (e.g. obtained from the operator fit_primitives_object_model_3dfit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d).

'reference_point'"reference_point""reference_point""reference_point""reference_point":

3D coordinates of the reference point of the prepared 3D shape model for shape-based 3D matching. The reference point is the center of the smallest enclosing axis-parallel cuboid (see parameter 'bounding_box1'"bounding_box1""bounding_box1""bounding_box1""bounding_box1").

'bounding_box1'"bounding_box1""bounding_box1""bounding_box1""bounding_box1":

Smallest enclosing axis-parallel cuboid (min_x, min_y, min_z, max_x, max_y, max_z).

'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.

'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_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 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 primitive.

The attributes 'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x", 'point_coord_y'"point_coord_y""point_coord_y""point_coord_y""point_coord_y", 'point_coord_z'"point_coord_z""point_coord_z""point_coord_z""point_coord_z", 'point_normal_x'"point_normal_x""point_normal_x""point_normal_x""point_normal_x", 'point_normal_y'"point_normal_y""point_normal_y""point_normal_y""point_normal_y", 'point_normal_z'"point_normal_z""point_normal_z""point_normal_z""point_normal_z", 'center'"center""center""center""center", 'primitive_parameter'"primitive_parameter""primitive_parameter""primitive_parameter""primitive_parameter", 'reference_point'"reference_point""reference_point""reference_point""reference_point", and 'bounding_box1'"bounding_box1""bounding_box1""bounding_box1""bounding_box1" can return several values. Therefore, for these attributes only one attribute can be queried per call.

Parallelization

Parameters

ObjectModel3DIDObjectModel3DIDObjectModel3DIDObjectModel3DIDobjectModel3DID (input_control)  object_model_3d HObjectModel3D, HTupleHObjectModel3D, HTupleHObjectModel3DX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong)

Handle of the 3D object model.

ParamNameParamNameParamNameParamNameparamName (input_control)  attribute.name(-array) HTupleHTupleVARIANTHtuple (string) (string) (char*) (BSTR) (char*)

Names of the generic attribute that is queried for the 3D object model.

Default value: 'reference_point' "reference_point" "reference_point" "reference_point" "reference_point"

List of values: 'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x", 'point_coord_y'"point_coord_y""point_coord_y""point_coord_y""point_coord_y", 'point_coord_z'"point_coord_z""point_coord_z""point_coord_z""point_coord_z", 'point_normal_x'"point_normal_x""point_normal_x""point_normal_x""point_normal_x", 'point_normal_y'"point_normal_y""point_normal_y""point_normal_y""point_normal_y", 'point_normal_z'"point_normal_z""point_normal_z""point_normal_z""point_normal_z", 'triangles'"triangles""triangles""triangles""triangles", 'faces'"faces""faces""faces""faces", 'diameter'"diameter""diameter""diameter""diameter", 'center'"center""center""center""center", 'primitive_type'"primitive_type""primitive_type""primitive_type""primitive_type", 'primitive_rms'"primitive_rms""primitive_rms""primitive_rms""primitive_rms", 'primitive_parameter'"primitive_parameter""primitive_parameter""primitive_parameter""primitive_parameter", 'reference_point'"reference_point""reference_point""reference_point""reference_point", 'bounding_box1'"bounding_box1""bounding_box1""bounding_box1""bounding_box1", 'num_points'"num_points""num_points""num_points""num_points", 'num_triangles'"num_triangles""num_triangles""num_triangles""num_triangles", 'num_faces'"num_faces""num_faces""num_faces""num_faces", '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_triangles'"has_triangles""has_triangles""has_triangles""has_triangles", 'has_faces'"has_faces""has_faces""has_faces""has_faces", 'has_xyz_mapping'"has_xyz_mapping""has_xyz_mapping""has_xyz_mapping""has_xyz_mapping", '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_segmentation_data'"has_segmentation_data""has_segmentation_data""has_segmentation_data""has_segmentation_data", 'has_primitive_data'"has_primitive_data""has_primitive_data""has_primitive_data""has_primitive_data"

ParamValueParamValueParamValueParamValueparamValue (output_control)  attribute.value(-array) HTupleHTupleVARIANTHtuple (string / integer / real) (string / int / long / double) (char* / Hlong / double) (BSTR / Hlong / double) (char* / Hlong / double)

Values of the generic parameter.

Result

The operator get_object_model_3d_paramsget_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParams returns the value 2 (H_MSG_TRUE) if the given parameters are correct. Otherwise, an exception will be raised.

Possible Predecessors

read_object_model_3dread_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d, prepare_object_model_3dprepare_object_model_3dprepare_object_model_3dPrepareObjectModel3dPrepareObjectModel3d

Possible Successors

affine_trans_object_model_3daffine_trans_object_model_3daffine_trans_object_model_3dAffineTransObjectModel3dAffineTransObjectModel3d

Module

3D Metrology


Table of Contents / 3D Tools / 3D Object Model ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH