Compute HLR

Detailed Description

group a3d_HLR_Compute

Compute HLR functions for model file.

See also

A3DComputeOthoHLROnRepresentationItem

Version
8.1

Function Documentation

A3DStatus A3DComputeOrthoHLROnRepresentationItems(A3DUns32 uiNbRepItems, A3DRiRepresentationItem const **apRepItems, A3DDouble **pOptPlacements, A3DHLRViewPlaneData const *psHLRViewPlaneData, A3DUns32 *pNumberHLRData, A3DHLRRepresentationItemData **pppHLRData)

Function to compute Hidden Line Removal on a set of A3DRiRepresentationItem.

Call A3DComputeOrthoHLROnRepresentationItems( 0, NULL, NULL, NULL, pNumberHLRData, pppHLRData) to release pppHLRData structure ( A3DCrvPolyLine was not released)

Version
8.1

Parameters:
  • uiNbRepItems[in] Number of A3DRiRepresentationItem.
  • apRepItems[in] set of A3DRiRepresentationItem.
  • pOptPlacements[in] Optional set of representation item placements (16 A3DDouble matrix).
  • psHLRViewPlaneData[in] define a plane as a camera with orthogonal projection.
  • pNumberHLRData[out] Number A3DHLRRepresentationItemData.
  • pppHLRData[out] HLR curve result grouped by A3DRiRepresentationItem entity. pppHLRData is automatically allocated by A3DComputeOrthoHLROnRepresentationItems.
Return values:
  • A3D_SUCCESS
  • A3D_INVALID_DATA_STRUCT_NULL
  • A3D_INVALID_DATA_STRUCT_SIZE
  • A3D_INVALID_ENTITY_TYPE
  • A3D_INVALID_DATA
  • A3D_INVALID_ENTITY_NULL – if apRepItems contains null pointers
  • A3D_ERROR
  • A3D_BREPDATA_INCONSISTENT_DATA – if bUseExactComputation is set and if is missing A3DTopoBrepData
  • A3D_TOPO_GEOMETRY_MISSING – if bUseExactComputation is set and if is missing UV curves
  • A3D_INCOMPATIBLE_FUNCTION_WITH_KEEP_PARSED_ENTITY_MODE
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DComputeOrthoHLROnModelFile3(A3DAsmModelFile const *pModelFile, A3DMkpView const *pOptMrkRView, A3DHLRViewPlaneData const *psHLRViewPlaneData, A3DHLROptionsData const *psHLROptionsData, A3DUns32 *pNumberHLRRepItem, A3DHLRRepresentationItem ***ppHLRRepItems)

Function to compute Hidden Line Removal on a A3DAsmModelFile.

Call A3DComputeOrthoHLROnModelFile3( NULL, NULL, NULL, NULL, pNumberHLRRepItem, pppHLRRepItem) to release pppHLRRepItem structure ( internal A3DCrvPolyLine was not released)

Version
10.1

If pOptMrkRView is a cutting view, psSectionParametersData can be set to 0. In this case, the cutting planes within pOptMrkRView are used for the computation. Planes must to ordered and be set a profile, otherwise the function will return #A3D_TOOLS_INVALID_SECTION_PLANE.

Remark

If the model file doesn’t contain any representation item, the function will return #A3D_INVALID_DATA error

Parameters:
  • pModelFile[in] Model file to work on.
  • pOptMrkRView[in] optional A3DMkpView (cut, filter and/or move entities).
  • psHLRViewPlaneData[in] define a plane as a camera with orthogonal projection.
  • psHLROptionsData[in] define options used to compute HLR. if set to NULL, default A3DHLROptionsData value are used.
  • pNumberHLRRepItem[out] Number A3DHLRRepresentationItem.
  • ppHLRRepItems[out] HLR curve result grouped by A3DRiRepresentationItem entity. pppHLRRepItem is automatically allocated by A3DComputeOrthoHLROnModelFile3.
Return values:
  • A3D_SUCCESS
  • A3D_INVALID_DATA_STRUCT_NULL
  • A3D_INVALID_DATA_STRUCT_SIZE
  • A3D_INVALID_ENTITY_TYPE
  • A3D_INVALID_DATA
  • A3D_ERROR
  • A3D_TOOLS_INVALID_SECTION_PLANE
  • A3D_INCOMPATIBLE_FUNCTION_WITH_KEEP_PARSED_ENTITY_MODE
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus A3DHLRRepresentationItemGet(A3DHLRRepresentationItem const *pHLRRepItem, A3DHLRRepresentationItemData *psRIData)

Populates the A3DHLRRepresentationItemData structure.

