v2.0.ut.2153.g60764257e

Changes since the last build (v2.0.ut.2131.g1fd674f) include:

  • Performance Improvements
  • Fix sphere model normals.
  • Increase ambient light for models.
  • Reorient labels so they are always facing up.
  • Add VirtualMarkerMap to the object model.
  • Add SetTesselationThreshold and SetStaticStyles to VirtualMap.
  • Add const to Triangulator functions.
  • Add Mapbox tile providers to other languages.
  • Make labels render faster and look better by rendering one label per draw call (instead of one letter), and make each letter bend into the next one instead of being treated independently.
  • Add Mapbox label and marker tile providers.
  • Add Mapbox marker and label extraction.
  • Add Rename ClipPolygons to SubdevidePolygons because it wasn't clipping them, and create a ClipPolygons so we can clip polygons to tile boundaries.
  • Skip converting polygon coordinates to geos types since the types appear to be the same now.
  • Do not generate polygon edges for known styles in Mapbox vector tiles.
  • Fix pieces of vector geometry missing from non-dynamic vector tiles.
  • Add StaticStyles so we can avoid generating polygon outlines during vector map tile creation.

v2.0.ut.2131.g1fd674f

Changes since the last build (v2.0.ut.2084.g47ffcd3) include:

  • Support updating PolygonStyle line widths.
  • Allows updating of styles on dynamic lines and dynamic polygons
  • Fix issue where ResourceManager::Update was called multiple times in certain cases when GreenMode is enabled in the object model.
  • Fix vector alignment issue that caused 3d lines not to work below ipad air level video cards
  • Fix but in non-square textures in RenderDepthValues.

v2.0.ut.2084.g47ffcd3

Changes since the last build (v2.0.ut.2009.g308a239) include:

Altus Core

  • Improvements in Polygon Hit Testing
  • Move InitOpenGL to RenderObjectLifetimeManager.h
  • Move the SetCurrentContextIndexAndPerformCachedDelets to MapView.
  • Cache OpenGL deletes and process them during the render pass.
  • Stop exposing MapSampler in Javascript and Android.
  • Fix bug in Transform::Removechild.
  • Wrap Core.ProfileViewDesc with MapSamplerDesc.
  • Use InstancedModel for function inputs and Model for function outputs.
  • Update frustum models instead of adding/removing them so the order doesn't change.
  • Use std::vector::reserve when dividing a BoundingBox.
  • Create more complicated frustum geometry and expose render states for model maps so we can draw frustums in fancy ways, such as emissive light sources and hiding internal geometry of translucent models.
  • Add a preview for rendering models to a depth map and creating a frustum from the depth map.
  • Fix vector reserve size miscalculation in ProfileView.

Windows

  • Add ModelVertex::Update to try and make the C# demo more efficient.
  • Use properties in C# for object model function accessors.
  • Get ISceneDelegate working in C#.
  • Create wrapper for ProfileView, rename ProfileView to MapSampler, expose MapSampler to C#

v2.0.ut.2009.g308a239

Changes since the last build (v2.0.ut.1903.gfa8a8f3) include:

Altus Core

  • Adds vector filtering to ProfileView grids.
  • Adds Support for Dashed Lines
  • Updates NoiseMarkerTileProvider to provide more markers per tile.
  • Adds ProfileView::GenerateGrid.
  • Passes in the current min/max altitude for FreeAxisInputHandler zooming.
  • Improves FreeAxisInputHandler zooming.
  • Replace the Sine Law with the Cosine Law when calculating positions for zooming in the FreeAxisInputHandler.
  • Adds worldLength to line3d vertex attributes
  • Bugfix: Fixes crash when calling GetGeographicPositionBelowScreenPoint before the first render call.

Android

  • Changes the random ticker to 200ms.
  • Bugfix: Stop recreating the scene when exiting and leaving the app.
  • Bugfix: Stop crashing when exiting and reentering the app.

Windows

  • Allows casting from VectorGeometryHit to VertexHit and LineHit.

v2.0.ut.1903.gfa8a8f3

Changes since the last build (v2.0.ut.1820.g6db38b0) include:

