Overview

Sample Code

Programming Guide

API Reference

Support

Release Notes

Visualize HPS 2016 Update 1

Library compatibility information:

Library nameVersionWindowsLinuxOS XAndroidiOSNotes
HOOPS Exchange2016      
HOOPS Publish2016      
.NET Framework4.0     4.5 required when using D3D_IMAGE_CANVAS
Parasolid27      
RealDWG2016     Only supported with Visual Studio 2012
Qt5.3     Visual Studio 2012 uses Qt 5.1
SketchUp2015      
wxWidgets3.0      

HOOPS Visualize 2016 Update 1 is a bug fix release only.

Visualize HPS 2016

Library compatibility information:

Library nameVersionWindowsLinuxOS XAndroidiOSNotes
HOOPS Exchange2016      
HOOPS Publish2016      
.NET Framework4.0     4.5 required when using D3D_IMAGE_CANVAS
Parasolid27      
RealDWG2016     Only supported with Visual Studio 2012
Qt5.3     Visual Studio 2012 uses Qt 5.1
SketchUp2015      
wxWidgets3.0      

Enhancements

  • The HOOPS Publish integration is now supported on Linux platforms.
  • The HOOPS Publish integration has been enhanced to support exporting both Exchange models and Visualize scene graph data to a 3D PDF document.
  • HPS::ComponentTree and HPS::SceneTree objects can now have more than one highlight options kit associated with them, so HPS::ComponentTree::SetHighlightOptions(HighlightOptionsKitArray const & in_options) function was added. You can also append a highlight options kit without having to show the current ones using the new function HPS::ComponentTree::AddHighlightOptions. New functions have also been added to facilitate enabling and disabling of multiple highlight styles. These widgets are tightly integrated with MFC and WPF and are only supported on Windows platforms.
  • New Exchange interface functions HPS::Exchange::File::GetInformation and HPS::Exchange::File::GetThumbnailImage wrap the native Exchange functions A3DGetFileInformation and A3DExtractFileThumbnail.
  • The amount of system memory allocated and utilized after an HSF file import has been significantly reduced. This can enable applications to successfully load and interact with larger HSF files, particularly on mobile devices where system memory is fairly limited.
  • The HPS::Exchange::MeasurementOperator is now available for use on an Exchange model with B-rep. This operator measures edges, face distances, face angles, and point-to-point.
  • The HPS::MarkupOperator is now available, which enables the user to insert markup into a scene. Types include text, circles, rectangles, and freehand markup.
  • Calculation of the camera near and far planes is now possible using HPS::WindowKey::ConvertCoordinates.
  • Support has been added for setting the hard edge angle.
  • Performance of cutting sections has been improved in certain cases. Specifically, Visualize will cull away segments whose bounding volume falls completely on the 'cut' side of any active cutting planes, instead of sending the segments to the graphics hardware for further processing. This can result performance gains in situations where the model contains numerous segments, or if HPS::StaticModel::AttributeSpatialStaticModel is enabled.
  • The HPS::CameraChangedEvent has been added. It is injected by our operators which modify the camera positions. Users can subscribe its handler to get notified whenever one of the operators changes the camera settings.
  • A new importer, HPS::ExchangeParasolid, enables you to import a non-Parasolid model into a Parasolid session while preserving the model's PMI and capture information.

  •   HOOPS Exchange models can now be exported with B-rep information and Visualize data to the PRC format

Functional Changes

  • HPS::ComponentTree::GetHighlightOptions() now returns a HPS::HighlightOptionsKitArray (it used to return a HPS::HighlightOptionsKit).

  •   HOOPS Publish changes to support export of both Exchange B-rep and Visualize data

Significant API changes

In the name of standardization, we have made some necessary API changes that break compatibility with older code. Below is a list of those changes. To facilitate updating to the new libraries, we've included a python script that can be used to automatically update an entire code base to the new API. The exception to this is the change to conditions, parts of which could not be discerned by regular expressions. The full details of these changes follow.

  •   Various enumeration values have been renamed in order to standardize similar values and remove redundancy wherever possible.
  •   Functions that accept a kit have been renamed so they match the name of that type of kit. The Sprocket-level update paradigm has been brought into line with the style of HPS core by introducing the option of returning an update notifier.
  •   Some conditions had overloaded nomenclature that could be confusing. The new approach disambiguates conditional expressions from the conditions (strings) which can be used to satisfy them.

Visualize HPS 2015 Service Pack 2 Update 2

Library compatibility information:

Library nameVersionWindowsLinuxOS XAndroidiOSNotes
HOOPS Exchange2015 Service Pack 2      
HOOPS Publish2015 Service Pack 2      
.NET Framework4.0     4.5 required when using D3D_IMAGE_CANVAS
Parasolid27      
RealDWG2016     Only supported with Visual Studio 2012
Qt5.3     Visual Studio 2012 uses Qt 5.1
SketchUp2015      
wxWidgets3.0      

HOOPS Visualize 2015 Service Pack 2 Update 2 is a bug-fix release only.


