copy_object_model_3dT_copy_object_model_3dCopyObjectModel3dCopyObjectModel3dcopy_object_model_3d复制对象模型三维(算子)
名称
copy_object_model_3dT_copy_object_model_3dCopyObjectModel3dCopyObjectModel3dcopy_object_model_3d — 复制三维对象模型。
签名
描述
三维对象模型由一组属性构成。copy_object_model_3dcopy_object_model_3dCopyObjectModel3dCopyObjectModel3dCopyObjectModel3dcopy_object_model_3d 算子创建一个新的三维对象模型,并将输入三维对象模型中选定的属性复制到该新输出三维对象模型中。输入三维对象模型通过句柄 ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d 定义。该算子返回新三维对象模型的句柄 CopiedObjectModel3DCopiedObjectModel3DCopiedObjectModel3DCopiedObjectModel3DcopiedObjectModel3Dcopied_object_model_3d。该算子可通过移除非必要属性来节省内存空间。用户仍可访问三维对象模型的属性,例如通过
get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParamsget_object_model_3d_params 算子实现。
参数 AttributesAttributesAttributesAttributesattributesattributes 决定了应复制哪些属性。此外,可通过使用前缀 ~ 来排除某些属性不参与复制。若需从三维对象模型中移除属性,则可改用
remove_object_model_3d_attribremove_object_model_3d_attribRemoveObjectModel3dAttribRemoveObjectModel3dAttribRemoveObjectModel3dAttribremove_object_model_3d_attrib 算子。
请注意,由于三维对象模型本身由一组属性构成,即使点坐标也是模型的属性之一。这意味着,在调用 copy_object_model_3dcopy_object_model_3dCopyObjectModel3dCopyObjectModel3dCopyObjectModel3dcopy_object_model_3d 时必须至少选择该(点坐标)属性,否则待复制的对象模型将为空。因此,若仅需复制表示点云的三维对象模型而不包含其他属性,则必须将 AttributesAttributesAttributesAttributesattributesattributes 设置为 'point_coord'"point_coord""point_coord""point_coord""point_coord""point_coord"。若待复制的属性不可用或未选中任何属性,则会引发异常。
参数 AttributesAttributesAttributesAttributesattributesattributes 的可能取值如下:
- 'point_coord'"point_coord""point_coord""point_coord""point_coord""point_coord":
-
此值指定复制包含三维点坐标的属性。
- 'point_normal'"point_normal""point_normal""point_normal""point_normal""point_normal":
-
此值指定复制包含三维点法线的属性与包含三维点坐标的属性。
- 'triangles'"triangles""triangles""triangles""triangles""triangles":
-
此值指定复制包含面三角形的属性与包含三维点坐标的属性。
- 'polygons'"polygons""polygons""polygons""polygons""polygons":
-
此值指定复制包含面多边形的属性与包含三维点坐标的属性。
- 'lines'"lines""lines""lines""lines""lines":
-
此值指定复制包含线的属性与包含三维点坐标的属性。
- 'xyz_mapping'"xyz_mapping""xyz_mapping""xyz_mapping""xyz_mapping""xyz_mapping":
-
此值指定复制包含图像坐标映射的属性与包含三维点坐标的属性。
- 'extended_attribute'"extended_attribute""extended_attribute""extended_attribute""extended_attribute""extended_attribute":
-
此值指定复制所有扩展属性。若需复制与扩展属性相关的其他属性,这些属性也将被复制。例如可能包含三维点坐标、面三角形、面多边形或线等属性。
- 'primitives_all'"primitives_all""primitives_all""primitives_all""primitives_all""primitives_all":
-
此值指定复制包含所有基元(包括空基元)参数的属性(例如通过 fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dfit_primitives_object_model_3d 算子获取)。
- 'primitive_plane'"primitive_plane""primitive_plane""primitive_plane""primitive_plane""primitive_plane":
-
此值指定复制包含平面基元的属性(例如通过 fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dfit_primitives_object_model_3d 算子获取)。
- 'primitive_sphere'"primitive_sphere""primitive_sphere""primitive_sphere""primitive_sphere""primitive_sphere":
-
此值指定复制包含球体基元的属性(例如通过 fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dfit_primitives_object_model_3d 算子获取)。
- 'primitive_cylinder'"primitive_cylinder""primitive_cylinder""primitive_cylinder""primitive_cylinder""primitive_cylinder":
-
此值指定复制包含圆柱体基元的属性(例如通过 fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dfit_primitives_object_model_3d 算子获取)。
- 'primitive_box'"primitive_box""primitive_box""primitive_box""primitive_box""primitive_box":
-
此值指定复制包含圆柱体基元的属性。
- 'shape_based_matching_3d_data'"shape_based_matching_3d_data""shape_based_matching_3d_data""shape_based_matching_3d_data""shape_based_matching_3d_data""shape_based_matching_3d_data":
-
此值指定复制用于基于形状的三维匹配的预制形状模型属性。
- 'distance_computation_data'"distance_computation_data""distance_computation_data""distance_computation_data""distance_computation_data""distance_computation_data":
-
此值指定复制具有距离计算数据结构的属性。距离计算数据可通过
prepare_object_model_3dprepare_object_model_3dPrepareObjectModel3dPrepareObjectModel3dPrepareObjectModel3dprepare_object_model_3d 创建,并可与
distance_object_model_3ddistance_object_model_3dDistanceObjectModel3dDistanceObjectModel3dDistanceObjectModel3ddistance_object_model_3d 配合使用。若选择此属性,则对应的距离计算目标数据属性也将被复制。例如,若距离计算针对三角形进行准备,则三角形及其顶点将被复制。
- 'surface_based_matching_data'"surface_based_matching_data""surface_based_matching_data""surface_based_matching_data""surface_based_matching_data""surface_based_matching_data":
-
此值指定复制基于表面匹配的数据。其中包含三维点坐标的属性与点法线属性将被复制。若点法线属性不可用,则复制三维点坐标到图像坐标的映射属性。若三维点坐标到图像坐标的映射属性不可用,则复制面三角形属性。若面三角形属性同样不可用,则复制面多边形属性。若上述属性均不可用,则抛出异常。
- 'segmentation_data'"segmentation_data""segmentation_data""segmentation_data""segmentation_data""segmentation_data":
-
此值指定复制三维分割数据。其中包含三维点坐标的属性以及包含面三角形的属性将被复制。若面三角形属性不可用,则复制包含三维点坐标到图像坐标的映射属性。若上述属性均不可用,则抛出异常。
- 'score'"score""score""score""score""score":
-
此值指定复制包含分数的属性与包含三维点坐标的属性。分数可通过算子
reconstruct_surface_stereoreconstruct_surface_stereoReconstructSurfaceStereoReconstructSurfaceStereoReconstructSurfaceStereoreconstruct_surface_stereo 获取。
- 'red'"red""red""red""red""red":
-
此值指定复制包含红色的属性与包含三维点坐标的属性。
- 'green'"green""green""green""green""green":
-
此值指定复制包含绿色的属性与包含三维点坐标的属性。
- 'blue'"blue""blue""blue""blue""blue":
-
此值指定复制包含蓝色的属性与包含三维点坐标的属性。
- 'original_point_indices'"original_point_indices""original_point_indices""original_point_indices""original_point_indices""original_point_indices":
-
此值指定复制包含原始点索引的属性与包含三维点坐标的属性。原始点索引可通过算子
triangulate_object_model_3dtriangulate_object_model_3dTriangulateObjectModel3dTriangulateObjectModel3dTriangulateObjectModel3dtriangulate_object_model_3d 获取。
- 'all'"all""all""all""all""all":
此值指定复制所有可用属性。即包含点坐标、点法线、面三角形、面多边形、图像坐标映射、匹配形状模型、基元参数及扩展属性。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3Dobject_model_3d (输入控制) object_model_3d → HObjectModel3D, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
输入 3D 对象模型的句柄。
AttributesAttributesAttributesAttributesattributesattributes (输入控制) string(-array) → HTupleMaybeSequence[Union[str, float, int]]HTupleHtuple (string / real / integer) (string / double / int / long) (HString / double / Hlong) (char* / double / Hlong)
待复制的属性。
默认值:
'all'
"all"
"all"
"all"
"all"
"all"
值列表:
'all'"all""all""all""all""all", 'blue'"blue""blue""blue""blue""blue", 'distance_computation_data'"distance_computation_data""distance_computation_data""distance_computation_data""distance_computation_data""distance_computation_data", 'extended_attribute'"extended_attribute""extended_attribute""extended_attribute""extended_attribute""extended_attribute", 'green'"green""green""green""green""green", 'original_point_indices'"original_point_indices""original_point_indices""original_point_indices""original_point_indices""original_point_indices", 'point_coord'"point_coord""point_coord""point_coord""point_coord""point_coord", 'point_normal'"point_normal""point_normal""point_normal""point_normal""point_normal", 'polygons'"polygons""polygons""polygons""polygons""polygons", 'primitive_box'"primitive_box""primitive_box""primitive_box""primitive_box""primitive_box", 'primitive_cylinder'"primitive_cylinder""primitive_cylinder""primitive_cylinder""primitive_cylinder""primitive_cylinder", 'primitive_plane'"primitive_plane""primitive_plane""primitive_plane""primitive_plane""primitive_plane", 'primitive_sphere'"primitive_sphere""primitive_sphere""primitive_sphere""primitive_sphere""primitive_sphere", 'primitives_all'"primitives_all""primitives_all""primitives_all""primitives_all""primitives_all", 'red'"red""red""red""red""red", 'score'"score""score""score""score""score", 'segmentation_data'"segmentation_data""segmentation_data""segmentation_data""segmentation_data""segmentation_data", 'shape_based_matching_3d_data'"shape_based_matching_3d_data""shape_based_matching_3d_data""shape_based_matching_3d_data""shape_based_matching_3d_data""shape_based_matching_3d_data", 'surface_based_matching_data'"surface_based_matching_data""surface_based_matching_data""surface_based_matching_data""surface_based_matching_data""surface_based_matching_data", 'triangles'"triangles""triangles""triangles""triangles""triangles", 'xyz_mapping'"xyz_mapping""xyz_mapping""xyz_mapping""xyz_mapping""xyz_mapping"
CopiedObjectModel3DCopiedObjectModel3DCopiedObjectModel3DCopiedObjectModel3DcopiedObjectModel3Dcopied_object_model_3d (输出控制) object_model_3d → HObjectModel3D, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
复制的 3D 对象模型的句柄。
结果
copy_object_model_3dcopy_object_model_3dCopyObjectModel3dCopyObjectModel3dCopyObjectModel3dcopy_object_model_3d 在所有参数值正确时返回 2 (H_MSG_TRUE)。如有必要,则抛出异常。
可能的前趋
read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3dread_object_model_3d,
xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3dxyz_to_object_model_3d
可能的后继
get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParamsget_object_model_3d_params
另见
remove_object_model_3d_attribremove_object_model_3d_attribRemoveObjectModel3dAttribRemoveObjectModel3dAttribRemoveObjectModel3dAttribremove_object_model_3d_attrib,
set_object_model_3d_attribset_object_model_3d_attribSetObjectModel3dAttribSetObjectModel3dAttribSetObjectModel3dAttribset_object_model_3d_attrib
模块
三维计量