Skip to main content
Skip table of contents

EpcA SDK Release Notes

Leica Geosystems

Leica EpcA SDK 2024.1.0 Release Notes

Product

Leica EpcA SDK 2024.1.0 Release Notes

Date

May 2, 2024

Created by

Reality Capture Software Product Management

Highlights for this release

Note: From this year, first main release has version YYYY.1.0 and YYYY.0.x are reserved for maintenance releases of previous years. Previous release notes are included in the EpcA SDK installer.

Topic

Detailed Description

Clippings Feature UX Update

CYS-28105: User experience change: We enable support of “invert” function for limit box and slice clipping. Added CwApi_ClipUsingFilterEx to extend CwApi_ClipUsingFilter with 2nd parameter to specify if the filter should be inverted for clipping. Previously, only half-space and fence support inverting. Impact can be big, especially from usage point of view. It is generally harder now to predict the result of clipping, so exercise your creativeness. Also to note, currently we do not support any inverted clippings when the active clipping group is used to create a Demolish. This is due to current implementation of Demolish that does not contain “invert” property in specification – it is merely a set of filters that are AND operated. We may consider extending the Demolish definition in the future if more workflows are identified using Demolish feature.

Direct open of popular point cloud formats

CYS-28835: Support direct opening of PTX/E57/LAS point cloud files. They are supported in APIs via CwApi_ImportModelSpaceView*. To direct the opening of PTX/E57/LAS files, use connection string “.ptx”. Note that, these files need to be imported to LGSx files before we can open it. We check for a matching LGSx file and open it. If such file is not found, a process is launched to convert it (tool is CwPtxxImport.exe, provided). If file to be converted is very small, it will wait for finishing. Otherwise, it will return to the dialog. Once done, “OK” button will be enabled.

New smart picking option

CYS-27744: New smart picking option added: To snap to paint line. This uses intensity data because the line strips on ground usually have higher intensity returns. The new option is also added to SmartPick View as a button. A new parameter is also added to the SmartPick Configuration dialog: Line Strip Width. According to CA MUTCD, regular road marking lines are 4-6 inch, and wide lines can be 8-12 inch. Default line width is 6 inch or 0.15m. When Line strip mode is set, the point cloud will be rendered in intensity mapping mode in the SmartPick View.

Open LGSx w/o point cloud

CYS-29356: Support opening LGSx file (or Cyclone ENTERPRISE project) that does not have point cloud in it. When R360 publish data to TruView, it has option to NOT include point cloud data. You will see images rendered only when you are viewing at a setup/waypoint location that has cube image layer(s) stored. Supported image layers are Camera, HDR, DisplayIR, ScanIntensity. IR and ScanDepth are also stored as image layers, but they alone are not for scene detail. CwApi_AddModelSpaceView function with interactive=false will now open it successfully. With interactive=true you will be asked to confirm open (Yes) or reject (No).

Visual Alignment Dialog

CYS-29071: Added CwApi_LaunchVisualAlignDialogEx function with an extra parameter iPointCloud that allows you to adjust individual point cloud or altogether. When iPointCloud =-2, You may be asked to choose when project contains multiple point clouds. When -1, apply transformation to all point clouds including references. A value of 0..n will apply transformation to individual point cloud. Accordingly, Align To Model dialog now has extra info “Apply transformation to [All Point Clouds]”. It indicates how the change will be applied. Other related change to API are: (1) CwApi_SetTransformationEx is changed to CwApi_SetTransformation. and (2) Add new APIs CwApi_SetTransformationFor and CwApi_GetTransformationFor to set or get transformation individually (with respect to the project coordinate system). Read API reference for more detail about parameter iPointCloud.

Rendering HDR or ScanIntensity image layers (No RGB layer)

