Skip to content

remove_object_model_3d_attribRemoveObjectModel3dAttribRemoveObjectModel3dAttribremove_object_model_3d_attribT_remove_object_model_3d_attrib🔗

Short description🔗

remove_object_model_3d_attribRemoveObjectModel3dAttribRemoveObjectModel3dAttribremove_object_model_3d_attribT_remove_object_model_3d_attrib — Remove attributes of a 3D object model.

Signature🔗

remove_object_model_3d_attrib( object_model_3d ObjectModel3D, string Attributes, out object_model_3d ObjectModel3DOut )void RemoveObjectModel3dAttrib( const HTuple& ObjectModel3D, const HTuple& Attributes, HTuple* ObjectModel3DOut )static void HOperatorSet.RemoveObjectModel3dAttrib( HTuple objectModel3D, HTuple attributes, out HTuple objectModel3DOut )def remove_object_model_3d_attrib( object_model_3d: HHandle, attributes: MaybeSequence[str] ) -> HHandle

Herror T_remove_object_model_3d_attrib( const Htuple ObjectModel3D, const Htuple Attributes, Htuple* ObjectModel3DOut )

HObjectModel3D HObjectModel3D::RemoveObjectModel3dAttrib( const HTuple& Attributes ) const

HObjectModel3D HObjectModel3D::RemoveObjectModel3dAttrib( const HString& Attributes ) const

HObjectModel3D HObjectModel3D::RemoveObjectModel3dAttrib( const char* Attributes ) const

HObjectModel3D HObjectModel3D::RemoveObjectModel3dAttrib( const wchar_t* Attributes ) const (Windows only)

HObjectModel3D HObjectModel3D.RemoveObjectModel3dAttrib( HTuple attributes )

HObjectModel3D HObjectModel3D.RemoveObjectModel3dAttrib( string attributes )

Description🔗

remove_object_model_3d_attribRemoveObjectModel3dAttrib copies the 3d object model ObjectModel3DobjectModel3Dobject_model_3d and removes within this copy the standard and/or extended attributes given in Attributesattributesattributes. The new 3d object model is returned in ObjectModel3DOutobjectModel3DOutobject_model_3dout. Doing so does not modify the 3d object model ObjectModel3DobjectModel3Dobject_model_3d but a new model is created. This is in contrast to the operator remove_object_model_3d_attrib_modRemoveObjectModel3dAttribMod, which modifies the input model but functions identically otherwise.

If the Attributesattributesattributes do not exist in ObjectModel3DobjectModel3Dobject_model_3d, no exception is raised.

Standard attributes🔗

The following values for the parameter Attributesattributesattributes are possible:

  • 'point_normal'"point_normal": This value specifies that the attribute with the 3D point normals and the attribute with the 3D point coordinates are removed.

  • 'triangles'"triangles": This value specifies that the attribute with the face triangles is removed.

  • 'polygons'"polygons": This value specifies that the attribute with the face polygon is removed.

  • 'lines'"lines": This value specifies that the attribute with the lines is removed.

  • 'xyz_mapping'"xyz_mapping": This value specifies that the attribute with the mapping to image coordinates is removed.

  • 'extended_attribute'"extended_attribute": This value specifies that all user-defined extended attributes are removed.

  • 'primitives_all'"primitives_all": This value specifies that the attribute with the parameters of the primitive (including an empty primitive) is removed (e.g., obtained from the operator fit_primitives_object_model_3dFitPrimitivesObjectModel3d).

  • 'primitive_plane'"primitive_plane": This value specifies that the attribute with the primitive plane is removed (e.g., obtained from the operator fit_primitives_object_model_3dFitPrimitivesObjectModel3d).

  • 'primitive_sphere'"primitive_sphere": This value specifies that the attribute with the primitive sphere is removed (e.g., obtained from the operator fit_primitives_object_model_3dFitPrimitivesObjectModel3d).

  • 'primitive_cylinder'"primitive_cylinder": This value specifies that the attribute with the primitive cylinder is removed (e.g., obtained from the operator fit_primitives_object_model_3dFitPrimitivesObjectModel3d).

  • 'primitive_box'"primitive_box": This value specifies that the attribute with the primitive cylinder is removed.

  • 'shape_based_matching_3d_data'"shape_based_matching_3d_data": This value specifies that the attribute with the prepared shape model for shape-based 3D matching is removed.

  • 'distance_computation_data'"distance_computation_data": This value specifies that the attribute with the distance computation data structure is removed. The distance computation data can be created with prepare_object_model_3dPrepareObjectModel3d, and can be used with distance_object_model_3dDistanceObjectModel3d.

  • 'all'"all": This value specifies that all available attributes are removed except for the point coordinates. That is, the attributes are the point normals, the face triangles, the face polygons, the mapping to image coordinates, the shape model for matching, the parameter of a primitive, and the extended attributes.