Visualize HPS 2015 Service Pack 2 Update 1

Library compatibility information:

Library nameVersionWindowsLinuxOS XAndroidiOSNotes
HOOPS Exchange2015 Service Pack 2      
HOOPS Publish2015 Service Pack 2      
.NET Framework4.0     4.5 required when using D3D_IMAGE_CANVAS
Parasolid27      
RealDWG2016     Only supported with Visual Studio 2012
Qt5.3     Visual Studio 2012 uses Qt 5.1
SketchUp2015      
wxWidgets3.0      

Enhancements

  • Improved the performance and interactivity of highlighting and isolating geometry.
  • Reduced flickering in fixed-framerate mode.
  • Improved the performance of D3D image and offscreen rendering.

Functional Changes

  • Support for user-defined shaders has been removed.

Visualize HPS 2015 Service Pack 2

Library compatibility information:

Library nameVersionWindowsLinuxOS XAndroidiOSNotes
HOOPS Exchange2015 Service Pack 2      
HOOPS Publish2015 Service Pack 2      
.NET Framework4.0     4.5 required when using D3D_IMAGE_CANVAS
Parasolid27      
RealDWG2016     Only supported with Visual Studio 2012
Qt5.3     Visual Studio 2012 uses Qt 5.1
SketchUp2015      
wxWidgets3.0      

Enhancements

Functional Changes

  • The android_sandbox project, which was based on Eclipse, has been renamed to android_eclipse_sandbox. android_sandbox still exists, but it is now an Android Studio project.
  • The HPS::TouchEvent::SetTouches method has been removed. Touches can now be set using the regular assignment operator.


Visualize HPS 2015 Service Pack 1 Update 3

Library compatibility information:

Library nameVersionWindowsLinuxOS XAndroidiOSNotes
HOOPS Exchange2015 Service Pack 2      
HOOPS Publish2015 Service Pack 2      
.NET Framework4.0     4.5 required when using D3D_IMAGE_CANVAS
Parasolid27      
Qt5.3     Visual Studio 2012 uses Qt 5.1
SketchUp2015      
wxWidgets3.0      

Functional Changes

  • The Exchange interface has been updated to HOOPS Exchange SP2.
  • The Translate functions in Exchange have changed. They now take a HPS::TranslationOptionsKit argument, which allows the user to specify additional translation options.


Visualize HPS 2015 Service Pack 1 Update 2

Library compatibility information:

Library nameVersionWindowsLinuxOS XAndroidiOSNotes
HOOPS Exchange2015 Service Pack 1      
HOOPS Publish2015 Service Pack 1      
.NET Framework4.0     4.5 required when using D3D_IMAGE_CANVAS
Parasolid27      
Qt5.3     Visual Studio 2012 uses Qt 5.1
SketchUp2015      
wxWidgets3.0      

Improvements

  • Improved the performance and interactivity of highlighting and isolating geometry.
  • Reduced flickering in fixed-framerate mode.
  • Improved the performance of D3D image and offscreen rendering.


Visualize HPS 2015 Service Pack 1 Update 1

Library compatibility information:

Library nameVersionWindowsLinuxOS XAndroidiOSNotes
HOOPS Exchange2015 Service Pack 1      
HOOPS Publish2015 Service Pack 1      
.NET Framework4.0     4.5 required when using D3D_IMAGE_CANVAS
Parasolid27      
Qt5.3     Visual Studio 2012 uses Qt 5.1
SketchUp2015      
wxWidgets3.0      

Functional changes

  • A bug has been fixed in our license validation


Visualize HPS 2015 Service Pack 1

Library compatibility information:

Library nameVersionWindowsLinuxOS XAndroidiOSNotes
HOOPS Exchange2015 Service Pack 1      
HOOPS Publish2015 Service Pack 1      
.NET Framework4.0     4.5 required when using D3D_IMAGE_CANVAS
Parasolid27      
Qt5.3     Visual Studio 2012 uses Qt 5.1
SketchUp2015      
wxWidgets3.0      

New features and enhancements

  • 64-bit iOS simulator libraries are now included.
  • There is a new import function that can operate directly on an A3DAsmModelFile, and a new ExportPRC function which, given a HPS::SprocketPath, will construct PRC from the scene graph.
  • The axis triad and the navigation cube may now be resized and arbitrarily positioned.
  • Colored point clouds can now be exported to 3D PDFs.
  • Multiple CAD models may now be imported into the same scene graph using the HOOPS Exchange integration.
  • Exchange components can now be reloaded in order to maintain synchronicity between PRC data and the Visualize scene graph.
  • Subtrees can now be exported to 3D PDF documents.
  • Functions have been added to query arbitrary subsets of points to the following geometry types (kits and keys): shell, mesh, NURBS curve and surface, cylinder, line, and polygon. The points can be queried by list as well as by range.
  • A new model comparison function, HPS::SubwindowKit::SetModelCompareMode is now available with allows you to compare two models and highlight any differences.

  •   The functionality of the cutting section operator has been enhanced

