Release Notes
Visualize HPS 2018 Update 1
Library compatibility information:
Library name | Version | Windows | Linux | OS X | Android | iOS | Notes |
---|---|---|---|---|---|---|---|
HOOPS Communicator | 2017 SP2 | ||||||
HOOPS Exchange | 2018 U2 | ||||||
HOOPS Publish | 2018 U2 | ||||||
.NET Framework | 4.0 | 4.5 required when using D3D_IMAGE_CANVAS | |||||
Parasolid | 30.1.190 | ||||||
RealDWG | 2018 | RealDWG 2018 works with Visual Studio 2017 and Visual Studio 2015 Update 3 | |||||
Qt | 5.6 | ||||||
SketchUp | 2015 | ||||||
wxWidgets | 3.1.1 | Linux uses wxWidgets 3.0.2 OS X uses wxWidgets 3.0.0 |
Changes to Multi-Coordinate Lines. For lines with specified coordinate spaces (often referred to as multi-coordinate lines), the following changes were made:
- The coordinate enumerations HPS::Line::CoordinateSpace::InnerWindow and HPS::Line::CoordinateSpace::InnerPixel have been renamed HPS::Line::CoordinateSpace::NormalizedInnerWindow and HPS::Line::CoordinateSpace::NormalizedInnerPixel. The new names will match the behavior of HPS::Coordinate::Space::NormalizedInnerWindow and HPS::Coordinate::Space::NormalizedInnerPixel (see HPS::WindowKey::ConvertCoordinate()).
- HPS::Coordinate::Space::NormalizedInnerPixel points are now transformed with the origin at the top lefthand corner instead of the bottom lefthand corner. Important: If your application is using HPS::Coordinate::Space::NormalizedInnerPixel, please be sure to update your code to reflect this change.
wxWidgets Library Version. wxWidgets library support on Windows has been changed to v3.1.1. Linux binaries for Visualize HPS continue to support wxWidgets v3.0.2, and OSX binaries continue to support wxWidgets v3.0.0.
Visualize HPS 2018
Library compatibility information:
Library name | Version | Windows | Linux | OS X | Android | iOS | Notes |
---|---|---|---|---|---|---|---|
HOOPS Communicator | 2017 SP2 | ||||||
HOOPS Exchange | 2018 | ||||||
HOOPS Publish | 2018 | ||||||
.NET Framework | 4.0 | 4.5 required when using D3D_IMAGE_CANVAS | |||||
Parasolid | 29.1 | ||||||
RealDWG | 2018 | RealDWG 2018 works with Visual Studio 2017 and Visual Studio 2015 Update 3 | |||||
Qt | 5.6 | ||||||
SketchUp | 2015 | ||||||
wxWidgets | 3.0 |
Enhancements
Highlight Querying. New functions are available to query the Highlight state within the scene. The HPS::HighlightControl class has two new functions, ShowHighlightState() and ShowHighlightStates() that query the highlight state of one or more KeyPaths. These functions answer the question, "Is this geometry or segment highlighted?" The WindowKey class has a new function FindHighlights() that returns an iterable list of KeyPaths that are highlighted. This function answers the questions, "Which Objects are highlighted in this Window?"
NavigationCubeOperator with Keypaths. In the NavigationCubeOperator class, the functions for setting and showing Navigation Cube's reference segments now use KeyPaths instead of SegmentKeys. This change allows Visualize to collect transformation information from along the KeyPath, which in turn sets more natural zoom and rotation points in the model for the NavigationCubeOperator.
Leader Line Clipping. To provide better visual appearance of text background shapes, a new class has been added to clip leader lines around a text background, keeping the text visible when a 3D model is rotated. Please see LeaderLineClippingElement in the API Reference.
Vertex Decimation, Randomization, and Displacement. New functions are available in the DrawingAttributeKit and DrawingAttributeControl. These functions are most relevant for applications using the OOC API and can help improve the appearance of point clouds/shells. Please see the API Reference for more information.
Windows C# assemblies. Windows C# assemblies now contain file version information.
Functional Changes
Changes in Visual Studio support. Visual Studio 2017 is now supported. Visual Studio 2013 is no longer supported.
Changes to debug binaries. Debug binaries in the Visual Studio packages are no longer appended with the 'd' character.
Changes in Linux support. The CentOS and Ubuntu Linux packages have been consolidated into a single package using glibc 2.12.
Important: Kits are no longer thread-safe. Previously Kits were internally thread-synchronized. That thread-synchronization has been removed. Therefore, two or more user-defined threads cannot operate simultaneously on the same kit without incurring risk of data corruption. If you need to use Kits in this manner, you will need to protect the Kit access with thread synchronization techniques.
OpenGL 1 driver discontinued. OpenGL 1 driver functionality was deprecated in the 2016 SP2 release and is no longer supported or available as a high-performance screen driver in Visualize. The driver enum setting of HPS::Window::Driver::OpenGL is now an alias for HPS::Window::Driver::OpenGL2. An enum called HPS::Window::Driver::OpenGL1Deprecated has been added; this enum references the OpenGL driver, which can still be used for headless environments, printing, and offscreen rendering. The HPS::Window::Driver::OpenGL1Deprecated enum is not suitable for high-performance screen rendering.
DX9 driver deprecated. The DX9 driver has been deprecated since the 2016 SP2 release. It will be discontinued in a future release. We strongly encourage partners to use a newer driver, such as DX11.
Selection Sorting behavior modification. Users may now choose how selection results are sorted. The HPS::SelectionOptionsKit and HPS::SelectionOptionsControl added an overload to the HPS::SelectionOptionsKit::SetSorting() function that takes an enumeration parameter that specifies the sorting method. Using the original function signature, SetSorting(true) will use Proximity sorting instead of Z sorting for HPS::SelectionControl::SelectByPoint().
Backface culling behavior modification. In previous versions of Visualize, backface culling was not properly activated with Segment-Level Display Lists due to a bug. The bug caused Visualize to draw backfaces that should have been culled. This bug has been fixed. In the new behavior, backfaces will not be drawn if they have a handedness set and backface culling is on. Some partners may experience an undesired change resulting from this bug fix. If you want backfaces to be drawn in your scene, call HPS::CullingControl::SetBackFace(false).
SetBRepData() replaced with SetBRepMode(). The deprecated function HPS::Exchange::ImportOptionsKit::SetBRepData() has been replaced by HPS::Exchange::ImportOptionsKit::SetBRepMode(). See HPS::Exchange::BRepMode for more information on the available import options.
Changes to Path Returned by CADModel::GetComponentPath(). Previously, if an unambiguous but simplified key path (e.g., an include path) were passed to CADModel::GetComponentPath(), not all components along that path would be returned. As of this release, components associated with keys that are implicitly along the key path will be included in the returned path. Please see the API Reference for more information.
ShowLicense() removed. HPS::World::ShowLicense(UTF8 & out_license) has been removed.
RealDWG loading. The following RealDWG functions have been deprecated: SetRealDWGDirectory(), ShowRealDWGDirectory(), and UnsetRealDWGDirectory(). Please see the DWG section of the programming guide for new instructions on loading RealDWG, in particular Step 3 of the Prerequisites section.
Transparent background export. One overload of Image::File::Export() function signature now includes an optional parameter for setting a transparent background (which can be useful for exporting PNG files):
HPS::Image::File::Export(char const * in_file_name, HPS::WindowKey const & in_window, unsigned int in_width, unsigned int in_height, Format in_format, bool transparent_background)
Surface splitting. In the Exchange Sprocket, the following function names have been changed to match the corresponding functions in the HOOPS Exchange API:
- SetClosedSurfaceSplitting() is now SetClosedFaceSplitting()
- UnsetClosedSurfaceSplitting() is now UnsetClosedFaceSplitting()
- ShowClosedSurfaceSplitting() is now ShowClosedFaceSplitting()
- SetPeriodicSurfaceSplitting() is now SetPeriodicFaceSplitting()
- UnsetPeriodicSurfaceSplitting() is now UnsetPeriodicFaceSplitting()
- ShowPeriodicSurfaceSplitting() is now ShowPeriodicFaceSplitting()
Changes to the hps_dx9.dll and hps_dx11.dll files. The hps_dx9.dll and hps_dx11.dll binaries have a file version number that matches the rest of the Windows binaries. The version number is lower than in previous releases.
Known Limitations
DWG import. DWG import via the Exchange Sprocket is Beta. The behavior may not be stable. (There are no known problems with the DWG Sprocket.)
Multiprocess Translate to Parasolid. Multiprocess Translation to Parasolid via the Exchange Sprocket does not work on Linux.
Handles Operator Plane Translate. Using the HandlesOperator, if you rotate the model with the Rotation handles and then use the Plane handles to translate the model, the Plane handles will translate the model along an incorrect plane.
Visualize HPS 2017 Service Pack 2 Update 2
NOTE: The release notes do not include bug fixes. For a list of bug fixes, please see this page.Library compatibility information:
Library name | Version | Windows | Linux | OS X | Android | iOS | Notes |
---|---|---|---|---|---|---|---|
HOOPS Exchange | 2017 SP2 | ||||||
HOOPS Publish | 2017 SP2 | ||||||
.NET Framework | 4.0 | 4.5 required when using D3D_IMAGE_CANVAS | |||||
Parasolid | 29.1 | ||||||
RealDWG | 2018 | RealDWG 2018 works with Visual Studio 2015 There is no support for RealDWG in Visual Studio 2013 | |||||
Qt | 5.6 | ||||||
SketchUp | 2015 | ||||||
wxWidgets | 3.1 | Linux and OS X use wxWidgets 3.0 |
HOOPS Visualize 2017 Service Pack 2 Update 2 is a bug fix release only.
Visualize HPS 2017 Service Pack 2 Update 1
NOTE: The release notes do not include bug fixes. For a list of bug fixes, please see this page.Library compatibility information:
Library name | Version | Windows | Linux | OS X | Android | iOS | Notes |
---|---|---|---|---|---|---|---|
HOOPS Exchange | 2017 SP2 | ||||||
HOOPS Publish | 2017 SP2 | ||||||
.NET Framework | 4.0 | 4.5 required when using D3D_IMAGE_CANVAS | |||||
Parasolid | 29.1 | ||||||
RealDWG | 2018 | RealDWG 2018 works with Visual Studio 2015 There is no support for RealDWG in Visual Studio 2013 | |||||
Qt | 5.6 | ||||||
SketchUp | 2015 | ||||||
wxWidgets | 3.1 | Linux and OS X use wxWidgets 3.0 |
HOOPS Visualize 2017 Service Pack 2 Update 1 is a bug fix release only.
Visualize HPS 2017 Service Pack 2
NOTE: The release notes do not include bug fixes. For a list of bug fixes, please see this page.Library compatibility information:
Library name | Version | Windows | Linux | OS X | Android | iOS | Notes |
---|---|---|---|---|---|---|---|
HOOPS Exchange | 2017 SP2 | ||||||
HOOPS Publish | 2017 SP2 | ||||||
.NET Framework | 4.0 | 4.5 required when using D3D_IMAGE_CANVAS | |||||
Parasolid | 29.1 | ||||||
RealDWG | 2018 | RealDWG 2018 works with Visual Studio 2015 There is no support for RealDWG in Visual Studio 2013 | |||||
Qt | 5.6 | ||||||
SketchUp | 2015 | ||||||
wxWidgets | 3.1 | Linux and OS X use wxWidgets 3.0 |
Packaging Changes
- Directory names have changed: HOOPS_Visualize_2017_SP2_Win_vc12 has become HOOPS_Visualize_2017_SP2_Win_v120 and HOOPS_Visualize_2017_SP2_Win_vc14 has become HOOPS_Visualize_2017_SP2_Win_v140.
- A new sandbox for point cloud support is now available in samples->mfc_ooc_sandbox. This sandbox is an MFC-based application for showcasing the OOC feature. OOC is a Preview Release and may change in the 2018 release.
Enhancements
- Out-of-core point cloud support is now available as a preview release for 32-bit/64-bit Windows applications. Please see the Programming Guide for more information.
- Export to 3MF is now supported via the Exchange sprocket. This new implementation is largely modeled on HPS::Exchange::File::ExportPRC and similarly allows export of HPS::KeyPath objects. As with the ExportPRC interface, if the user wants to export a CADModel and key paths, the key paths can be specified via the Export3MFOptionsKit::SetAdditionalKeyPaths(). Export3MF variants now return an HPS::Exchange::ExportNotifier as the process of building up the A3DAsmModelFile is cancellable. Please see HPS::Exchange::File::Export3MF and HPS::Exchange::Export3MFOptionsKit.
- HTML Export is now available for 64-bit Windows applications, either through the HTML sprocket or the Publish sprocket. For more information about HTML export, please see the following Programming Guide sections:
- HPS::Exchange::MeasurementOperator now handles touch events with new OnTouchDown(), OnTouchUp(), and OnTouchMove() handlers.
- It's now possible to modify anti-aliasing settings on the fly. See this function in the HPS::StandAloneWindowOptionsControl and HPS::StandAloneWindowOptionsKit classes:
- A new image export option has been added for setting a transparent background:
- PRC Export: Geometry References and Conditional Includes are now supported.
- In order to make the static model more flexible, Visualize now avoids complete static model regeneration in favor of patching portions of the static model in some cases. For more details, please see the Performance Considerations section of programming guide.
- Support for sub-geometry attributes has been expanded. For ShellKey, ShellKit, MeshKey, MeshKit, it's now possible to set edge visibilities and edge colors. For CylinderKey and CylinderKit, it's now possible to set vertex colors.
-
Memory usage has been reduced for two-point lines; the impact of this change will only be noticeable in scenes that contain large numbers of two-point lines.
-
For Windows applications, there is a new API for exporting to an EMF file:
- For Windows applications, there is a new API for exporting to the clipboard:
- In HPS::Exchange::CADModel, a new member function SetAllPMIInFront() forces all of the PMI in the CADModel to be rendered in front of the other geometry.
- Simulator targets are now included in the Android Package.
- In the Exchange Sprocket, metadata now reports units for Product Occurrences (previously only units for the CADModel were available). In the HOOPS Demo Viewer, these units are visible in the Properties pane.
Functional Changes
- In the HPS::SelectionOptionsKit class, SetScope() has a new optional parameter, in_scope_only, which offers added control over which elements are included in a selection:
- The syntax for ShowScope has changed; an extra boolean parameter is now required:
- New unset functions added to HPS::SelectionOptionsControl.
- Set/Unset/Show functions for vertex decimation and vertex randomization have been added to the HPS::DrawingAttributeKit and HPS::DrawingAttributeControl.
- Visualize has been updated to use RealDWG 2018.
- The function UnsetResourceMonitor() has been added to the HPS::DebuggingControl and HPS::DebuggingKit.
- OperatorControl functions that take raw Operator pointers as parameters have been deprecated. Please use these Set() and Push() functions with an OperatorPtr parameter. These are the functions that have been deprecated:
- Also in the HPS::SelectionOptionsKit, it's now possible to apply conditions during a selection operation:
Upcoming Changes
Starting with the 2018 release, the following changes will be in effect:
- Support for Visual Studio 2013 will be discontinued, and support for Visual Studio 2017 will be added.
- Ubuntu and CentOS packages will be consolidated into a single Linux package.
Visualize HPS 2017 Service Pack 1
NOTE: The release notes do not include bug fixes. For a list of bug fixes, please see this page.Library compatibility information:
Library name | Version | Windows | Linux | OS X | Android | iOS | Notes |
---|---|---|---|---|---|---|---|
HOOPS Exchange | 2017 SP1 U1 | ||||||
HOOPS Publish | 2017 SP1 U1 | ||||||
.NET Framework | 4.0 | 4.5 required when using D3D_IMAGE_CANVAS | |||||
Parasolid | 29.1 | ||||||
RealDWG | 2017 | RealDWG 2017 works with Visual Studio 2015 There is no support for RealDWG in Visual Studio 2013 | |||||
Qt | 5.6 | ||||||
SketchUp | 2015 | ||||||
wxWidgets | 3.1 | Linux and OS X use wxWidgets 3.0 |
Functional Changes
- Starting with this release, the header file visualize_license.h has been replaced by hoops_license.h. Please replace your header files when upgrading your license. A new header file can be generated on the Developer Zone. By the 2018 release, licenses for all HOOPS products will be replaced with this single unified license.
Enhancements
- PRC, STL, VRML and U3D Import: HOOPS Visualize users now have access to a limited license of HOOPS Exchange that provides the ability to import these popular formats. Once you download and install HOOPS Exchange, you will be able to easily import these formats via the Sprocket Exchange component.
- HTML Export via HOOPS Publish: HOOPS Visualize licensees of HOOPS Publish Advanced now get high-level access to the HTML export capabilities that were added to HOOPS Publish. Direct HTML export without requiring HOOPS Publish will be added in the next release of HOOPS Visualize. This feature is only available on 64-bit versions of Visualize. This functionality is exposed in the File class through the ExportHTML() function.
-
Visualize now supports exporting PDFs with the Parts List widget through the Publish Sprocket. This feature requires the TableToPDF Publish add-on and a Publish Advanced license.
Click to see more info on the new Parts List feature.