Skip to content

get_shape_model_3d_contoursGetShapeModel3dContoursGetShapeModel3dContoursget_shape_model_3d_contoursT_get_shape_model_3d_contours🔗

Short description🔗

get_shape_model_3d_contoursGetShapeModel3dContoursGetShapeModel3dContoursget_shape_model_3d_contoursT_get_shape_model_3d_contours — Return the contour representation of a 3D shape model view.

Signature🔗

get_shape_model_3d_contours( out xld_cont ModelContours, shape_model_3d ShapeModel3DID, integer Level, integer View, out pose ViewPose )void GetShapeModel3dContours( HObject* ModelContours, const HTuple& ShapeModel3DID, const HTuple& Level, const HTuple& View, HTuple* ViewPose )static void HOperatorSet.GetShapeModel3dContours( out HObject modelContours, HTuple shapeModel3DID, HTuple level, HTuple view, out HTuple viewPose )def get_shape_model_3d_contours( shape_model_3did: HHandle, level: int, view: int ) -> Tuple[HObject, Sequence[Union[int, float]]]

Herror T_get_shape_model_3d_contours( Hobject* ModelContours, const Htuple ShapeModel3DID, const Htuple Level, const Htuple View, Htuple* ViewPose )

HXLDCont HShapeModel3D::GetShapeModel3dContours( Hlong Level, Hlong View, HPose* ViewPose ) const

HXLDCont HShapeModel3D.GetShapeModel3dContours( int level, int view, out HPose viewPose )

Description🔗

The operator get_shape_model_3d_contoursGetShapeModel3dContours returns a representation of a single model view of the 3D shape model ShapeModel3DIDshapeModel3DIDshape_model_3did as XLD contours in ModelContoursmodelContoursmodel_contours. The parameters Levellevellevel and Viewviewview determine for which model view the contour representation should be returned, where Levellevellevel denotes the pyramid level and Viewviewview denotes the model view on this pyramid level.

The permitted range of values for Levellevellevel and Viewviewview can previously be determined by using the operator get_shape_model_3d_paramsGetShapeModel3dParams and passing 'num_views_per_level'"num_views_per_level" for GenParamNamegenParamNamegen_param_name.

The contours can be used to visualize and rate the 3D shape model that was created with create_shape_model_3dCreateShapeModel3d. With this it is possible, for example, to decide whether the number of pyramid levels in the model is appropriate or not. If the contours on the highest pyramid do not show enough details to be representative for the model view, the number of pyramid levels that are used during the search with find_shape_model_3dFindShapeModel3d should be adjusted downwards. In contrast, if the contours show too many details even on the highest pyramid level, a higher number of pyramid levels should be chosen already during the creation of the 3D shape model by using create_shape_model_3dCreateShapeModel3d.

Additionally, the pose of the selected view is returned in ViewPoseviewPoseview_pose. It can be used, for example, to project the 3D shape model according to the view pose by using project_shape_model_3dProjectShapeModel3d. The rating of the model contours that was described above can then be performed by comparing the ModelContoursmodelContoursmodel_contours to the projected model. Note that the position of the contours of the projection and the position of the model contours may slightly differ because of radial distortions.

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🔗

ModelContoursmodelContoursmodel_contours (output_object) xld_cont-array → objectHObjectHXLDContHObjectHobject *

Contour representation of the model view.

ShapeModel3DIDshapeModel3DIDshape_model_3did (input_control) shape_model_3d → (handle)HTuple (HHandle)HShapeModel3D, HTuple (IntPtr)HHandleHtuple (handle)

Handle of the 3D shape model.

Levellevellevel (input_control) integer → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Pyramid level for which the contour representation should be returned.

Default: 11
Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 101, 2, 3, 4, 5, 6, 7, 8, 9, 10
Restriction: Level >= 1

Viewviewview (input_control) integer → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

View for which the contour representation should be returned.

Default: 11
Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 101, 2, 3, 4, 5, 6, 7, 8, 9, 10
Restriction: View >= 1

ViewPoseviewPoseview_pose (output_control) pose → (real / integer)HTuple (double / Hlong)HPose, HTuple (double / int / long)Sequence[Union[int, float]]Htuple (double / Hlong)

3D pose of the 3D shape model at the current view.

Result🔗

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

Combinations with other operators🔗

Combinations

Possible predecessors

create_shape_model_3dCreateShapeModel3d, read_shape_model_3dReadShapeModel3d, get_shape_model_3d_paramsGetShapeModel3dParams

Possible successors

create_shape_model_3dCreateShapeModel3d

Module🔗

3D Metrology