Functional changes

  • The HPS::Publish::AnnotationKit::ShowSource function has changed to accommodate exporting subtrees. It can now return either a SprocketPath or a KeyPathArray, together with an enum telling the user which of the two return values is valid. This breaks compatibility with previous versions of HPS, so if you were previously using the HPS::Publish::AnnotationKit::ShowSource function, you will need to change your code for it to work with this version of HOOPS Visualize.
  • Exporting of HPS::Stream files now happens asynchronously. The export now works very much like the import functions, in that it returns a notifier which can be used to check the progress or cancel the export. If you require the old export behavior, you can use a HPS::Stream::ExportNotifier and call Wait(). See section "Exporting Files" in the Programming Guide.
  • The "ImportTime" and "ParseTime" metadata that was present on the CADModel have been removed and replaced with GetImportTime and GetParseTime on the HPS::Exchange::ImportNotifier. This change was also made to Parasolid CAD models and HPS::Parasolid::ImportNotifier for consistency.
  • The HPS::Exchange::TranslationNotifier::GetModelLoadTime function was renamed to GetImportTime, and additionally the (new) GetImportTime and (existing) GetTranslationTime functions on the TranslationNotifier have been changed to return time in milliseconds, not seconds.
  • The behavior of HPS::Component::Delete has changed. Previously, calling HPS::Component::Delete would delete all the underlying subcomponents, even if they had multiple owners. Now, if HPS::Component::Delete is invoked on a component which has subcomponents with multiple owners, it will merely remove that single owner, leaving that multiply-owned subcomponent intact. However, if a subcomponent only has one owner it will be deleted if its owner is deleted.
  • Object space selection methods on the Database are deprecated and will be removed in the next major release (Visualize 2016). Use the variants from the HPS::SelectionControl instead.


Visualize HPS 2015 Update 1

Library compatibility information:

Library nameVersionWindowsLinuxOS XAndroidiOSNotes
HOOPS Exchange2015 Service Pack 1      
HOOPS Publish2015 Service Pack 1      
.NET Framework4.0     4.5 required when using D3D_IMAGE_CANVAS
Parasolid27      
Qt5.3     Visual Studio 2012 uses Qt 5.1
SketchUp2015      
wxWidgets3.0      

Visualize HPS 2015

Library compatibility information:

Library nameVersionWindowsLinuxOS XAndroidiOSNotes
HOOPS Exchange2015      
HOOPS Publish2015      
.NET Framework4.0     4.5 required when using D3D_IMAGE_CANVAS
Parasolid27      
Qt5.3     Visual Studio 2012 uses Qt 5.1
SketchUp2014      
wxWidgets3.0      

New features and enhancements

  • A reference component hierarchy browser is now included in the WPF and MFC sandboxes, and is provided in source code form. This allows developers to more easily add a custom model-browser to Visualize applications.
  • The performance of patterned line and edge drawing in the DX11 and OpenGL2 drivers has been improved by up to 15x. The reference manual entry for HPS::LinePattern::Default lists further details.
  • A new polygonal clip region interface is available, which enables the user to clip or mask geometry in a segment tree.
  • A new event type has been added - HPS::UpdateCompletedEvent - which is triggered whenever a display update is completed.
  • The HPS::CuttingSectionOperator is now available.
  • The HPS::MouseWheelOperator zoom amount and modifier key can now be configured.
  • New methods have been added to the HPS::SelectionResults class: Union, Intersect, Difference, and SymmetricDifference.
  • Shell optimizations can now be specified in the STL importer using HPS::STL::ImportOptionsKit::SetOptimization
  • Highlighting performance as well as rendering performance of highlighted scenes has been improved.
  • Rendering performance when using static model has been improved for a wide variety of scene graph organizations.
  • Performance of view-dependent vertex markers (splat-rendering using filled circles and filled squares) has been improved in the DirectX 11 driver. See section 2.1.5 of the Programming Guide for details about vertex markers.
  • Attribute locks can now be set on cameras.
  • Added capability to set a filter on an include key or a style key so that you can control what is included or styled.

  •   HOOPS Publish new features
  •   HOOPS Exchange new features
  •   Parasolid new features

Functional changes

  • 32-bit Linux libraries are no longer provided
  • 64-bit iOS libraries are now provided
  • A new 'strength' parameter on the PostProcessEffects[Kit|Control]::SetEyeDomeLighting function allows you to set the multiplier on the calculated per-pixel occlusion value.
  • The appearance of the navigation cube has been updated and now includes an indication of orientation.
  • Event handlers must now call HPS::EventHandler::Shutdown in their destructors. Failure to do so may result in undefined behavior.
  • The transform mask interface has been modified to allow the camera scale mask to be applied to perspective projections. Functions in classes related to transform masks have been modified from [Set|Show|Unset]CameraPerspective to [Set|Show|Unset]CameraPerspectiveScale. Customers using the old CameraPespective functions or HPS::Search::Type enums should replace them with the CameraPerspectiveScale functions.

  •   Packaging changes