Altus Core

  • Fix terrain not rendering correctly on Android devices.
  • Auto-calculate vertex and line pixelBufferDistances if they are both 0.
  • Do not trigger hit detection on lines that are behind the Earth.
  • Scale the marker anchorPoint and hitTestSize by the texture size.
  • Fix tile biasing when 3D terrain is used.
  • Stop drawing the grey grid when zoomed out too far.
  • Update GetLocationThatFitPoints to use DeviceScale.
  • Automatically grow LRU cache size if an added resource would exceed the cache size.
  • Account for actual marker resource byte size when added to cache.
  • Render 3D terrain even when zoomed out.
  • Return radians from the object model's Camera::VerticalFOV.
  • Output the terrain height from the DepthTest shader.
  • Change the level requiring high precision from 17 to 15 to accomodate higher terrain.
  • Efficiency improvements in depth sampling.

Android

  • Fixes for memory leak caused by not detaching threads in our ResourceManger implementation on Android. Mostly affected users on Android 6.0.

iOS

  • Added Bitcode support to AltusMappingEngine.framework.

Windows

  • Add the Equals(Object) function to every class so we can use Object.Equals(AltusObject).
  • Add all the new Map subtypes to our subtype specialization.
  • Organized AltusMath comments.

Web

  • Add pauseWhenNotVisible option to prevent off-screen rendering.
  • Add resizeAltusCanvas so Altus can be resized when the canvas is updated.

v2.0.ut.1820.g6db38b0

Friday, July 15, 2021

Changes since the last build (v2.0.ut.1779.g6385e27) include:

iOS

  • Add package and terrain mesh map enums for MEMapInfo map types
  • AltusDemo updated with several new samples.
  • Populate mapType member of the MEMapInfo objects passed back in the array of loaded maps.
  • Add NSCopying protocol support to MEMapInfo object.
  • Add more points to Spirals 3D test.
  • Added MEHit base class to make iteration over hit test arrays be more elegant.
  • Update manual hit testing function to encode hits as new object types.
  • Add tests for new API to AltusDemo.
  • Add new types for 3D polygon hit detection.
  • Update the detectHitsAtPoint funciton to now also reeturn 3D polygon hits.
  • Added example source code to BaseProfileDemo.m in AltusDemo for new hit-testing features.

Windows and Web

  • Add IModelMapDelegate and support model clicking.
  • Add features and API to sample heights at a specific point.
  • Expose GetWorldPositionAtScreenPoint.
  • Expose GetGeographicPositionOfterrainAtScreenPoint.
  • Return vec3d::ZERO in GetWorldPositionOfTerrainAtScreenPoint when not clicking on the terrain.
  • Use the screen point of MouseDown instead of the first MouseMovement when dragging in the FreeAxisInputHandler.
  • Add onMarkersTapped to several AltusWeb demo pages which were broken in the last build.

Windows

  • Add terrain sampling to the WPF sample.
  • Expose GeographicPosition::ToString.

Web

  • Fix RoutePlanning sample.
  • Add server.py (Simple python server) that can run locally and serve up the test pages and JSON using proper mime types and CORS headers.

v2.0.ut.1779.g6385e27

Tuesday, July 05, 2021

Changes since the last build (v2.0.ut.1633.g96d6c17) include:

All Platforms

  • Fix crash when adding a model with a null mesh.
  • Fix tiles disappearing because TileLoaders add an empty tile to the cache when a tile WAS_CANCELLED.
  • Support loading mesh data from JSON files or strings.
  • Fix the normals of the sphere model.
  • Change marker offset handling for hit testing.
  • Fix vector hit detection when clicking outside the Earth.
  • Remove Camera::Transform() and DynamicMarker::Transform() because of name clashes in VB.NET.
  • Update vector line hit logic to address the problem of false positive hits from lines on other side of planet.
  • Fix bug in TesselateRoute where the PointBetween function failed for antipodal coordinates.
  • Fix crash in line hit detection that occurs if a line has been tessellated to only one segment.

