Name
project_shape_model_3dT_project_shape_model_3dProjectShapeModel3dproject_shape_model_3dProjectShapeModel3dProjectShapeModel3d — Project the edges of a 3D shape model into image coordinates.
void ProjectShapeModel3d(HObject* ModelContours, const HTuple& ShapeModel3DID, const HTuple& CamParam, const HTuple& Pose, const HTuple& HiddenSurfaceRemoval, const HTuple& MinFaceAngle)
HXLDCont HShapeModel3D::ProjectShapeModel3d(const HTuple& CamParam, const HPose& Pose, const HString& HiddenSurfaceRemoval, const HTuple& MinFaceAngle) const
HXLDCont HShapeModel3D::ProjectShapeModel3d(const HTuple& CamParam, const HPose& Pose, const HString& HiddenSurfaceRemoval, double MinFaceAngle) const
HXLDCont HShapeModel3D::ProjectShapeModel3d(const HTuple& CamParam, const HPose& Pose, const char* HiddenSurfaceRemoval, double MinFaceAngle) const
static void HOperatorSet.ProjectShapeModel3d(out HObject modelContours, HTuple shapeModel3DID, HTuple camParam, HTuple pose, HTuple hiddenSurfaceRemoval, HTuple minFaceAngle)
HXLDCont HShapeModel3D.ProjectShapeModel3d(HTuple camParam, HPose pose, string hiddenSurfaceRemoval, HTuple minFaceAngle)
HXLDCont HShapeModel3D.ProjectShapeModel3d(HTuple camParam, HPose pose, string hiddenSurfaceRemoval, double minFaceAngle)
The operator project_shape_model_3dproject_shape_model_3dProjectShapeModel3dproject_shape_model_3dProjectShapeModel3dProjectShapeModel3d projects the edges of
the 3D object model that was used to create the 3D shape model
ShapeModel3DIDShapeModel3DIDShapeModel3DIDShapeModel3DIDShapeModel3DIDshapeModel3DID into the image coordinate system and returns
the projected edges in ModelContoursModelContoursModelContoursModelContoursModelContoursmodelContours. The coordinates of
the 3D object model are given in the 3D world coordinate
system. First, they are transformed into the camera coordinate
system using the given PosePosePosePosePosepose. Then, these coordinates are
projected into the image coordinate system based on the internal
camera parameters CamParamCamParamCamParamCamParamCamParamcamParam.
The internal camera parameters CamParamCamParamCamParamCamParamCamParamcamParam describe the
projection characteristics of the camera (see
write_cam_parwrite_cam_parWriteCamParwrite_cam_parWriteCamParWriteCamPar). The PosePosePosePosePosepose describes the position and
orientation of the world coordinate system with respect to the
camera coordinate system.
The parameter HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval can be used to switch on
or to switch off the removal of hidden surfaces. If
HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval is set to 'true'"true""true""true""true""true", only those
projected edges are returned that are not hidden by faces of the 3D
object model. If HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval is set to
'false'"false""false""false""false""false", all projected edges are returned. This is faster
than a projection with HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval set to
'true'"true""true""true""true""true".
If the system variable (see set_systemset_systemSetSystemset_systemSetSystemSetSystem)
'opengl_hidden_surface_removal_enable'"opengl_hidden_surface_removal_enable""opengl_hidden_surface_removal_enable""opengl_hidden_surface_removal_enable""opengl_hidden_surface_removal_enable""opengl_hidden_surface_removal_enable" is set to 'true'"true""true""true""true""true"
(which is default if it is available) and HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval is
set to 'true'"true""true""true""true""true", the projection of the model is accelerated using
the graphics card.
Depending on the graphics card this is significantly faster than the non
accelerated algorithm. Be aware that the results of the OpenGL projection
are slightly different compared to the analytic projection. Notable, only
the contours visible through CamParamCamParamCamParamCamParamCamParamcamParam are projected in this mode.
3D edges are only projected if the angle between the two 3D faces
that are incident with the 3D edge is at least
MinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleminFaceAngle. If MinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleminFaceAngle is set to
0.0, all edges are projected. If MinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleminFaceAngle is
set to PI (equivalent to 180 degrees), only the
silhouette of the 3D object model is returned. This parameter can be
used to suppress edges within curved surfaces, e.g., the surface of
a cylinder.
If for the model creation with create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3d the parameter
'union_adjacent_contours'"union_adjacent_contours""union_adjacent_contours""union_adjacent_contours""union_adjacent_contours""union_adjacent_contours" was activated, adjacent contours
are joined.
project_shape_model_3dproject_shape_model_3dProjectShapeModel3dproject_shape_model_3dProjectShapeModel3dProjectShapeModel3d and project_object_model_3dproject_object_model_3dProjectObjectModel3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3d
return the same result if the 3D object model that was used to
create the 3D shape model is passed to
project_object_model_3dproject_object_model_3dProjectObjectModel3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3d.
project_shape_model_3dproject_shape_model_3dProjectShapeModel3dproject_shape_model_3dProjectShapeModel3dProjectShapeModel3d is especially useful in order to
visualize the matches that are returned by
find_shape_model_3dfind_shape_model_3dFindShapeModel3dfind_shape_model_3dFindShapeModel3dFindShapeModel3d in the case that the underlying 3D
object model is no longer available.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Contour representation of the model view.
Handle of the 3D shape model.
Internal camera parameters.
Number of elements: CamParam == 8 || CamParam == 12
3D pose of the 3D shape model in the world
coordinate system.
Remove hidden surfaces?
Default value:
'true'
"true"
"true"
"true"
"true"
"true"
List of values: 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"
Smallest face angle for which the edge is displayed
Default value: 0.523599
Suggested values: 0.17, 0.26, 0.35, 0.52
If the parameters are valid, the operator
project_shape_model_3dproject_shape_model_3dProjectShapeModel3dproject_shape_model_3dProjectShapeModel3dProjectShapeModel3d returns the value 2 (H_MSG_TRUE). If
necessary an exception is raised.
create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3d,
read_shape_model_3dread_shape_model_3dReadShapeModel3dread_shape_model_3dReadShapeModel3dReadShapeModel3d,
get_shape_model_3d_paramsget_shape_model_3d_paramsGetShapeModel3dParamsget_shape_model_3d_paramsGetShapeModel3dParamsGetShapeModel3dParams,
find_shape_model_3dfind_shape_model_3dFindShapeModel3dfind_shape_model_3dFindShapeModel3dFindShapeModel3d
project_object_model_3dproject_object_model_3dProjectObjectModel3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3d
convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpher,
convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCart,
create_cam_pose_look_at_pointcreate_cam_pose_look_at_pointCreateCamPoseLookAtPointcreate_cam_pose_look_at_pointCreateCamPoseLookAtPointCreateCamPoseLookAtPoint,
trans_pose_shape_model_3dtrans_pose_shape_model_3dTransPoseShapeModel3dtrans_pose_shape_model_3dTransPoseShapeModel3dTransPoseShapeModel3d
3D Metrology