Extended attributes🔗

Extended attributes are attributes, that can be derived from standard attributes by special operators (e.g., distance_object_model_3dDistanceObjectModel3d), or user-defined attributes (set with set_object_model_3d_attribSetObjectModel3dAttrib or set_object_model_3d_attrib_modSetObjectModel3dAttribMod). The extended attributes can be removed by setting their names in Attributesattributesattributes.

The following predefined extended attributes can be removed:

  • 'original_point_indices'"original_point_indices": This value specifies that the attribute with the original point indices is removed. Original point indices may be obtained from the operator triangulate_object_model_3dTriangulateObjectModel3d.

  • 'score'"score": This value specifies that the attribute with the scores is removed. Scores may be obtained from the operator reconstruct_surface_stereoReconstructSurfaceStereo.

  • 'red'"red": This value specifies that the attribute containing the red color is removed.

  • 'green'"green": This value specifies that the attribute containing the green color is removed.

  • 'blue'"blue": This value specifies that the attribute containing the blue color is removed.

  • 'edge_dir_x'"edge_dir_x": This value specifies that the vector for the X axis is removed.

  • 'edge_dir_y'"edge_dir_y": This value specifies that the vector for the Y axis is removed.

  • 'edge_dir_z'"edge_dir_z": This value specifies that the vector for the Z axis is removed.

  • 'edge_amplitude'"edge_amplitude": This value specifies that the vector for the amplitude is removed.

Execution information🔗

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🔗

ObjectModel3DobjectModel3Dobject_model_3d (input_control) object_model_3d → (handle)HTuple (HHandle)HObjectModel3D, HTuple (IntPtr)HHandleHtuple (handle)

Handle of the input 3D object model.

Attributesattributesattributes (input_control) string(-array) → (string)HTuple (HString)HTuple (string)MaybeSequence[str]Htuple (char*)

Name of the attributes to be removed.

Default: 'extended_attribute'"extended_attribute"
List of values: 'all', 'blue', 'distance_computation_data', 'extended_attribute', 'green', 'lines', 'original_point_indices', 'point_normal', 'polygons', 'primitive_box', 'primitive_cylinder', 'primitive_plane', 'primitive_sphere', 'primitives_all', 'red', 'score', 'shape_based_matching_3d_data', 'triangles', 'xyz_mapping'"all", "blue", "distance_computation_data", "extended_attribute", "green", "lines", "original_point_indices", "point_normal", "polygons", "primitive_box", "primitive_cylinder", "primitive_plane", "primitive_sphere", "primitives_all", "red", "score", "shape_based_matching_3d_data", "triangles", "xyz_mapping"

ObjectModel3DOutobjectModel3DOutobject_model_3dout (output_control) object_model_3d → (handle)HTuple (HHandle)HObjectModel3D, HTuple (IntPtr)HHandleHtuple (handle)

Handle of the resulting 3D object model.

Result🔗

If the parameters are valid, the operator remove_object_model_3d_attribRemoveObjectModel3dAttrib returns the value 2 (H_MSG_TRUE). If necessary, an exception is raised.

Combinations with other operators🔗

Combinations

Possible predecessors

set_object_model_3d_attribSetObjectModel3dAttrib

Possible successors

get_object_model_3d_paramsGetObjectModel3dParams

Alternatives

remove_object_model_3d_attrib_modRemoveObjectModel3dAttribMod

See also

copy_object_model_3dCopyObjectModel3d, set_object_model_3d_attribSetObjectModel3dAttrib

Module🔗

3D Metrology