iOS

  • Add API for responding to polygon 3d hits. Add sample for demonstrating use of polygon 3d API hit testing.
  • Turn off drop-shadows in polygon styles in BaseDemo polygon style creator logic.
  • Add concentric 3D cylinders to ShapeProfile demo.
  • Add circlular polygon generation function to MEMath.
  • Add new demo infrastructure for profile views.
  • Fix ProfileView crash if initWithScale was not called.
  • Move all @protocol definitions into MEProtocols.h. Remove some old protocol headers that were no longer in the build. Add some documentation for a few protocols that had none. Fix reading the verboseMessagesEnabled flag from METileLoaders that were 'not' MEMapViewControllers. (This was causing a crash in the Combined Profile test in debug mode).
  • AltusDemo: Created PolygonHitTesting demo that demonstrates hit testing of multiple polygons.
  • Add support to iOS for returning a list of markers that a hit-test would test against.
  • Add tests for loading models whose meshes come from JSON files and strings.
  • Implement loading models from JSON on iOS.
  • Added Hexagon.json to AltusDemo on iOS and a test to load it.

Windows

  • Set the timestamp of mouse events so we can do proper click detection.
  • Turn off second Altus window in AltusDemo solution.
  • Make touch input handling much faster.
  • Fix "flickering".
  • Add SetCLContext_OnMainThread so onClick event handlers can create textures and the like.
  • Make the InstancedModel constructor non-trivial.
  • Return null maps.
  • Set CLSCompliant.

Web

  • Fix the anchoring and offsetting of the dialog box in the DynamicMarkers.html test.
  • DynamiMarkers sample updates.
  • Uset updateOffset instead of offset_set per Ian's suggestion.
  • Add several more test cases to the DynamicMarkers sample to try debug the issue a customer is having with marker hit testing not working as expected.
  • Add some sample images for marker rotations and begin adding to DynamicMarker page so that customer can use tech.
  • Add showDiv, hideDiv, showCanvas, hideCanvas.
  • Update all sample pages to load altus using the es6-promise path.
  • Add link to PrintMap sample page.
  • Add a sample to supports printing in FireFox.

Server

  • Update AltusRaster advice for converting images to RGBA when an input file format is not RGBA.

v2.0.ut.1633.g96d6c17

Wednesday, June 01, 2022

Changes since the last build (v2.0.ut.1551.g40d5ffe) include:

All Platforms

  • Fix line hit detection bug that occurred when the doing hit detection on line segments that were shorter than the vector line tessellation threshold.

Web

  • Added DynamicMarkers sample to show to rotate a dynamic marker.
  • Update iOS RoutePlanning demo.

Android

  • Add new API to for setting base map image.
  • Add new API to Android for computing distance between locations.
  • Add white base map test to Android.
  • Add screen scale overlay to Android AltusDemo.

Windows

  • Fix C# VersionTag returning string instead of String^.
  • Update ANGLE DLLs.

v2.0.ut.1551.g40d5ffe

Wednesday, May 11, 2022

Changes since the last build (v2.0.ut.1522.g7583bac) include:

All Platforms

  • Fix dynamic vector line drawing artifact.
  • Fix potential crash in line vertex generation that could occur if a dynamic vector line was submitted with only one point.
  • Remove console output messages when opening opening packages.

Web and Windows

  • Add GetVisibleMarkers API.

Web

  • Add a sample to lists markers that are currently being drawn to test the getVisibleMarkers function.

v2.0.ut.1522.g7583bac

Wednesday, May 04, 2022

v2.0.ut.1522.g7583bac is a minor release coming on the heals of v2.0.ut.1518.ga5f674c with one small fix marker hit testing:

Web and Windows

  • Fix tap recognition

Changes since the last build (v2.0.ut.1442.g2dc1338) include:

All Platforms

  • Add Acknolwedgements.txt to builds and link to build home page.

Web

  • Docs: Fix several broken links in documentation.
  • Docs: Added RoutePlanning2D
  • Input: Do not rotate FreeAxisInputHandler when SetPanEnabled is false.
  • Input: Support multitouch zooming and panning with a custom GestureReceiver.
  • API: Remove the overloaded ZoomIn functions from GestureRecognizer.
  • Platform: Better support for touch and retina screens when running in Safari on iOS devices.
  • Handle the devicePixelRatio on pointer and touch handling so we can run on iOS.

