Skip to content

intersect_plane_object_model_3dIntersectPlaneObjectModel3dIntersectPlaneObjectModel3dintersect_plane_object_model_3dT_intersect_plane_object_model_3d🔗

Short description🔗

intersect_plane_object_model_3dIntersectPlaneObjectModel3dIntersectPlaneObjectModel3dintersect_plane_object_model_3dT_intersect_plane_object_model_3d — Intersect a 3D object model with a plane.

Signature🔗

intersect_plane_object_model_3d( object_model_3d ObjectModel3D, pose Plane, out object_model_3d ObjectModel3DIntersection )void IntersectPlaneObjectModel3d( const HTuple& ObjectModel3D, const HTuple& Plane, HTuple* ObjectModel3DIntersection )static void HOperatorSet.IntersectPlaneObjectModel3d( HTuple objectModel3D, HTuple plane, out HTuple objectModel3DIntersection )def intersect_plane_object_model_3d( object_model_3d: MaybeSequence[HHandle], plane: Sequence[Union[int, float]] ) -> Sequence[HHandle]

def intersect_plane_object_model_3d_s( object_model_3d: MaybeSequence[HHandle], plane: Sequence[Union[int, float]] ) -> HHandleHerror T_intersect_plane_object_model_3d( const Htuple ObjectModel3D, const Htuple Plane, Htuple* ObjectModel3DIntersection )

static HObjectModel3DArray HObjectModel3D::IntersectPlaneObjectModel3d( const HObjectModel3DArray& ObjectModel3D, const HPoseArray& Plane )

HObjectModel3D HObjectModel3D::IntersectPlaneObjectModel3d( const HPose& Plane ) const

static HObjectModel3D[] HObjectModel3D.IntersectPlaneObjectModel3d( HObjectModel3D[] objectModel3D, HPose[] plane )

HObjectModel3D HObjectModel3D.IntersectPlaneObjectModel3d( HPose plane )

Description🔗

intersect_plane_object_model_3dIntersectPlaneObjectModel3d intersects a 3D object model with a plane that is defined by the x-y plane of the pose that is specified with the parameter Planeplaneplane. The z-axis of the pose corresponds to the normal of the plane.

The result is a set of 3D points connected by lines that is returned as 3D object model in ObjectModel3DIntersectionobjectModel3DIntersectionobject_model_3dintersection. Every triangle that intersects with the plane creates two intersection points and a line between the two points. The resulting set of lines is coplanar.

The lines can be displayed with disp_object_model_3dDispObjectModel3d and queried with get_object_model_3d_paramsGetObjectModel3dParams using the parameter 'lines'"lines".

Parameter Broadcasting🔗

This operator supports parameter broadcasting. This means that each parameter can be given as a tuple of length 1 (7 for Planeplaneplane) or N (N7 for Planeplaneplane). Parameters with tuple length 1 (7 for Planeplaneplane) will be repeated internally such that the number of computed output models is always N*.

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Automatically parallelized on internal data level.

Parameters🔗

ObjectModel3DobjectModel3Dobject_model_3d (input_control) object_model_3d(-array) → (handle)HTuple (HHandle)HObjectModel3D, HTuple (IntPtr)MaybeSequence[HHandle]Htuple (handle)

Handle of the 3D object model.

Planeplaneplane (input_control) pose(-array) → (real / integer)HTuple (double / Hlong)HPose, HTuple (double / int / long)Sequence[Union[int, float]]Htuple (double / Hlong)

Pose of the plane.

Default: [0, 0, 0, 0, 0, 0, 0][0, 0, 0, 0, 0, 0, 0]

ObjectModel3DIntersectionobjectModel3DIntersectionobject_model_3dintersection (output_control) object_model_3d(-array) → (handle)HTuple (HHandle)HObjectModel3D, HTuple (IntPtr)Sequence[HHandle]Htuple (handle)

Handle of the 3D object model that describes the intersection as a set of lines.

Example🔗

(HDevelop)

gen_object_model_3d_from_points (rand(20)-0.5, rand(20)-0.5,\
                                 rand(20)-0.5, ObjectModel3D)
convex_hull_object_model_3d (ObjectModel3D, ObjectModel3DConvexHull)
intersect_plane_object_model_3d (ObjectModel3DConvexHull, [0,0,0,0,0,0,0], \
                                 ObjectModel3DIntersection)
dev_get_window (WindowHandle)
visualize_object_model_3d (WindowHandle, [ObjectModel3DIntersection, \
                           ObjectModel3DConvexHull], [], [], \
                           ['alpha_1'], [0.5], [], [], [], PoseOut)

Result🔗

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

Combinations with other operators🔗

Combinations

Possible predecessors

read_object_model_3dReadObjectModel3d, select_points_object_model_3dSelectPointsObjectModel3d

Possible successors

connection_object_model_3dConnectionObjectModel3d

See also

reduce_object_model_3d_by_viewReduceObjectModel3dByView

Module🔗

3D Metrology