CYS-31064:  To support rendering of HDR or ScanIntensity image layer if default RGB layer is not available. In the past, we only supported display of RGB image (layer name is “Camera”) when viewing at a setup that has image layers. Some LGSx files may have only HDR or ScanIntensity image layers. We have implemented a fallback policy so that if Camera layer is not available, we look for HDR, IR, ScanIntensity layer. This fallback policy applies to the API CwApi_GetViewBkBitmap or when rendering in bitmap mode. This policy does not apply to APIs that ask for specified image layer. Related, new API CwApi_SetDesiredCubeImageLayer is added to set desired cube image layer for rendering. This also affects CwApi_GetCubeImage and CwApi_GetViewBkImage. A prefix of * to the layer name indicates it supports fallback layers if desired layer does not exist.

TruSpace Explorer

CYS-29095: Pano images shown at waypoints (Kinematic sensors).
CYS-28591: Flythru mode now displays flythru speed (up/down arrows)

CYS-28743: Add support for Clip Box by Time.
CYS-27917: Provides feedback if the user's graphics card is not supported.

Update Help manual (will be published online soon).

Bug Fixes and New APIs

  • CYS-31043: dlg_printf, dlg_rscPrintf, dlg_webPrintf have extended value of eType parameter to specify default button. Default button will be the active button (so <Enter> will click default button). Default button is also returned when interactive mode is off (message/question dialogs are suppressed). Old code (w/o specifying it) will default to DEFBUTTON_L, which means the last button in the dialog.

  • CYS-28299: Removed old dependencies FitterDll and SmartPickDll. You should remove them from your deployment or installer as they are no longer available.

  • CYS-28579: Shared library of LinearAlgebra (LinearAlgebra.dll, LinearAlgebra_share.lib).

  • CYS-28545: New API CwApi_FilterSetName to specify the name of filter created. This is part of the effort to avoid direct use of CwClasses.hxx file, especially the clipping factory. Use CwApi to create clipping filter and optionally assign it a name before using it for clipping or query.

  • CYS-29287: Added CwApi_FilterSetName to specify a name of the filter.

  • CYS-29081: Fix in CwApi_ClipFenceA function. Fixed problem in using this function against LGSx/HSPC point cloud in ortho mode. The function has always worked for LGS/HPC point cloud.

  • CYS-28651: Demolish performance dropped since EpcA SDK 2023.0.1. This was due to a change in queries that stopped reuse of Reader (to work around another problem). The performance is hurt in large for complex demolishes combined with remote Cyclone ENTERPRISE projects, due to the overhead of Reader to open it in every query. Since the original problem was fixed on 09/2023, we now restore the reuse of cached Reader. The problem affected also the following functions (now all fixed):

o   Smart picking ground/High/Low point

o   Smart points on grid function

o   Floor flatness function

  • CYS-29737: Fix to make sure to render cube images when loaded or when a higher resolution image is ready. There used to be no logic to track image loading state, and we have relied on point cloud loading. When point cloud visibility is turned off, or when the project has no point cloud (see CYS-29356 upper), the image would fail to redraw even though it is loaded. This is now fixed.

  • CYS-29738: To make sure the image is displayed when view is aligning to a setup (via TruSpace sync, ScanWorld Explorer align view, or double-clicking a Setup sphere in view) as long as “Display Image” toggle is on. Previously if point cloud visibility is off, image may fail to render until manipulating because it relied on point cloud update events.

  • Version 2023.0 and 2023.1 introduced an intermittent issue in rendering that the initial rendering may not draw the full density of point cloud even after waiting for all the details to be loaded. Problem occurs more when changing color mapping, jumping to new setup, data is big and/or reading is slow. The workaround was to briefly manipulate the view camera. The problem should now be fixed, along with CYS-31064 feature to support rendering cube image layers, and CYS-29737 to update rendering when point cloud visibility is off or no point cloud.

Feedback and Support

Your feedback and inputs are always welcome. If you identify any issue in query, rendering or performance, please report to tls.sdksupport@leica-geosystems.com

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.