Web and Windows

  • Input: Add multitouch pan rotate zoom to the FreeAxisInputHandler.
  • Fix: Correct marker hit locations on retina displays when using the object model.
  • Fix tap recognition

Windows

  • Networking: Add curl with ssl support on Windows.
  • Samples: Update AltusDemo to pull terrain tiles from our CDN over https.

iOS

  • Input: Improved tap gesture recognizer.
  • Map packages: Add functions necessary to add tiles to a package using spherical mercator z/x/y ids.
  • Map packages: Support multiple MEPackage objects pointed at same backing sqlite database.
  • Map packages: Use disk-based WAL journaling when we write to sqlite databases.
  • Docs: Document the operation of adding a tile to a package and how the underlying package writing operation works.
  • Camera: Add 3D terrain collision support to camera constraint system.
  • Camera: Add CameraConstraint system to support locking camera into a limited area and/or orientation.
  • Terrain: Added new bilinear filtered color-bar controlled terrain rendering from 2-channel (16 bit) PNG terrain height tiles or packages.
  • Samples: Add FieldOfView demo to the AltusDemo sample program.
  • API: Add FOV entries to MEInfo.
  • API: Add portrait and landscape Field Of View properties to iOS MEMapViewController.

All Platforms

  • Core: Add corner geometry to closed polygons to eliminate gaps at the start and end. NOTE: This works for dynamic polygons, but non-dynamic ones may get split up into tiles and no longer connect.
  • Fix: Portrait/landscape field of views were swapped.
  • Fix: DynamicPolygon hit testing for polygons that cross the antimeridian.

v2.0.ut.1518.ga5f674c

Tuesday, May 03, 2022

Changes since the last build (v2.0.ut.1442.g2dc1338) include:

All Platforms

  • Add Acknolwedgements.txt to builds and link to build home page.

Web

  • Docs: Fix several broken links in documentation.
  • Docs: Added RoutePlanning2D
  • Input: Do not rotate FreeAxisInputHandler when SetPanEnabled is false.
  • Input: Support multitouch zooming and panning with a custom GestureReceiver.
  • API: Remove the overloaded ZoomIn functions from GestureRecognizer.
  • Platform: Better support for touch and retina screens when running in Safari on iOS devices.
  • Handle the devicePixelRatio on pointer and touch handling so we can run on iOS.

Web and Windows

  • Input: Add multitouch pan rotate zoom to the FreeAxisInputHandler.
  • Fix: Correct marker hit locations on retina displays when using the object model.

Windows

  • Networking: Add curl with ssl support on Windows.
  • Samples: Update AltusDemo to pull terrain tiles from our CDN over https.

iOS

  • Input: Improved tap gesture recognizer.
  • Map packages: Add functions necessary to add tiles to a package using spherical mercator z/x/y ids.
  • Map packages: Support multiple MEPackage objects pointed at same backing sqlite database.
  • Map packages: Use disk-based WAL journaling when we write to sqlite databases.
  • Docs: Document the operation of adding a tile to a package and how the underlying package writing operation works.
  • Camera: Add 3D terrain collision support to camera constraint system.
  • Camera: Add CameraConstraint system to support locking camera into a limited area and/or orientation.
  • Terrain: Added new bilinear filtered color-bar controlled terrain rendering from 2-channel (16 bit) PNG terrain height tiles or packages.
  • Samples: Add FieldOfView demo to the AltusDemo sample program.
  • API: Add FOV entries to MEInfo.
  • API: Add portrait and landscape Field Of View properties to iOS MEMapViewController.

All Platforms

  • Core: Add corner geometry to closed polygons to eliminate gaps at the start and end. NOTE: This works for dynamic polygons, but non-dynamic ones may get split up into tiles and no longer connect.
  • Fix: Portrait/landscape field of views were swapped.
  • Fix: DynamicPolygon hit testing for polygons that cross the antimeridian.

AltusMappingEngine Documentation v2.0.ut.2153.g60764257e master

COPYRIGHT (C) 2017, BA3, LLC ALL RIGHTS RESERVED