ClassesClassesClassesClasses | | | | Operators

reduce_object_model_3d_by_viewT_reduce_object_model_3d_by_viewReduceObjectModel3dByViewreduce_object_model_3d_by_viewReduceObjectModel3dByViewReduceObjectModel3dByView (Operator)

Name

reduce_object_model_3d_by_viewT_reduce_object_model_3d_by_viewReduceObjectModel3dByViewreduce_object_model_3d_by_viewReduceObjectModel3dByViewReduceObjectModel3dByView — Remove points from a 3D object model by projecting it to a virtual view and removing all points outside of a given region.

Signature

reduce_object_model_3d_by_view(Region : : ObjectModel3D, CamParam, Pose : ObjectModel3DReduced)

Herror T_reduce_object_model_3d_by_view(const Hobject Region, const Htuple ObjectModel3D, const Htuple CamParam, const Htuple Pose, Htuple* ObjectModel3DReduced)

Herror reduce_object_model_3d_by_view(Hobject Region, const HTuple& ObjectModel3D, const HTuple& CamParam, const HTuple& Pose, Hlong* ObjectModel3DReduced)

Herror reduce_object_model_3d_by_view(Hobject Region, const HTuple& ObjectModel3D, const HTuple& CamParam, const HTuple& Pose, HTuple* ObjectModel3DReduced)

HTuple HObjectModel3D::ReduceObjectModel3dByView(const HRegionArray& Region, const HTuple& CamParam, const HTuple& Pose) const

void ReduceObjectModel3dByView(const HObject& Region, const HTuple& ObjectModel3D, const HTuple& CamParam, const HTuple& Pose, HTuple* ObjectModel3DReduced)

static HObjectModel3DArray HObjectModel3D::ReduceObjectModel3dByView(const HRegion& Region, const HObjectModel3DArray& ObjectModel3D, const HTuple& CamParam, const HPoseArray& Pose)

HObjectModel3D HObjectModel3D::ReduceObjectModel3dByView(const HRegion& Region, const HTuple& CamParam, const HPose& Pose) const

void HOperatorSetX.ReduceObjectModel3dByView(
[in] IHUntypedObjectX* Region, [in] VARIANT ObjectModel3D, [in] VARIANT CamParam, [in] VARIANT Pose, [out] VARIANT* ObjectModel3DReduced)

IHObjectModel3DX* HObjectModel3DX.ReduceObjectModel3dByView(
[in] IHRegionX* Region, [in] VARIANT CamParam, [in] VARIANT Pose)

static void HOperatorSet.ReduceObjectModel3dByView(HObject region, HTuple objectModel3D, HTuple camParam, HTuple pose, out HTuple objectModel3DReduced)

static HObjectModel3D[] HObjectModel3D.ReduceObjectModel3dByView(HRegion region, HObjectModel3D[] objectModel3D, HTuple camParam, HPose[] pose)

HObjectModel3D HObjectModel3D.ReduceObjectModel3dByView(HRegion region, HTuple camParam, HPose pose)

Description

reduce_object_model_3d_by_viewreduce_object_model_3d_by_viewReduceObjectModel3dByViewreduce_object_model_3d_by_viewReduceObjectModel3dByViewReduceObjectModel3dByView projects the points of ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D into the image plane given by PosePosePosePosePosepose and CamParamCamParamCamParamCamParamCamParamcamParam and reduces the 3D object model to the points lying inside the region given in RegionRegionRegionRegionRegionregion. In particular, the points are first transformed with the pose and then projected using the camera parameters. Only those points that are located inside the specified region are copied to the new 3D object model. Faces of a mesh are only contained in the output 3D object model if all corner points are within the region.

Note that if a 3D object model is no longer needed or should be overwritten, the memory has to be freed first by calling the operator clear_object_model_3dclear_object_model_3dClearObjectModel3dclear_object_model_3dClearObjectModel3dClearObjectModel3d.

Parallelization

Parameters

RegionRegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Region in the image plane.

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (input_control)  object_model_3d(-array) HObjectModel3D, HTupleHTupleHObjectModel3D, HTupleHObjectModel3DX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle of the 3D object model.

CamParamCamParamCamParamCamParamCamParamcamParam (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Internal camera parameters.

Number of elements: CamParam == 8 || CamParam == 12

PosePosePosePosePosepose (input_control)  pose(-array) HPose, HTupleHTupleHTupleHPoseX, VARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

3D pose of the world coordinate system in camera coordinates.

Number of elements: Pose == 7

ObjectModel3DReducedObjectModel3DReducedObjectModel3DReducedObjectModel3DReducedObjectModel3DReducedobjectModel3DReduced (output_control)  object_model_3d(-array) HObjectModel3D, HTupleHTupleHObjectModel3D, HTupleHObjectModel3DX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle of the reduced 3D object model.

Example (HDevelop)

gen_object_model_3d_from_points (200*(rand(100)-0.5), \
                                 200*(rand(100)-0.5), \
                                 200*(rand(100)-0.5), ObjectModel3D)
gen_circle (Circle, 240, 320, 60)
CamParam := [0,0,1,1,320,240,640,480]
Pose := [0,0,1,0,0,0,0]
reduce_object_model_3d_by_view (Circle, ObjectModel3D, CamParam, \
                                Pose, ObjectModel3DReduced)
dev_get_window (WindowHandle)
visualize_object_model_3d (WindowHandle, [ObjectModel3D, \
                           ObjectModel3DReduced], CamParam, Pose, \
                           ['color_0', 'point_size_1'], ['blue',6], \
                           [], [], [], PoseOut)

Result

reduce_object_model_3d_by_viewreduce_object_model_3d_by_viewReduceObjectModel3dByViewreduce_object_model_3d_by_viewReduceObjectModel3dByViewReduceObjectModel3dByView returns 2 (H_MSG_TRUE) if all parameters are correct. If necessary, an exception is raised.

Possible Predecessors

read_object_model_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d

Possible Successors

project_object_model_3dproject_object_model_3dProjectObjectModel3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3d, object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyz, clear_object_model_3dclear_object_model_3dClearObjectModel3dclear_object_model_3dClearObjectModel3dClearObjectModel3d

See also

select_points_object_model_3dselect_points_object_model_3dSelectPointsObjectModel3dselect_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3d

Module

3D Metrology


ClassesClassesClassesClasses | | | | Operators