Call A3DHLRRepresentationItemGet( NULL, psRIData) to release psRIData structure ( A3DCrvPolyLine was not released)

Version
9.0

Parameters:
  • pHLRRepItem[in] The input entity
  • psRIData[out] The structure to populate
Return values:
  • A3D_SUCCESS
  • A3D_INVALID_DATA_STRUCT_NULL
  • A3D_INVALID_DATA_STRUCT_SIZE
  • A3D_INVALID_ENTITY_TYPE
  • A3D_ERROR
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus deprecated_A3DComputeOrthoHLROnModelFile(A3DAsmModelFile const *pModelFile, A3DMkpView const *pOptMrkRView, A3DHLRViewPlaneData const *psHLRViewPlaneData, A3DUns32 *pNumberHLRData, A3DHLRRepresentationItemData **ppHLRData)

Function to compute Hidden Line Removal on a A3DAsmModelFile.

Deprecated:

use A3DComputeOrthoHLROnModelFile3 instead. This will be removed in version 2026.1.0.

Call deprecated_A3DComputeOrthoHLROnModelFile( NULL, pOptMrkRView, NULL, pNumberHLRData, pppHLRData) to release pppHLRData structure ( A3DCrvPolyLine was not released) Note: If the model file doesn’t contain any representation items, function returns A3D_INVALID_DATA error;
Version
8.1

Parameters:
  • pModelFile[in] Model file to work on.
  • pOptMrkRView[in] optional A3DMkpView (cut, filter and/or move entities).
  • psHLRViewPlaneData[in] define a plane as a camera with orthogonal projection.
  • pNumberHLRData[out] Number A3DHLRRepresentationItemData.
  • ppHLRData[out] HLR curve result grouped by A3DRiRepresentationItem entity. pppHLRData is automatically allocated by deprecated_A3DComputeOrthoHLROnModelFile.
Return values:
  • A3D_SUCCESS
  • A3D_INVALID_DATA_STRUCT_NULL
  • A3D_INVALID_DATA_STRUCT_SIZE
  • A3D_INVALID_ENTITY_TYPE
  • A3D_INVALID_DATA
  • A3D_ERROR
  • A3D_INCOMPATIBLE_FUNCTION_WITH_KEEP_PARSED_ENTITY_MODE
Returns:

A3D_SUCCESS on success, or an error code on failure

A3DStatus deprecated_A3DComputeOrthoHLROnModelFile2(A3DAsmModelFile const *pModelFile, A3DMkpView const *pOptMrkRView, A3DHLRViewPlaneData const *psHLRViewPlaneData, A3DUns32 *pNumberHLRRepItem, A3DHLRRepresentationItem ***pppHLRRepItem)

Function to compute Hidden Line Removal on a A3DAsmModelFile.

Deprecated:

use A3DComputeOrthoHLROnModelFile3 instead. This will be removed in version 2026.1.0.

Version
9.0

Call deprecated_A3DComputeOrthoHLROnModelFile2( NULL, NULL, NULL, pNumberHLRRepItem, pppHLRRepItem) to release pppHLRRepItem structure ( internal A3DCrvPolyLine was not released)

If pOptMrkRView is a cutting view, psSectionParametersData can be set to 0. In this case, the cutting planes within pOptMrkRView are used for the computation. Planes must to ordered and be set a profile, otherwise the function will return #A3D_TOOLS_INVALID_SECTION_PLANE.

Remark

If the model file doesn’t contain any representation item, the function will return #A3D_INVALID_DATA error

Parameters:
  • pModelFile[in] Model file to work on.
  • pOptMrkRView[in] optional A3DMkpView (cut, filter and/or move entities).
  • psHLRViewPlaneData[in] define a plane as a camera with orthogonal projection.
  • pNumberHLRRepItem[out] Number A3DHLRRepresentationItem.
  • pppHLRRepItem[out] HLR curve result grouped by A3DRiRepresentationItem entity. pppHLRRepItem is automatically allocated by deprecated_A3DComputeOrthoHLROnModelFile2.
Return values:
  • A3D_SUCCESS
  • A3D_INVALID_DATA_STRUCT_NULL
  • A3D_INVALID_DATA_STRUCT_SIZE
  • A3D_INVALID_ENTITY_TYPE
  • A3D_INVALID_DATA
  • A3D_ERROR
  • A3D_TOOLS_INVALID_SECTION_PLANE
  • A3D_INCOMPATIBLE_FUNCTION_WITH_KEEP_PARSED_ENTITY_MODE
Returns:

A3D_SUCCESS on success, or an error code on failure