Release Notes
Visualize HPS 2016 SP2
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 | 2016 SP2 | ||||||
HOOPS Publish | 2016 SP2 | ||||||
.NET Framework | 4.0 | 4.5 required when using D3D_IMAGE_CANVAS | |||||
Parasolid | 28.1 | ||||||
RealDWG | 2017, 2016 | RealDWG 2017 works with Visual Studio 2015 RealDWG 2016 works with Visual Studio 2012 There is no support for RealDWG in Visual Studio 2013 | |||||
Qt | 5.6 | Visual Studio 2012 uses Qt 5.1 | |||||
SketchUp | 2016 | ||||||
wxWidgets | 3.1 | Linux and OS X use wxWidgets 3.0 |
Enhancements
-
HOOPS Visualize added support for manipulator handles that allow users to easily move and translate objects in the scene. Support is provided in the form of a new operator HPS::HandlesOperator. Handle support is currently in BETA status. Current limitations include:
- Moved objects locations are not updated in any external databases. This means that while the data will be updated on the screen, the source data will not be updated in the HOOPS Exchange, HOOPS Publish, Parasolid or RealDWG database. This will only have a noticeable impact if you export the data.
- When editing geometry that is associated with a Component, the component structure might be altered destructively.
- HOOPS Visualize now allows you to set custom backgrounds on inserted text strings. The HPS::ShapeDefinition and HPS::ShapeKit classes were introduced to allow you to do this. The following new classes HPS::ShapeCoordinate, HPS::ShapePoint, HPS::ShapeElement, HPS::PolygonShapeElement, HPS::EllipseShapeElement, HPS::CircleShapeElement, HPS::EllipticalArcShapeElement, HPS::CircularArcShapeElement, HPS::LineShapeElement and HPS::AnchorShapeElement allow you to control these shapes. Finally, several new functions have been added to the HPS::PortfolioKey class to enable you to set these backgrounds. These include DefineShape, UndefineShape, ImportShape, ImportAllShapes, GetShapeDefinitionCount, ShowShapeDefinition and ShowAllShapeDefinitions. Please see this tutorial for a simple example.
- A variety of bug-fixes and improvements were made to the Parasolid integration including some which addressed edge-stitching issues.
-
A variety of improvements to the HOOPS Exchange integration have been made, including:
- Support for mobile platforms. Please note, all Android applications developed with the Exchange Sprocket (sprk_exchange) must use the GCC 4.9 toolchain.
- Support for flippable PMI via HPS::Exchange::ImportOptionsKit::SetPMIFlipping, which dictates whether Visualize will flip PMI when rotating so that text and symbols remain readable.
- Support for loading PRC directly from a stream.
- Improvements have been made to the quality and performance of shadow map and ambient occlusion capabilities.
- New classes have been added to support custom shape definitions: HPS::ShapeCoordinate, HPS::ShapePoint, HPS::ShapeElement, HPS::PolygonShapeElement, HPS::EllipseShapeElement, HPS::CircleShapeElement, HPS::EllipticalArcShapeElement, HPS::CircularArcShapeElement, HPS::LineShapeElement, HPS::AnchorShapeElement.
- Built on top of the custom shape classes, the new operator HPS::AnnotationOperator has been created to insert text annotations using mouse- and touch-driven devices.
- A new function HPS::KeyPath::ComputeExtent has been added. It calculates a screen-space rectangle that fully encloses the segments specified in the key path. The rectangle honors visibilities and accounts for any text strings that are in the scene.
- Visualize now supports pixel-space subwindows (exposed via HPS::SubwindowKit, HPS::SubwindowControl, HPS::AxisTriadControl, and HPS::NavigationCubeControl).
- More control over fine-grain filtering has been added, allowing frame buffer effects (bloom, ambient occlusion, silhouette edges, depth of field, and eye dome lighting) to be toggled on or off individually using new functions in the HPS::VisualEffectsControl class.
Click to see the new functions in the HPS::VisualEffectsControl class:
- HPS::VisualEffectsControl & HPS::VisualEffectsControl::SetAmbientOcclusionEnabled (bool in_state)
- HPS::VisualEffectsControl & HPS::VisualEffectsControl::SetBloomEnabled (bool in_state)
- HPS::VisualEffectsControl & HPS::VisualEffectsControl::SetDepthOfFieldEnabled (bool in_state)
- HPS::VisualEffectsControl & HPS::VisualEffectsControl::SetEyeDomeLightingEnabled (bool in_state)
- HPS::VisualEffectsControl & HPS::VisualEffectsControl::SetSilhouetteEdgesEnabled (bool in_state)
- bool HPS::VisualEffectsControl::ShowAmbientOcclusionEnabled (bool &out_state) const
- bool HPS::VisualEffectsControl::ShowBloomEnabled (bool &out_state) const
- bool HPS::VisualEffectsControl::ShowDepthOfFieldEnabled (bool &out_state) const
- bool HPS::VisualEffectsControl::ShowEyeDomeLightingEnabled (bool &out_state) const
- bool HPS::VisualEffectsControl::ShowSilhouetteEdgesEnabled (bool &out_state) const
- HPS::VisualEffectsControl & HPS::VisualEffectsControl::UnsetAmbientOcclusionEnabled ()
- HPS::VisualEffectsControl & HPS::VisualEffectsControl::UnsetBloomEnabled ()
- HPS::VisualEffectsControl & HPS::VisualEffectsControl::UnsetDepthOfFieldEnabled ()
- HPS::VisualEffectsControl & HPS::VisualEffectsControl::UnsetEyeDomeLightingEnabled ()
- HPS::VisualEffectsControl & HPS::VisualEffectsControl::UnsetSilhouetteEdgesEnabled ()
Functional Changes
- The OpenGL1.X and DirectX9 drivers have been deprecated. Support for these drivers will be removed at a later date. Developers are recommended to use the HPS::Window::Driver::Default3D which will automatically choose the best driver for your device.
-
Sewing for all types of HOOPS Exchange models is now exposed as an import option. As a result, some function signatures have changed:
- Function signature HPS::Exchange::ImportOptionsKit & HPS::Exchange::SetIGESSewingTolerance(double in_tolerance) has changed to HPS::Exchange::ImportOptionsKit & HPS::Exchange::ImportOptionsKit::SetSewingTolerance(double in_tolerance).
- Function signature HPS::Exchange::ImportOptionsKit & HPS::Exchange::UnsetIGESSewingTolerance() has changed to HPS::Exchange::ImportOptionsKit & HPS::Exchange::ImportOptionsKit::UnsetSewingTolerance().
- Function signature bool HPS::Exchange::ShowIGESSewingTolerance(double & out_tolerance) const has changed to bool HPS::Exchange::ImportOptionsKit::ShowSewingTolerance(double & out_tolerance) const.
Visualize HPS 2016 SP1
Library compatibility information:
Library name Version Windows Linux OS X Android iOS Notes HOOPS Exchange 2016 SP1 HOOPS Publish 2016 SP1 .NET Framework 4.0 4.5 required when using D3D_IMAGE_CANVAS Parasolid 28.1 RealDWG 2016 Only supported with Visual Studio 2012 Qt 5.6 Visual Studio 2012 uses Qt 5.1 SketchUp 2015 wxWidgets 3.1 Linux and OS X use wxWidgets 3.0 Enhancements
- Visual Studio 2015 is now supported.
- HOOPS Visualize can now automatically generate text backgrounds. New options on the Text[Key|Kit] as well as TextAttribute[Kit|Control] control everything related to the background. See [Set|Unset|Show]Background(), [Set|Unset|Show]BackgroundMargins(), and [Set|Unset|Show]BackgroundStyle().
- Control of edge weight and tolerance for cutting sections is now available. See CuttingSectionAttribute[Control|Kit]::[Set|Unset|Show]Tolerance() and [Set|Unset|Show]Weight().
- Point cloud files (PTS, PTX, XYZ) are now importable. See HPS::PointCloud::File::Import.
- Screen-anchored PMI and incremental load are now supported in our Exchange bridge.
- Significant performance improvements for highlighting when using HPS::Drawing::Overlay::WithZValues or HPS::Drawing::Overlay::InPlace.
- Print to scale is now supported.
- Qt 5.6 is now supported.
-
Variety of bug-fixes related to fully supporting international text strings.
New functions related to the HOOPS Exchange bridge
- The value AP242 has been added to the HPS::Exchange::STEP::Format enum
Options added to the HPS::Exchange::ImportOptionsKit:- [Set | Unset | Show]STEPValidationProperties
- [Set | Unset | Show]ProEMissingBoolean
- [Set | Unset | Show]ProEMissingFlexibleComponent
- [Set | Unset | Show]ProEFamilyTableSource
- [Set | Unset | Show]ProEHomeView
- [Set | Unset | Show]ProEExplodedViews
- [Set | Unset | Show]ProEDatum
- [Set | Unset | Show]ProEConstructionEntities
- [Set | Unset | Show]ProESkeletons
- [Set | Unset | Show]InventorEmbeddedTessellation
Options added to the HPS::Exchange::ExportSTEPOptionsKit:- [Set | Unset | Show]PMI
- [Set | Unset | Show]Curves
- [Set | Unset | Show]Attributes
Functional Changes
- D3DImage is now the default driver in the WPF Sandbox.
- Function signature HPS::ImportOptionsKit::SetPMIDefaultColor(RGBColor const & in_color) has changed to HPS::ImportOptionsKit::SetPMIDefaultColor(RGBColor const & in_color, bool in_override_color = false).
- Function signature HPS::ImportOptionsKit::ShowPMIDefaultColor(RGBColor & out_color) const has changed to HPS::ImportOptionsKit::ShowPMIDefaultColor(RGBColor & out_color, bool & out_override) const.
Visualize HPS 2016 Update 2
Library compatibility information:
Library name Version Windows Linux OS X Android iOS Notes HOOPS Exchange 2016 SP1 HOOPS Publish 2016 SP1 .NET Framework 4.0 4.5 required when using D3D_IMAGE_CANVAS Parasolid 27 RealDWG 2016 Only supported with Visual Studio 2012 Qt 5.3 Visual Studio 2012 uses Qt 5.1 SketchUp 2015 wxWidgets 3.0 Enhancements
- The HOOPS Exchange and HOOPS Publish integration libraries have been updated to 2016 SP1.
- General performance improvements to static model.
Visualize HPS 2016 Update 1
Library compatibility information:
Library name Version Windows Linux OS X Android iOS Notes HOOPS Exchange 2016 HOOPS Publish 2016 .NET Framework 4.0 4.5 required when using D3D_IMAGE_CANVAS Parasolid 27 RealDWG 2016 Only supported with Visual Studio 2012 Qt 5.3 Visual Studio 2012 uses Qt 5.1 SketchUp 2015 wxWidgets 3.0 HOOPS Visualize 2016 Update 1 is a bug fix release only.
Visualize HPS 2016
Library compatibility information:
Library name Version Windows Linux OS X Android iOS Notes HOOPS Exchange 2016 HOOPS Publish 2016 .NET Framework 4.0 4.5 required when using D3D_IMAGE_CANVAS Parasolid 27 RealDWG 2016 Only supported with Visual Studio 2012 Qt 5.3 Visual Studio 2012 uses Qt 5.1 SketchUp 2015 wxWidgets 3.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
- The ExportPRC function now returns an HPS::Exchange::ExportNotifier.
- The ExportPRC functions which previously accepted a SprocketPath parameter now accept a KeyPathArray instead.
- The ExportPRCOptionsKit has new functions used to Set, Unset and Show additional key paths.
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
- AnnotationKit(SprocketPath const & in_source) - This constructor no longer exists. To get the same result, you need to construct the AnnotationKit using another one of the available constructors and then call SetSource on it. HPS::SprocketPath was previously used, but you would need to use a HPS::CADModel in HPS 2016 when calling SetSouce.
- AnnotationKit::SetSource(KeyPath const & in_source) - This function no longer exists. Developers should use either AnnotationKit::SetSource(KeyPathArray const & in_source) or AnnotationKit::SetSource(size_t in_count, KeyPath const in_source []) to achieve the same result.
- AnnotationKit::SetSource(SprocketPath const & in_source) - This function does not exist anymore. AnnotationKit::SetSource(CADModel const & in_source) has been added to replace it.
- There are two new AnnotationKit::SetSource overloads. They are AnnotationKit::SetSource(CADModel const & in_source, KeyPathArray const & in_additional_sources) and AnnotationKit::SetSource(CADModel const & in_source, size_t in_count, KeyPath const in_additional_sources []).
- AnnotationKit::ShowSource(Annotation::SourceType & out_source_type, SprocketPath & out_sprocket_paths, KeyPathArray & out_key_paths) const - This function signature has changed to AnnotationKit::ShowSource(Annotation::SourceType & out_source_type, CADModel & out_cad_model, KeyPathArray & out_key_paths) const (the difference is that callers will receive a HPS::CADModel instead of a HPS::SprocketPath).
- Publish::File::Export(SprocketPath const & in_source, char const * in_file_name, ExportOptionsKit const & in_options) has been replaced by Publish::File::Export(CADModel const & in_cad_model, char const * in_file_name, ExportOptionsKit const & in_options).
- There are four new HPS::Publish::File::Export overloads, which are used to access the new functionality of exporting a CAD model with the addition of selected key paths.
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 located in the /tools directory 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.
- HPS::Window::UpdateControl enum has been renamed to HPS::Window::UpdateType.
- HPS::Window::UpdateControl enum fields have been renamed to HPS::UpdateOptionsControl::SetUpdateType.
- HPS::Handedness::Shell enum fields have been renamed to HPS::Handedness::Shell::[Fix|Reverse].
- HPS::Material::Type enum fields have been renamed to HPS::Material::Type::[None|RGBColor|RGBAColor].
- HPS::Material::Texture::Interpolation::InterpolationOff enum field has been renamed to HPS::Material::Texture::Interpolation::None.
- HPS::Material::Texture::Decimation::DecimationOff enum has been renamed to HPS::Material::Texture::Decimation::None.
- HPS::Performance::DisplayLists enum fields have been renamed to HPS::Performance::DisplayLists::[None|Geometry|Segment].
- HPS::Performance::StaticModel enum fields have been renamed to HPS::Performance::StaticModel::[None|Attribute|AttributeSpatial].
- HPS::Drawing::Handedness::NoHandedness enum field has been renamed to HPS::Drawing::Handedness::None.
- HPS::Drawing::Overlay enum fields have been renamed to HPS::Drawing::Overlay::[None|Default|WithZValues].
- HPS::Transparency::Method::Off enum field has been renamed to HPS::Transparency::Method::None.
- HPS::Transparency::Algorithm::NoSorting enum field has been renamed to HPS::Transparency::Algorithm::None.
- HPS::Text::Justification enum fields have been renamed to HPS::Text::Justification::[Left|Right|Center].
- HPS::Text::Renderer enum fields have been renamed to HPS::Text::Renderer::[Default|Driver|Truetype].
- HPS::Text::Rotation::NoRotation enum field has been renamed to HPS::Text::Rotation::None.
- HPS::Text::RegionAlignment enum fields have been renamed to HPS::Text::RegionAlignment::[Top|Center|Bottom].
- HPS::LinePattern::Join enum fields have been renamed to HPS::LinePattern::Join::[Mitre|Round|Bevel].
- HPS::LinePattern::Cap enum fields have been renamed to HPS::LinePattern::Cap::[Butt|Square|Round|Mitre].
- HPS::Glyph::Fill enum fields have been renamed to HPS::Glyph::Fill::[None|Continuous|New].
- HPS::Glyph::ColorSource::Normal enum field has been renamed to HPS::Glyph::ColorSource::Default.
- HPS::SegmentOptimizationOptions::UserData::Nothing enum field has been renamed to HPS::SegmentOptimizationOptions::UserData::None.
- HPS::SegmentOptimizationOptions::Matrix::Nothing enum field has been renamed to HPS::SegmentOptimizationOptions::Matrix::None.
- HPS::Operator::Priority::Normal enum field has been renamed to HPS::Operator::Priority::Default.
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.
- [Reference|Include|Style]Key::[Set|Unset|Show]Condition functions have been renamed to [Reference|Include|Style]Key::[Set|Unset|Show]ConditionalExpression.
- HPS::SegmentKey::[Set|Unset|Show]Boundings functions have been renamed to HPS::SegmentKey::[Set|Unset|Show]Bounding.
- HPS::GeometryKey::ShowBoundings functions have been renamed to HPS::GeometryKey::ShowBounding.
- HPS::SegmentKey::[Set|Unset|Show]AttributeLocks functions have been renamed to HPS::SegmentKey::[Set|Unset|Show]AttributeLock.
- HPS::SegmentKey::[Set|Unset|Show]CuttingSectionAttributes functions have been renamed to HPS::SegmentKey::[Set|Unset|Show]CuttingSectionAttribute.
- HPS::SegmentKey::[Set|Unset|Show]CurveAttributes functions have been renamed to HPS::SegmentKey::[Set|Unset|Show]CurveAttribute.
- HPS::SegmentKey::[Set|Unset|Show]CylinderAttributes functions have been renamed to HPS::SegmentKey::[Set|Unset|Show]CylinderAttribute.
- HPS::SegmentKey::[Set|Unset|Show]EdgeAttributes functions have been renamed to HPS::SegmentKey::[Set|Unset|Show]EdgeAttribute.
- HPS::SegmentKey::[Set|Unset|Show]LightingAttributes functions have been renamed to HPS::SegmentKey::[Set|Unset|Show]LightingAttribute.
- HPS::SegmentKey::[Set|Unset|Show]LineAttributes functions have been renamed to HPS::SegmentKey::[Set|Unset|Show]LineAttribute.
- HPS::SegmentKey::[Set|Unset|Show]MarkerAttributes functions have been renamed to HPS::SegmentKey::[Set|Unset|Show]MarkerAttribute.
- HPS::SegmentKey::[Set|Unset|Show]NURBSSurfaceAttributes functions have been renamed to HPS::SegmentKey::[Set|Unset|Show]NURBSSurfaceAttribute.
- HPS::SegmentKey::[Set|Unset|Show]SphereAttributes functions have been renamed to HPS::SegmentKey::[Set|Unset|Show]SphereAttribute.
- HPS::SegmentKey::[Set|Unset|Show]TextAttributes functions have been renamed to HPS::SegmentKey::[Set|Unset|Show]TextAttribute.
- HPS::UpdateOptionsControl::SetUpdateControl function has been renamed to HPS::UpdateOptionsControl::UpdateType.
- HPS::[Canvas|Layout|View|Model]::Update(Sprocket::UpdateType::Synchronous) function has been superseded by [Canvas|Layout|View|Model]::UpdateWithNotifier().Wait().
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.
- HPS::Condition has been renamed to HPS::ConditionalExpression.
- HPS::ConditionArray has been renamed to HPS::ConditionalExpressionArray.
Visualize HPS 2015 Service Pack 2 Update 2
Library compatibility information:
Library name Version Windows Linux OS X Android iOS Notes HOOPS Exchange 2015 Service Pack 2 HOOPS Publish 2015 Service Pack 2 .NET Framework 4.0 4.5 required when using D3D_IMAGE_CANVAS Parasolid 27 RealDWG 2016 Only supported with Visual Studio 2012 Qt 5.3 Visual Studio 2012 uses Qt 5.1 SketchUp 2015 wxWidgets 3.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 name Version Windows Linux OS X Android iOS Notes HOOPS Exchange 2015 Service Pack 2 HOOPS Publish 2015 Service Pack 2 .NET Framework 4.0 4.5 required when using D3D_IMAGE_CANVAS Parasolid 27 RealDWG 2016 Only supported with Visual Studio 2012 Qt 5.3 Visual Studio 2012 uses Qt 5.1 SketchUp 2015 wxWidgets 3.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 name Version Windows Linux OS X Android iOS Notes HOOPS Exchange 2015 Service Pack 2 HOOPS Publish 2015 Service Pack 2 .NET Framework 4.0 4.5 required when using D3D_IMAGE_CANVAS Parasolid 27 RealDWG 2016 Only supported with Visual Studio 2012 Qt 5.3 Visual Studio 2012 uses Qt 5.1 SketchUp 2015 wxWidgets 3.0 Enhancements
- Support for DWG import is provided via the RealDWG integration.
- The performance of HSF file loading has been improved by up to 10%.
- A new 3D sphere vertex marker is available, HPS::Glyph::Default::Sphere.
- Support for HSF Import and Export events has been added, which allows developers greater flexibility when reading and writing HSFs.
- HSF data can now be imported from a buffer and exported to a buffer.
- The Sandboxes have been enhanced to demonstrate more advanced progress reporting using the existing APIs.
- HPS::KeyPath has been enhanced to show net definitions. For example, HPS::KeyPath::ShowEffectiveMaterialPaletteDefinition, HPS::KeyPath::ShowEffectiveTextureDefinition, etc...
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 name Version Windows Linux OS X Android iOS Notes HOOPS Exchange 2015 Service Pack 2 HOOPS Publish 2015 Service Pack 2 .NET Framework 4.0 4.5 required when using D3D_IMAGE_CANVAS Parasolid 27 Qt 5.3 Visual Studio 2012 uses Qt 5.1 SketchUp 2015 wxWidgets 3.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 name Version Windows Linux OS X Android iOS Notes HOOPS Exchange 2015 Service Pack 1 HOOPS Publish 2015 Service Pack 1 .NET Framework 4.0 4.5 required when using D3D_IMAGE_CANVAS Parasolid 27 Qt 5.3 Visual Studio 2012 uses Qt 5.1 SketchUp 2015 wxWidgets 3.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 name Version Windows Linux OS X Android iOS Notes HOOPS Exchange 2015 Service Pack 1 HOOPS Publish 2015 Service Pack 1 .NET Framework 4.0 4.5 required when using D3D_IMAGE_CANVAS Parasolid 27 Qt 5.3 Visual Studio 2012 uses Qt 5.1 SketchUp 2015 wxWidgets 3.0 Functional changes
- A bug has been fixed in our license validation
Visualize HPS 2015 Service Pack 1
Library compatibility information:
Library name Version Windows Linux OS X Android iOS Notes HOOPS Exchange 2015 Service Pack 1 HOOPS Publish 2015 Service Pack 1 .NET Framework 4.0 4.5 required when using D3D_IMAGE_CANVAS Parasolid 27 Qt 5.3 Visual Studio 2012 uses Qt 5.1 SketchUp 2015 wxWidgets 3.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
- Each operator can now handle N cutting planes, instead of just one.
- Planes are inserted as individual cutting planes, but they can be grouped into a section. If the planes are grouped into a section, they can be split into individual cutting planes. This is done through the new functions called SetSectioning(bool in_sectioning) and GetSectioning
- The visibility of the shells representing the cutting sections can be toggled on or off. This is done through the new functions called SetPlaneVisibility and GetPlaneVisibility.
- When the operator is first attached, an indicator is displayed which shows the user where a cutting section will be inserted on a click (same behavior as before). The user can turn this indicator on or off using SetIndicatorVisibility and GetIndicatorVisibility. If the indicator visibility is on, the user can insert cutting planes with their mouse with the aid of the indicator.
- At any time, cutting planes can be added programmatically using the SetPlanes function. This function replaces a previous function called InsertCuttingPlaneFromEquation. There is also a GetPlanes function, which lets the user know which planes are active at any time.
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 name Version Windows Linux OS X Android iOS Notes HOOPS Exchange 2015 Service Pack 1 HOOPS Publish 2015 Service Pack 1 .NET Framework 4.0 4.5 required when using D3D_IMAGE_CANVAS Parasolid 27 Qt 5.3 Visual Studio 2012 uses Qt 5.1 SketchUp 2015 wxWidgets 3.0
Visualize HPS 2015
Library compatibility information:
Library name Version Windows Linux OS X Android iOS Notes HOOPS Exchange 2015 HOOPS Publish 2015 .NET Framework 4.0 4.5 required when using D3D_IMAGE_CANVAS Parasolid 27 Qt 5.3 Visual Studio 2012 uses Qt 5.1 SketchUp 2014 wxWidgets 3.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
- Developers now have the ability to force the color of PMI to one selected by the user. This is done through HPS::Publish::ArtworkKit::SetPMIColor.
- Developers can specify how many views are scrolled when the "previoius" and "next" buttons are clicked in a view carousel. This is controlled through HPS::Publish::AnnotationKit::SetCarouselButtons.
- The following items can now be added to pages: check boxes, radio buttons, list boxes, drop down lists, and digital signature fields. Each one of these items has an associated kit, and they can be inserted through the HPS::Publish::PageKit and HPS::Publish::PageControl.
HOOPS Exchange new features
- Files supported by Exchange can be translated to Parasolid parts. This is done through the HPS::Exchange::File::Translate function (to translate a file which has not been loaded into HPS), the HPS::Exchange::CADModel::Translate function (to translate an existing CADModel) or the HPS::Exchange::Component::Translate function (to translate a single representation item component). All of these functions return a HPS::Exchange::TranslationNotifier, which is a variation on the HPS::IONotifier.
- Added options to specify the JT tessellation level on import
- Added options to only import global IDs as metadata for IFC files
- Added options not to import lines for IFC files
- Added options to optimize face import for IFC files
- CATIA V5 drawings are now supported
- File loading performance for IFC files has been significantly improved
Parasolid new features
- There is a new Parasolid function, HPS::Parasolid::FacetTessellationKit::SetTessellationLevel, which makes it easier to specify tessellation during file import
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
- On iOS, release HPS libraries are now produced under <visualize_root>/hps/lib/ios. They are placed under the lib instead of bin as the lib folder is reserved for static build resources and all iOS libraries are static. In order to support all iPhone / iPad architectures we now distribute HPS libs as universal libraries (containing armv7, arm64, and i386 symbols). The iOS-Sandbox is still produced under <visualize_root>/hps/lib/ios.
- On Android, release HPS libraries are now produced under <visualize_root>/hps/bin/android. They are placed under the bin instead of lib as the bin folder is reserved for application binaries and dynamically loaded libraries (and all of the Android libs are dynamic shared objects). The Android HPS libs are currently not distributed as fat binaries. The Android sandbox is still produced under <visualize_root>/hps/bin/android/.
- On OS X, release HPS libraries are now produced under <visualize_root>/hps/bin/osx. The OS X sandboxes are now all produced under <visualize_root>/hps/bin/osx/.
- For Windows, the debug .lib files and release .lib files are no longer produced in the same directory. The debug lib files are placed in <visualize_root>/hps/lib/win<bitness>_<compiler>d/ instead of in the release lib directory of <visualize_root>/hps/lib/win<bitness>_<compiler>/ . For example, the release HPS .lib files for vc11 on a 32 bit build would be in <visualize_root>/hps/lib/win32_vc11/ while the debug .lib files would be in <visualize_root>/hps/lib/win32_vc11d/
Overview
Sample Code
Tutorials
Programming Guide
1 Fundamentals
2 Geometry
- 2.1 Shells
- 2.2 Meshes
- 2.3 Text
- 2.4 Lights
- 2.5 Lines
- 2.6 Curves
- 2.7 Markers
- 2.8 Polygons
- 2.9 Spheres
- 2.10 Cylinders
- 2.11 NURBS
- 2.12 Cutting sections
- 2.13 Grids
- 2.14 Reference Geometry
3 Viewing
4 Portfolios
5 Materials
6 User Interaction
7 Rendering
8 Rendering Effects
- 8.1 Anti-alias
- 8.2 Shadows
- 8.3 Reflection planes
- 8.4 Bloom
- 8.5 Lighting algorithms
- 8.6 Color interpolation
- 8.7 Hidden surface removal
- 8.8 Depth of field
- 8.9 Perimeter and silhouette edges
9 File I/O
- 9.1 Importing files
- 9.2 Exporting files
- 9.3 Component hierarchy
- 9.4 HOOPS Publish integration
- 9.5 HOOPS Exchange integration
- 9.6 Parasolid integration
- 9.7 Loading SketchUp models
- 9.8 Loading DWG models
10 Events and Exceptions
11 Appendix
API Reference
HOOPS Visualize 2016 SP2 www.techsoft3d.com developer.techsoft3d.com