June 14th 2000 vhclmaps-0.7.5 - add Ctrl-Z and Shift-Z shortcuts to the zoom command used in any 2d map viewer. - make printing as well as PostScript export work for a MapIdrawComp - make the dialog box for the utm distance tool stay-up between uses, and get updated with distance compute when the tool selected and each new vector is drawn. - fix configure script so that it works with --with-proj argument - fix include file for ace_dispatcher.h in src/demviewer/main.c to - Now when you run "make" with no arguments, the first time through it does the same thing as "make World", so everything gets built automatically. - changes to configure.in to fix PROJ library finding. - change parent of MapKit from OverlayKit to FrameKit. - setup a command interpreter in the texteditor at the bottom of the vhclviewer screen. - more specific "points" command to return points from map feature components in the viewer as well. - simulation time view added to frame state bar in the vhclviewer user interface. - add a MapFiles::valid() (the base class of the MapDatabase/MapLibrary/MapCoverage/MapFClass/MapFeature hierarchy) which is by default true, but any subclass can clear if they have problem constructing themselves. - fix segfault that occurs when the pathnames and names for a Vpf database (library/coverage/feature-class) are not incorrect. - fix problem with Vpf database that has a negative (or outrageously large) edge_id in the first row of a face table. - fix problems with Vpf databases that use "id" for a feature table, instead of a col name that embeds the feature table name in it. - migrate a generic one-shot latlon-to-utm method from MapFeatureScript to MapProjection (void MapProjection::to_utm(double &fx, double &fy)). - fix up problem with determining the number of features in a tiled vpf feature class. - find all the other places where a simple "id" is now used for the first column name. - migrate the utmviewer points command to mapserv, remove any viewer dependencies, make it work for MapFeatureComp's (as well as MapRouteComp's), and add a :utm flag to allow for conversion from latlon to utm on the fly when generating point lists for use in the interpreter. - migrate to consistent use of ComValue::object_compview() mechanism. - suppress output of multi-frame objects in a mapserv document. - reorganize inclusion of commands into a utmviewer command interpreter to ensure MapPointsFunc is what the point command resolves to, and GrDotFunc is what "." resolves to. - change the use of symbol-table based class ids to be consistent with ivtools, i.e. when a feature class is returned on the stack in mapserv you see "MapFClassComp" printed out, or in vhclserv when you construct a vehicle you see "VehicleComp". The "Comp" lets you know the object is derived from OverlayComp/GraphicComp/Component, and it is wrapped up in a ComponentView (which means it can be integrated into a viewer). - evolve the Vehicle and CompositeVehicle classes so that any move/jump/turn done to the composite vehicle is implemented by moving/jumping/turning the individual vehicles. - ability to rotate composite vehicles in a vhclserv or derivative program - utmzone func added to projserv, uses MapProjection::utmzone. - missing #include of in LosServ/losfunc.c - add utmtogeo and geotoutm commands to projserv - migrate commands for utmtogeo(), geotoutm(), and utmzone() from projserv to mapserv, making them accessible from more layers of vhclmaps. - more composite vehicle work, automating the rotating of the group of vehicles when heading changes. - remove Edit and Struct menu from utmviewer and all derivatives. There is a fundamental limitation with the implementation of MapFeatureComp that disables commands like Duplicate and Group. Originally for reasons of efficiency, the map feature component did not have a graphic, but a MapFeature object instead. This problem could be fixed by introducing a mostly empty Graphic placeholder in the map feature component. - improve the composite vehicle object to rotate them as needed when the direction vector changes. - add a routedist command to compute the total distance of a set of waypoints. - reinstates UTMPos tool in utmviewer. - adapts to ivtools FrameEditor changes. - don't bother to rotate a sub-vehicle which is co-located with the centroid of the composite vehicle. It will end up at Infinity. - fix bug in utmviewer "moveview" command, because of change to ComValue::geta that made it return a Component* instead of a ComponentView*. - group page-related commands into a new View submenu on the map viewers. - "changeview" is a new utmviewer command for replacing the composite graphic (the OverlaysComp/Picture) associated with a variable in the interpreter: compview=changeview(compview drawtoolstr) -- change composite graphic associated with a vehicle"; } - add MapViewer methods to set and get magnification limits (::SetMagLimits and ::GetMagLimits). Defaults are 1./512 on the low end, 512. on the high end. - fix up the the config and imake (Imakefile) files to better locate the include file and library file for PROJ-4.3.3. Before it required installation under /usr/local - disambiguate a call to ComTerp::run in MapServ/mapfunc.c - upgrades to smoothly compile on RedHat 6.2 January 31st 2000 vhclmaps-0.7.4 Vehicle Framework Evolution: * derive an ACE Service Handler and a connection Acceptor to provide a vehicle position service in a format compatible with GPSD. Create the acceptor as an option on VehicleComp when given a port number. Main ACE trick was to get the Service Handler's parent Acceptor using the "mod_" pointer so the pointer to the VehicleComp could be stored in the Acceptor and be used by multiple Service Handlers -- I think this is right, but all these diffs are untested as of now, sorry. Initial support is for lat lon, z and speed. Also, the CreateVhclFunc now takes a :gpsdport argument and uses it as the port number when creating the VehicleComp. If the VehicleComp is also used to draw vehicles on the map (duh) then it would also make sense to hang a GpsdConnector under it to obtain its position ala GPSD. Kind of cool that it could do both in and out of the position information, I think. Miscellaneous and Config Changes: * change include files to use AceDispatch/ace* instead of Dispatch/ace*. * remove references MapServ references from VpfUnidraw and DlgUnidraw. * use a definition of IvtoolsVersion which gets pulled in from ../include/ivstd/version. This gets rid of the need to manually set the latest ivtools version number, and removes the assumption that versions of ivtools and vhclmaps have to be strictly aligned. Now if you can build vhclmaps with the latest ivtools, that should be good enough. * add --enable-install-subdir to ./configure script, to facilitate installing in lib/vhclmaps and bin/vhclmaps subdirectories. * fix src/scripts/mkdirhier.sh to work with newer mkdir that doesn't accept multiple command line arguments. * temporarily "#if 0" the body of DemLosFunc::execute, to work-around a compiler bug in egcs-1.0.2. A better workaround is buried on a disk that has no computer at the moment. June 14th 1999 vhclmaps-0.7.3 Library Changes -- Vpf -- * remove unnecessary code including a section that could cause memory problems with VPF features. Note how the pointers were given twice to a primitive/topo object, first with a true freeflag and secondly without one defaulting to false.troustrup handy -- MapUnidraw -- * add a MapFClassComp::AdjustBaseDir method, so relative pathnames get transformed to absolute pathnames when saving a map document out to a different directory. * make a set of MapInspectTool methods static (::FindInList, ::FindInFCView, ::FindFeature) so they can be leveraged elsewhere. Interestingly enough, they had been ready to go static all along, and it only required changing the .h file. -- MapServ -- * restrict the size of various ComTerpServ buffers to only 1K (instead of the new default of 1M). These are the interpreters used in MapServ/mapfunc.c to do attribute expression evalauation, etc.. -- VpfUnidraw -- * add last_tileid mechanims to VpfTiledFeatureClass, to allow it to pose a single tile feature class. -- ProjServ -- * make the exportfc command of projserv work on a VpfTiledFeatureClass loaded by loadvpffc, by using the ::last_tileid method (to get at the _last_tileid member variable). * get cliprect working as well for feature classes loaded by loadvpffcc from a tiled vmap0 vpf database. Miscellaneous and Config Changes * fix-up the ./configure script support for the PROJ library. * change the "About" message to point to vhclmaps web page. * add a SIGPIPE handler to projserv, which ignores it. May 3rd 1999 vhclmaps-0.7.2 Map Viewer and Map Viewer Framework Changes * disable the automatic recentering of a map viewer when a vehicles moves offscreen. To better enable multi-vehicle display. * make a UTM Distance tool. Interpreter and Interpreter Framework Changes * add a utmtoscreen command, for converting screen coordinates to current UTM coordinates in a map viewer with integrated command interpreter. * add documentation for rteview, vhclview, and vhclmove commands (commands invoked on the viewer by a possibly remote vhclserv). * add documentation for the mapviewstate command, a command for remote setting of a map viewers state used for displaying map features. * change the default speed used in playing a route from a viewer from 30 km/hr to 15 km/hr. * change the moveview command to automatically determine the vehicle heading when none is specified. Required adding a historical x,y,z delta to the Vehicle object. * add a command for directly setting the vehicle direction (vhcldir). * add :x, :y, and :z arguments to the vhclloc command, to return a subset of the entire triplet. * add a route printing command. * add a :quiet flag to the simtime command. Miscellaneous and Config Changes * improve the Los Imakefile to find the X includes directory. * fix a recently introduced problem with relative install of shared libraries. April 16th 1999 vhclmaps-0.7.1 Map Viewer and Library Changes * add a vpfviewer tool (and underlying command) to select vpf tiles by geo coordinates, and a command that clears the tile selection list. * add a pointer-tracking state variable to utmviewer, with display in UTM coordinates. * removes the UtmPosTool from utmviewer. * add back in the UtmPlayRouteCmd in projviewer for the time being. Interpreter Changes * create a projserv to go along with the ProjServ library. * migrate the implementation of the interpreter commands load100kdlgfc and loadvpffc from VpfUnidraw and DlgUnidraw (where they weren't getting used by vpfviewer and dlgviewer) to ProjServ (where they get used by projserv). * add a func to return a list of tile ids for a tiled VPF library given a geo rectangle. This sample command in projviewer results in the following: vpftileidsbygeo("/xtra1/vmap0noamer/vmaplv0" "noamer" -74.0 16.0 -66.0 19.0) 281 282 * add a :utm argument to loadvpffc, so that the default is to load features in lat/lon. Config Changes * adds PROJ support to the configure script * adds support for uninstall make target. * set up to link in clippoly and ACE libraries only where needed. * restore mapserv as the slim interpreter, with support for only the generic map format of vhclmaps, and make projserv the fat interpreter with support for native VPF and DLG map feature components. At the same time change the build order so that vpfviewer and dlgviewer build before MapServ/mapserv, because they make no use of the interpreter mechanism. projviewer is now the viewer for that. March 24th 1999 vhclmaps-0.7 * New release that combines ivmaps-0.6 and vhclserv-0.3. * configure script support. See INSTALL file. * fat mapserv linked by default with support for loadvpffc and load100kdlgfc.