VTP Development Log
For changes since August 2015, see
all commits on
- Enviro: Improve selection of abstract features.
Add URL as default field on point features.
Add popup menu for URL.
- VTBuilder: Enable GMS elevation import.
- VTBuilder: Update documentation of Dymax textures.
(yes, there is a 2-year gap here without development)
- removed ancient "Nevada" test/demo code
- more error-checking on the first time we parse an XML file
- fix ColorMap::GenerateColorTable to be re-callable (fixes Enviro's
elevation legend colors), other tweaks
- Enviro: smoother orientation of the camera marker on the overview
- Enviro/vtlib: Roads: attempt to use a non-pavement texture for road
intersections where the surrounding links are non-pavement.
- VTBuilder: improve Road Clean to ask for epsilon and clean link points
within that distance
- Remove direct usage of netCDF library; we now call GDAL for those files
instead, which works when GDAL has been built with netCDF support enabled.
- VTBuilder: Tin Layer Properties: Show 2D and 3D area
- vtlib: in SurfaceTexture::MakeDerivedTexture, check colormap before
calling MakeColorMap, to respect vtTerrain::SetTextureColorMap
- vtlib: fix vtTerrainScene::BuildTerrain to call all the CreateStep
- added vtTest to zip script
- moved config_vtdata.h include from QuikGrid.cpp to QuikGrid.h
- Changed CMake options to be prefixed with VTP_
- Minor compilation fixes to optional code
- VTBuilder standalone installer should include VTP\Data\GeoTypical folder
- vtlib: fix ocean texture clamping
- vtlib: fix Elastic to support terrains using tileset elevation
- Enviro: fix ephemeris dialog to not keep adding skydome images each time
- vtlib: Safety checks for abstract layers that don't load.
- vtdata: Extend MakeRelativeToDataPath to handle subfolders of any data
- Enviro and VTBuilder: also fall back on ../Data/ if vtp.xml was found,
but was empty.
- VTBuilder: fix crash on Utility layer saving, other tweaks.
- Enviro: drag-and-drop import of Image Layers.
- Mac build fixes: Remove OSX-specific conflicting declarations of math
functions, add ElevError.h to vtdata cmakefile
- vtlib: Disable transform flattening on model load for now; some things
like vehicles need the transforms intact.
- VTBuilder: Don't try to make any default buildings if we can't find the
standard ones - this avoids a crash on bad datapath.
- Enviro: Respect locale in default time value in
- Fix mouse events in wxSimple.
- vtui: fix StatePlane dialog which had wrong IDs for OK/Cancel
- xmlhelper: fix a leak that readXML was not entirely closing files, which
caused trouble after 512 files had been opened.
- Changes to support older wxWidgets (before 2.9)
- Linux fixes.
- Enviro and VTBuilder: do a better job of providing good default options
if the options files aren't found.
- VTBuilder: safety checks to avoid crashes even in case of invalid image
- VTBuilder: Utility layers: fixed size of pole markers, added
- vtlib: fixed facade textures to repeat upwards (not clamp)
- vtlib: fixed drape of abstracts on tilesets.
- Enviro: safety check to avoid crash on layers w/o filenames.
- Enviro: fix toggle of primary surface (F3) to work with TIN surface.
- vtlib: fix texture overlays to respect the texture units that may be
used by TIN textures.
- vtlib: don't clamp textures on earthglobe since that causes visible
- Mac fixes.
- VTBuilder: Catch more cases of error reporting on GDAL import.
- vtdata/vtlib: Store road width in memory as a left and right width
- VTBuilder: draw a center for roads with more than one lane, so you can
see how left and right are different widths.
- vtdata: Buildings: got rid of another global s_Conv by putting it on the
stack and passing it down.
- vtdata: added DRECT::SetInsideOut (useful for gathering extents), made
- vtdata: Code cleanup: renamed vtLocalConversion to LocalCS and made its
member naming consistent.
- VTBuilder: prevent crash on import of compressed-RGB .db file.
- vtlib: fix ability of vtTin3d to have both a colormap _and_ a geotypical
- VTBuilder/vtdata: fix offset of linear structures and utility poles.
- apps: log VTP_VERSION in debug.txt
- VTBuilder: fixed drop-in import of a .zip file containing .hdr and .tif
(example was from SRTM-V4)
- VTBuilder: add Elev export to auto-scaled Unity-style .raw files.
- vtlib: Building3d: avoid crashing when trying to make a Felkel roof from
a degenerate polygon. Instead, just fall back on making a flat roof.
- vtdata: Add scoped_ptr, and a handy use for it as ScopedOCTransform so
we don't have to manually delete OCTransforms.
- vtlib: avoid potential crash by checking for when a roadmap is really
badly off the terrain.
- vtdata: Fix vtHeightFieldGrid3d::ColorDibFromTable to always use true
- vtdata: added vtTin::GetTriangleNormal
- vtdata: added MakeRelativeToDataPath
- vtlib: add progress callback on vtTin3d::Read
- VTBuilder: added command "Create Layer from Arithmetic" which replaces
the older "Create Difference Layer" with a more general capability,
including a ElevMathDlg to specify the two layers and the operation (+/-) to
- Enviro: fix bug: Save Terrain State saved 0 as flight speed if you were
not in navigate at that time.
- Enviro: support adding Elevation layers at runtime.
- Enviro: support removing Elevation layers.
- Enviro: add View: Vertical Measure Line, to show the elevation of each
- vtdata: made vtTin::FindAltitudeAtPoint actually provide a normal when
it is asked for it.
- vtui: Added a second argument to OpenProgressDialog, for more
opportunities to give info to the user.
- VTBuilder: Improve layer open/import to intelligently handle native and
non-native files, failed loads and user cancels.
- vtdata: Added vtElevError and used it extensively through ElevationGrid
for much better error reporting.
- vtui: Don't show ProgressDialog until it has a non-zero value
(smoother user experience).
- VTBuilder: fix MB in message displayed for elevation grid too large to
allocate. vtdata: add progress callback on vtTin reader.
- vtlib: More work on new TIN materials: they are largely working now. We
no longer use vertex colors, we use a 1D texture for height colormap. Added
SetTexture1D and SetTexGen1D methods to vtMaterial.
- Enviro: Smoother progress during terrain creation (3 new steps).
- Many Mac build fixes.
- vtlib: Worked on TINs, texture from color, moved ColorMap table
functionality down into ColorMap itself because we now use it in more than
one place. Made vtTin3d (finally!) use the terrain parameters choice of
- Enviro: Continued work on major re-arrangement of the Terrain Properties
dialogs. Split out a new TinTextureDlg. Fixes to TIN picking speed.
- More work on Enviro/vtlib elevation layers, vtlib doc improvements,
added doc graph of the top of the vtTerrain scenegraph.
- vtlib: factored the terrain texture code out of vtTerrain into a new
class SurfaceTexture. All textures (if shaded) now retain an unshaded copy.
- vtlib: Cleanup: removed unused TexGen argument from AddTextureMaterial.
- vtlib: began to incorporate multitexture support directly into
vtMaterial, and vtMaterial::SetTexGen.
- Enviro: exposed "geotypical texture" option in TParamsDlg.
- vtlib: Change terrain layers to all have properties (vtTagArray), new
Point layers inherit projection from the terrain, added EarthExtents()
methods to the FeatureSet classes, move LineOnSurface method from Terrain to
Heightfield, add TransformInPlace functions, re-architect vtAbstractLayer to
not need a terrain pointer, add vtTerrain::EstimateGroundSpacingAtPoint,
more AddSurfaceLineToMesh to vtGeomFactory, move functionality into
vtMultiTexture class, begin to add vtElevLayer in vtlib
- Enviro: Removed the "texture overlay" option from abstract layers; it
was not a good approach.
- Moved shared locale code to new module vtui/LocaleApp.cpp
- VTBuilder: improve Grid-to-TIN to omit NODATA areas.
- VTBuilder: fixed the (10-year-old!) bug that caused elevation layers to
shift when zoomed in.
- Extend VTP's road datamodel to support parking left/right and sidewalk
left/right instead of just yes/no.
- VTBuilder: OSM Import: support the parking:lane, sidewalk, and oneway
values. Support powerlines, as Utility layers, savable to .osm.
- Enviro: allow drag-drop-in of vtst and vf files.
- replace vector.data() with &vector.front() to support older compilers.
- Enviro: Abstract layers: added "LabelOutline" option for text labels.
- Enviro: Terrain params dialog: made Abstract/Image layers GUI vertical,
to better fit long paths.
- VTBuilder: improved "Raw: clean geometry" to remove polygons/polylines
with not enough vertices.
- Enviro: Layer Dialog: display the id/name for buildings (if they have
- Enviro: Layer Dialog: Support 'activate' (double-click, enter) on
structures as a shortcut for Zoom-To.
- OSM Import: Import id as a tag for every structure.
- Enviro: re-arrange options dialog to not be so tall.
- Enviro/vtlib: improved highlights on selected buildings to fit the
building, instead of just a bounding sphere.
- Updated VTBuilder documentation.
- Buildings: improvements to Building dialog and Copy Styles, to handle
- OSM import: support fence_type.
- Roads: add a visual for gravel paths.
- VTBuilder: OSM: import name and url/website values for buildings.
- Enviro: Abstracts: Fix text labels colored from field.
- vtdata: fixed writing tag values to VTST files to use XML-escaped
- vtdata: fix crash on trying to report an XML error while reading VTST.
- vtlib: fix crash on roads with >6 lanes.
- CManager: fix Tag dialog OK/Cancel buttons. Add behavior tag.
- Big refresh on the Enviro documentation.
- vtlib: Cleanup: Removed old "ExtendStructure" mechanism, replaced it
with OnCreate/OnDeleteBehavior, with a wind turbine as an example.
- Enviro: Create a structure layer if none exists when entering Instances
mode. Adjusted some tooltips on layer dialog for accuracy.
- Enviro: add toolbar button for Ephemeris. Remove "OSG" from window
- Enviro: add popup menu for buildings: Set Eaves to length.
- VTBuilder: support OSM building:part tags
- VTBuilder: speed up structure layers slightly by drawing boxes instead
of circles for building footprints
- vtdata: fix minor memleak in material descriptors
- Enviro: fixed toggling visibility of image layers.
- VTBuilder: OSM Import: ignore tunnels, log bad buildings, do a better
job of interpreting building heights.
- Building code: cleanup, small fixes, improve vtBuilding::CopyFromDefault
to copy edge features.
- VTBuilder: extend elevation carving to support buildings as well as
- VTBuilder: extend tiling MatchDlg from maximum tile size 2048 to 4096.
- all: Call Shapefiles "Shapefiles" consistently.
- Cleanup: Increase usage of IPoint2 for bitmap size. Improve vtui doc.
- Moved FileFilters.h to vtdata so it can shared by applications.
Centralized all file filters to use FileFilters.h
- Enviro: fixed deselect of all plants on click, fixed activating veg
layer on plant click, added loading of veg layers at runtime.
- Enviro: supporting deleting veg layers.
- VTBuilder: remove 'cancel' from a dialog where it doesn't do anything.
- VTBuilder: Added Special: Flip Elevation.
- VTBuilder: OSM import: fixed extra vertex on building footprints
- VTBuilder: fix road-elevation flattening to ignore roads that are partly
off the grid.
- VTBuilder/vtdata: add support for writing float elevation grids to float
- VTBuilder: moved/renamed menu "flatten grid under roads" to "carve grid
with culture"; improved the carving algorithm to use a weighted contribution
of each road
- vtdata: fixed issue with roof height which breaks when a local CRS is
not set up, by adding a link on each building up to the CRS of its
vtStructureArray; this is an important step away from using globals.
- VTBuilder: when importing a TIF of type Float32 or Int16, don't try
loading it as an image before importing it as elevation.
- VTBuilder: show millimeters in extent dialog.
- vtdata: extend OHD detection of USGS DEMs to include UTM DEMs.
- Enviro: fix bug in adding instances (they were added twice) then trying
to delete them.
<release 1.4 (130101), SVN revision 7730>
- I18n improvements: handle status message in two parts (translated and
untranslated), update Italian .po, fix whitespace in terrain dialog
- Fixed ability of apps to find their local documentation in the MSVC
- Enviro: Fix the appearance of toolbar icons in the Layer dialog.
- Docs: Tidy the app documentation HTML to all point to the same CSS file.
Made all the doc HTML conformant. Added the missing bitmaps from the Enviro
toolbar documentation. Update the VTBuilder documentation to match the
latest naming of the Sampling commands.
- VTBuilder: added command Raw: Convert polylines to polygons.
- VTBuilder: Contour generation: made it more robust and added logging.
- VTBuilder, Fix handling of empty polys in
- vtdata: Tweak USGS DEM reader to add in LocalDatumElevation to try to
handle another non-standard DEM, sigh
- vtdata: Add flag to DLine2::RemoveDegeneratePoints and
DLine2::RemoveColinearPoints to indicate whether the polyline is closed or
- I18n: brought in the .po files which used to be maintained outside SVN,
they are better to have under source control. Added scripts to automate po
processing. Tweaked some strings to make i18n happier. Updated .po
files with latest .pot
- VTBuilder: permit picking of raw features of 2D polylines, support for
picking non-points in the feature info dialog, refresh view when a
highlighted item is deleted in the feature info dialog
- VTBuilder: Support alpha values when sampling imagery from out-of-core
to a tileset, and in WriteElevationTileset.
- VTBuilder: Further improvement of unclear sampling terminology removing
"optimized" and "merge".
- VTBuilder: Removed the "to tileset" option from the regular Area
Sampling dialogs, as it is inefficient and already available from the
- Cleanup: renamed ResampleDlg to the more informative SampleElevationDlg
- vtlib: Tidy up call to libmini's updateroi
- VTBuilder: Fix import of layers, which broke in a recent code cleanup.
- VTBuilder: speed up progress callback in elev tileset sampling, tidy
some menu method naming, fix vtElevationGrid::VertOffset so that height
extents are updated, log raster type on elev GDAL import.
- Cleanup: add DRECT::Offset, lots more usage of const, use vector objects
for vtHeightFieldGrid3d size and spacing, better usage of GetSpacing.
- Cleanup: shorten method names since 'TilePyramids' just means 'Tileset'
- Cleanup: moved ColorMap from HeightField.cpp to its own file
- Enviro: track when layers are modified (for correctly asking on exit).
- Enviro: put a translucent strip on the Elastic line when making
structures, for better clarity.
- Enviro/vtlib: Re-did structure material descriptors so that we aren't
limited to a fixed palette of 216 color shades per colorable material.
- Enviro: when a user clicks to add plants or structures, ensure a layer
of the appropriate type is active.
- Add vtdata/LayerBase.h to share basic layer functionality between vtlib
- Cleanup: more replacing vtArray with modern std::vector, other tidying.
- Cleanup: rename some usages of 'PlantList' which are actually
- Cleanup: remove OLD_OSG_SHADOWS
- Cleanup: remove Engine.SetTarget, split vtTerrain::AddSurfaceLineToMesh
to make LineOnSurface.
- Cleanup: use strings instead of pointers to strings for material names.
I've long since forgotten why we had to use pointers for that years ago.
- Cleanup: prefer  to .GetAt(), use vtString::Replace as appropriate,
- Cleanup: put MaterialDescriptor classes in their own file
- vtlib: Cleanup: removed the 1( and 2( from a lot of methods; the reason
for the numbers went away years ago.
- Enviro: Fix visibility setting of vegetation layers to work with
non-shader plants as well
- Enviro: Navigation: Fix the Velocity flyer be useful by setting Damping
factor (typically 1 to 10), and exposing it in the terrain parameters and
- Enviro: Navigation: Make the mouse scroll wheel fly forwards/backwards
on the standard (vtFlyer) and velocity flyers, with Shift key to accelerate.
- Cleanup: Rename 'canvas' module to EnviroCanvas for consistency
- Enviro: Made the UI for making linear structures cleaner, rational and
sharing functionality with making buildings.
- Enviro: Support pressing "Esc" to cancel making any linear or building.
- Cleanup: renamed all methods called 'Empty' with something less
ambiguous: 'SetToZero' for numeric objects, and 'Clear' for containers
(analogous to STL's 'clear')
- Cleanup: replace some usage of old vtArray with modern std::vector
- Enviro: Add confirmation on exit, whether closed by Esc key, Quit menu,
or Close box.
- Enviro/vtlib: Made vegetation a full layer type, so you can have more
than one of them per terrain.
- Enviro: Reduce flashing in layer dialog by caching icon/text.
- Sped up some elevation/dib operations by reducing the rate of progress
- Removed old "tristrips" terrain property.
- Enviro: added more initialization steps for smoother progress reporting.
- Enviro: Fixed camera position when switching between terrains.
- Enviro: Made Layer dialog default to visible.
- Enviro: change layout of terrain params dialog: put Structures on its
own tab, other tweaks.
- Enviro: Add support for anti-aliasing (multisampling), exposed in global
- Improved how GraphicsWindow is made with
- VTBuilder: Improve how it treats species files:
- 1. When the user opens a species file, use the location of the
default file in the open dialog, so they only have to press "OK" in most
- 2. If the user tries to load a plant file, and there are no species
yet, ask them if they want to automatically load the default species,
rather than just fail.
- Enviro: Fixed mouse handling (which was preventing the compass grab from
- VTBuilder: show progress dialog during OSM import
- VTBuilder: When editing road points, highlight the point under the mouse
with a circle
- VTBuilder: always mark layers as modified when they've been reprojected
- Improvements to OSM import including better road topology.
- Moved highway/paved/dirt logic from RMF reader to vtRoadMap3d
- VTBuilder: Instance Dialog: added update of coordinates from mouse
- VTBuilder and Enviro: add 'Create' button for manually adding instances
at a given location.
- Enviro: Right-click popup menu commands to copy/paste building style,
still somewhat rough.
- VTBuilder: moved OSM import from RoadMapIO to new module ImportOSM,
preparing to support reading multiple layers types from it
- VTBuilder: fix coordinate transformation of linear structures in
- VTBuilder: Support drag-and-drop import of files which can produce
multiple layers (NTF, OSM)
- vtdata: Much cleanup of the old RoadMap code. Simplified, made it more
- Began reading structures (buildings and linears) from OSM.
- VTBuilder: Fix flipped drawing of Image layers for WIN32, removed old
ECW from RenderDlg.
- Enviro: fix the LOD dialog up/down spin control
- Enviro: LOD dialog: Hide the tileset status if our current terrain has
- Enviro: Support toggling Ocean Plane after a terrain is created. Remove
old "Artificial horizon" option which wasn't very sensible or useful.
- Enviro: Emphem dialog: Increase Fog range from 10-50k to 50-80k
- CManager: Save models to any of OSG's supported model output formats,
including the new extensible formats (.osgb, .osgt)
- removed old "SOG" experimental code
- VTBuilder: Fix blitting of images on Windows; re-enabled DIBSECTIONS and
avoid strange dark effect on scaling down bitmaps that happened with
- Enviro: fix crash when globe textures failed to load
- CManager: Add toolbar button to cycle through OSG stats
- VTBuilder: Fix hang on trying to import a .dbf file
<release 1.3 (121210), SVN revision 7655>
- vtlib: added GroupLOD, which is a simplified LOD node that also supports
a global distance
- vtlib: added PlantCell for efficient culling/LOD of the shader plants
- Enviro: Expose "Use Shaders for Plants" option in Enviro gui / TParams,
also speed up prog dlg for old plants
- vtlib: rename vtlib/core/Trees to Plants3d, for consistency with vtdata
and Building3d, Fence3d, etc.
- vtlib: begin work on Shaders for plants (by adapting code from the
- Enviro: small cleanup to keyboard commands, add a doc page for them
- VTBuilder: fix upside-down elevation: wx2.9.x and USE_DIBSECTIONS draws
upside-down bitmaps. Until it's figured out, disable DIBSECTIONS for newer
- VTBuilder: fix problem with Idle and ProgressDialog
- vtlib: Extra error checking in loading Globe textures
- VTBuilder: rename "merge and resample" commands to just "sample", which
is more simple and clear.
- Enviro: Fix support for SpaceNavigator by initializing it later
- vtlib: much code tidying, add convenience method to vtStructure3d
- VTBuilder: fix SampleImageryToTilePyramids to close texture window on
- VTBuilder: fix redraw of other windows while progress dialog is open.
- VTBuilder: rename Helper.cpp file to (more relevant) ImageGLCanvas.cpp
- Added uint and uchar typedefs for smaller source, better readability
- update wxLog override for wxWidgets 2.9.x, enable it to be verbose for
- comments: rename wxWindows to wxWidgets (this should have happened in
- VTBuilder: add export of TIN to DXF.
- vtdata: fix DXF reader to report correct line numbers for parsing
errors, handle EOL better.
- BobMaX code contribution: add TIN read from PLY. add TIN write to PLY,
DAE, WRL, OBJ.
- BobMaX code contribution: expose more TIN import/export in the VTBuilder
- BobMaX code contribution: fix PlayToDiskEngine by using
- Enviro: Tidy HUD message text so it isn't created until needed.
- vtlib: outline text by default.
- vtlib: use text AutoRotateToScreen by default, which lets us simplify
code in CManager and terrain BillboardEngine which aren't needed now.
- Scene graph dialog: Fix a bug/limitation by replacing FromAscii with
<release 1.2 (121113), SVN revision 7618>
- Moved methods to GraphicsWindowWX.cpp.
- Made VISUAL_IMPACT_CALCULATOR optional.
- Fixed SkyDome bug when then sun texture fails to load.
- Bump overall version to 1.2.
- Numerous code updates to support wxWidgets 2.9.x
- added vtTest: a small application to visually test vtlib
- SR: fix name of libMini to search for with cmake, on windows we search
for "libMini", on linux we search for "Mini" because the lib prefix is added
- RJ: Visual Impact Calculator (CVisualImpactCalculatorOSG,
- SR: find opengl package for vtbuilder since we need s3tc compression via
the opengl driver
- SR: Cleaned up the handling of OpenGL link dependencies
- SR: Update minidata to handle db data that is compressed with zlib
- RJ: Add support for wxJoystick on all platforms
- RJ: Added vtTemporaryGraphicsContext class to vtlib/core.
- RJ: Modified TextureUnitManager and SaveImageOSG to use the above class.
- RJ: Made "Save High Resolution Snapshot" available on all platforms in
- Added Enviro::ImportModelFromKML to support drag-n-drop of 3D Warehouse
models into Enviro.
- Renamed FileExists to vtFileExists to avoid an obscure conflict.
- Added wx/CMakeLists.txt, vtui/bitmaps/* and wxosg to the source zip,
tweak installer to use OSG 3.0.1
- RJ: numerous fixes for Max OSX build
<release 1.1 (110804), SVN revision 7570>
- Enviro: Exposed support for stereo modes HORIZONTAL_SPLIT and
- RJ: Added very rudimentary install and packaging support to the CMake
build system. The build files will now have an INSTALL target. Added an
option USE_CPACK which will add a PACKAGE target if it is switched on.
- vtui: Fixed Distance dialog Line/Path radio buttons (fbp issue)
- VTBuilder: implemented command Elevation: Generate Contours.
- Fixed the fltkSimple example application.
- Enviro: Changed 'Move' mode to use Alt modifier key for up/down, to be
consistent to 'Select and Move' mode.
<release 1.09 (110727), SVN revision 7556>
- Enviro: Added 'every N meters' option to Contour dialog, making it
significantly more useful.
- Enviro: When showing the Style dialog for a new Line layer, show the
Line geometry panel first.
- vtlib: Fixed draping of 2D polylines (such as contours) on terrain with
- all apps: Fixed all dialogs to make the 'OK' button default, not the
- Enviro: Began work on code-level docs. Removed SpecificTerrain and other
- Enviro: Moved MapOverviewEngine to vtlib. Moved TerrainPicker and
GlobePicker to vtlib/core/PickEngines.
<release 1.08 (110723), SVN revision 7539>
- vtdata: More work on vtFeatureSetPolygon's FixGeometry and SelectBadFeatures,
- Exposed them in VTBuilder as Raw: Clean polygon geometry and Raw: Select
- vtdata: fix very minor memleak in Triangulate.cpp
- Enviro: fixed TParamsDlg to make 'OK' the default button, not 'Cancel'.
- VTBuilder: Draw polygon holes as dotted lines to tell them from outer
- renamed StartOfFilename (taking wxString) to StartOfFilenameWX to avoid
Mac compiler ambiguity (and prepare for wx 3.x)
<release 1.07 (110717), SVN revision 7539>
- Fixed support for geographic CRS in vtBuilding::DetermineLocalFootprints
(adopt scale from the global conversion); the symptom was "swollen" 3D
buildings with slightly wrong scale
- RJ: Fix for saving high resolution snapshots
- RJ: Fix for Enviro save snapshot in multi-threading environment.
- Moved LogCatcher to vtui.
- Made SUPPORT_WSTRING=0 build (at least on Windows).
- Fixed the rotation in vtLoadModel (again, sigh).
- vtdata: in vtElevationGrid::FillGaps, replaced new/delete arrays with
std::vector, which solves a potential memory leak on early exit from the
<release 1.05 (110708), SVN revision 7530>
- CManager: Add menu command "Model: Fix normals (apply smoothing)"
- vtdata: added vtTin::AppendFrom, and accessors.
- VTBuilder: renamed Layer Flatten to Layer Combine. Added support for
combining TIN layers.
- vtdata: added vtTin::WriteGMS
- VTBuilder: added support for exporting TIN as GMS
- vtlib: Fixed lighting (materials) by turning LIGHTING ON, which solves
the problem that CManager was rendering everything white.
- Enviro and CManager: replaced .wrl with .dae in GUI for supported file
- RJ: vtlib: Added support for using OpenGL buffer objects. Turned off by
- RJ: Use glGetIntegerv(GL_MAX_TEXTURE_UNITS) directly to establish number
of fixed pipeline texture units available.
- RJ: Added logging of the OSG threading model being using.
- Display the version number in Enviro's startup dialog.
<release 1.03 (110705), SVN revision 7520>
- Enviro: Fixed removing layers from a terrain, and removing layers which
contained structures that were off the terrain
- Enviro: Smooth continuous update when making buildings.
- Enviro: Added option to constrain building point to right angles. Try to
prevent user from entering degenerate building points.
- Enviro: Removed old mfcEnviro code.
- vtlib: Added class ElasticPolyline
- RJ: prepare GraphicsWindowWX for OSG 3.0 support
- Enviro: added global options to enable joystick and spacenavigator,
rather than just always using them if present.
<release 1.01 (110703), SVN revision 7515>
- RJ: Added build option AVOID_OSG_INDICES. This ensures that fast paths
are always used when rendering.
- Fixed single-loaded-texture in vtTerrain.
- Removed old-style '4x4 textures' from vtTerrain and from the GUI.
- Removed vtImageRead. Replaced most usage of vtImage with osg::Image,
- Removed vtOverlappedTiledBitmap and vtOverlappedTiledImage.
- Removed parts of vtDynTerrainGeom that did 4x4 textures.
- Changed Enviro shortcut for reshade terrain to Ctrl+H.
- Removed vtScene::DrawFrameRateChart.
- Added TransformStaticVisitor and use it on every loaded model, to ensure
that Optimizer::FLATTEN_STATIC_TRANSFORMS will succeed.
- Added vtdata/Version.h to synchronize the 'version' shown in each
application's About box. Bump version to 1.01.
- Fixed vtLoadModel to correctly apply Z/Y flip.
- Fixed ApplyVertexTransform to actually work.
- CManager: added command to fix ambient materials (which are frequently
too dark) by scaling them from diffuse.
- Added vtTransform::Scale which takes 1 argument for when you don't need
to set 3.
- Fixed SRTerrain to handle elevation grids with non-unit vertical scale.
- Quick fix for Enviro::OnMouse not being called.
- Show version '1.0' in About boxes.
<release 1.0 (110701), SVN revision 7506>
- Various fixes for Mac OSX build (SR)
- Major clean up of old build files (RJ)
- remove some '#pragma comment lib', which are now handled by CMake
- VTBuilder: added menu command 'Add Feature from WKT' (only does
- CManager: made it work on Linux
- CManager: fix to handle models with no LOD distance
- CManager: enable 'x'-key OSG stats for (also in Enviro and other wx-based
- wxosg: moved the shared canvas functionality of Enviro/wxSimple/CManager
(and several dialog classes) to a new library 'wxosg', for things that
depend on both wxWidgets and vtlib/OSG.
- Enviro: Made default 3D cursor thinner and consistently colored (turned
- Enviro: moved CarEngine and Vehicles modules to vtlib/core.
- Enviro: Added DriveDlg; it is clunky but it's a start
- Linux build fixes. Tidying up bitmap resources.
- Removed usage of 'using namespace osg'
- Re-enabled i18n in the wxFormBuilder files
- Fixed the upload scripts to use sftp
- Renamed the doxygen files to 'Doxyfile' so that doxygen finds them
- VTBuilder: also look on ../../.. for Data; that's one place it might
be if you used CMake on Linux
- vtlib: added GetRootState(), change SetGlobalWireframe to use it
- Enviro: made the layer view dockable (as a panel, not a dialog)
- Enviro/CManager: extended the SceneGraphDlg to handle more types of
node, and added option to output the scene graph as a .dot file
- VTBuilder added command: Elevation: Compute Difference Layer
- Created a new simple vtlib demo application (called Simple) which uses
osgViewer so it doesn't depend on any application framework
- Enviro: extend -elev command line argument to handle either BT or ITF,
and provide usable defaults for deriving color from grid
- all: add new fence style which uses hog wire
- VTBuilder: added command 'write species to HTML', which is only useful
to the person updating the VTP website with the plant library.
- Enviro/vtlib: support colorable textured materials with transparency
- vtlib: renamed some methods to be more OSG-like
- vtlib: avoid repeated calls to vtImageRead for structure materials
- vtlib: more refcounting and better containers to reduce manual deletion
- vtlib: removed almost all the storage overhead in vtMesh so it is now
just a set of convenience methods on osg::Geometry
- vtlib: renamed CustomTerrain to BruteTerrain, removed older unused
- vtlib: support 3d polyline abstract layers with a different CRS than the
- Enviro: terrain parameter dialog: fixed abstracts/images to expand with
- Enviro: terrain parameter dialog: allow abstract features from anywhere,
not just data path.
- VTBuilder: fix display of materials in Linear Structures dialog
- vtlib: fix buildings to sit on scaled terrain height
- vtlib: began some very extensive cleanup of the interface between vtlib and
OSG, and other cleanup:
- changed vtMaterial, vtMesh, vtTextMesh, vtImage to use osg's simple
reference counting instead of the older "Release()" mechanism
- removed support for scene graph libraries other than OSG
- removed "Base" classes
- replaced usage of vtFont with osgText::Font
11.05.14 - 11.06.08
- Migrated from using wxDesigner for the GUIs (.wdr files) to the
more free wxFormBuilder (.fbp files)
- Significant simplification/reorganization of vtlib: removed all
ports except OSG, removed most of the abstraction layer between vtlib and
- Many improvements to the CMake build system.
- vtlib: avoid libMini tileset crashes with osgViewer changes, by
enforcing "single" threaded OSG
- vtlib: allow elevation path to be a URL (for the new experimental
'external' terrain support)
- Enviro: add -elev=file command-line argument to allow Enviro to function
as a simple TIN viewer.
- vtlib: allow absolute elevation paths in vtTerrain.
- vtosg: Change TextureUnitManager to use its own osg::GraphicsContext
- vtlib: fix SpaceNav logging (on Windows) to not falsely claim it found a
- vtlib: fix small memleak (no engines were deleted because root pointer
was getting wiped)
- vtosg: Merged GraphicsWindowWX.cpp into GraphicsWindowWX.h and removed
GraphicsWindow.cpp, updated wxSimple and GLUTSimple to work with osgViewer
- VTBuilder: made 'Generate Grid from 3D Points' a cancellable operation
- VTBuilder/vtdata: add support for WMS servers which need SERVICE=WMS to
clarify what to serve
- VTBuilder/vtdata: Improve.tin reader (vtTin::ReadGMS) to handle more
variations of the "GMS" (now Aquaveo) TIN format
- vtdata: add 2D picking of closest point on a 3D polyline
- VTBuilder: clarify RawLayer "scale" command to scale horizontally
- VTBuilder: add commands to scale and offset vertically (for 3D raw
- VTBuilder/vtdata: improve raw point import from CSV to support CR as end
of line (in addition to LF and CR-LF)
- vtlib: RJ external-surface-work-in-progress branch revisions 7319 to
7352 back in trunk; not quite ready for use yet
- VTBuilder: Fix support for compressed image tilesets with alpha values
(Stefan: explicitly nailed internal texture compression format down to dxt1,
otherwise we may end up with DXT3 internal format that is not supported by
- VTBuilder: improve WMS dialog to accept server URLs that already have
"GetCapabilities" in them
<release 110123, SVN revision 7338>
- VTBuilder: avoid making all elevation sticky during a single sampling
- VTBuilder: always free triangle bins when a TIN's data is cleared
- VTBuilder: added 'batch conversion of elevation' to Special menu
- VTBuilder: fixed significant memleak in creating TIN from 3d points.
- VTBuilder: support for paging TINs at sample time
- vtdata: version 2 of ITF format adds extents (backwards compatible)
- Enviro/vtlib: safety check to keep contour generation from overrunning
memory on very large terrain e.g. tilesets
- VTBuilder: Speed up vtElevationGrid::FillGaps significantly by filling
both horizontally and vertically
- VTBuilder: Mark TINs as modified when their CRS changes
- VTBuilder: New drawing option to draw TINs simplified (just their
- VTBuilder: Show size in memory for TIN layer properties
- vtdata: Allow ITF files to load even if they lack a CRS
- VTBuilder: add error checking on paging in BT files
- VTBuilder: fix case of bitmap being unnecessarily allocated for
out-of-core elevation layers
- VTBuilder: improve cancel logic in SampleElevationToTilePyramids
- VTBuilder: increase open file limit to 2048 on Windows
- vtConvert: add options to convert a whole directory
- vtdata: add -32767 as a NODATA value on GDAL elevation import
- Moved up to libpng 1.5.0
- VTBuilder: assume MapInfo files of unknown type should be loaded as Raw
- vtosg: More work on the experimental OSG Viewer support.
- Upated to use the non-deprecated version of wxGLCanvas (support for the
old one is going in the next version of wxWidgets).
- vtosg: began adding experimental support for the osgViewer class
- Enviro: initial integration of NVPerfSDK
- vtdata: improve compatibility with libpng 1.4
- build: Updates and bug fixes to the CMake build files to allow building
on Unix like systems.
- build: improve Makefiles: enable separate include dirs and libs for
squish and quikgrid, remove unnecessary linkage. on MacOS X: fix linkage
with quikgrid when enabled.
- VTBuilder: support ".enzi" as alternate name for .xyz files
- VTBuilder: support drag-n-drop of xyz/enzi files
- VTBuilder: Avoid problem with European decimal punctuation in WMS
- default SUPPORT_CURL to 1
- numerous tweaks to improve compilation with gcc, including reducing
- vtlib: support 3dconnexion SpaceNav with x64 windows
Older Changes: 2009 2008 2007
2005 2004 2003
2002 2001 2000