OpenDDS 2.1

(via OpenDDS) (5 February 2010) We are pleased to announce the release of OpenDDS version 2.1! The OpenDDS-Bench performance testing framework has been enhanced to include support for user-submitted performance results. A new monitor library introduces an instrumentation mechanism for reporting OpenDDS runtime information. A new instrumentation application is available to view executing OpenDDS service … Continue reading “OpenDDS 2.1”

It Proved Just Too Difficult

(via an email discussion) VC8 compiler: definition mis-interpreted as a function declaration Posted by Microsoft on 2/6/2007 at 10:06 AM Basically this is a known problem with Visual C++ – we just don’t handle this style of initialization when pointers are involved. I have looked at this issue a couple of times and have always … Continue reading “It Proved Just Too Difficult”

OpenDDS 2.0

(via OpenDDS) Version 2.0 Released We are pleased to announce the release of OpenDDS version 2.0! This is the first release of OpenDDS that conforms to the minimum compliance profile as documented in formal/07-01-01 (version 1.2). Near-complete support for the persistence profile and initial support for the content-subscription profile is also provided in this release. … Continue reading “OpenDDS 2.0”

OpenDDS Version 1.3 Released

(via OpenDDS) Version 1.3 Released We are pleased to announce the release of OpenDDS version 1.3! Improved OMG DDS 1.2 specification conformance: Communication Status entity structures and behaviors Implemented TRANSPORT_PRIORITY and LATENCY_BUDGET QoS Implemented the ReadCondition interface and associated operations on the DataReader Partially implemented the QueryCondition interface — only queries of the form “ORDER … Continue reading “OpenDDS Version 1.3 Released”

LGPL License Option Added to Qt

(LGPL License Option Added to Qt) Espoo, Finland — Nokia today announced that its Qt cross-platform User Interface (UI) and application framework for desktop and embedded platforms will be available under the Lesser General Public License (LGPL) version 2.1 license from the release of Qt 4.5, scheduled for March 2009. Previously, Qt has been made … Continue reading “LGPL License Option Added to Qt”

OpenDDS Version 1.2 Released

(via OpenDDS) Java Bindings for OpenDDS Added the ability for using multiple repositories to provide redundant service metadata management Implemented the WaitSet, GuardCondition, and StatusCondition interfaces from the OMG DDS specification Implemented DomainParticipant::get_current_time() from formal/07-01-01 Removed requirement for repository domain specification files Internal service Entity identifiers have been expanded to 128 bits changes DCPSInfoRepo … Continue reading “OpenDDS Version 1.2 Released”

C++ functions to convert between decimal degrees and degrees, minutes, and seconds

Back when I was developing shiphandling simulator software, I ran into situations where it was necessary to convert decimal degrees to degrees, minutes, and seconds (for example, nautical types like to express latitude/longitude using degrees, minutes, and seconds while computers prefer decimal degrees).

Here's some C++ functions which handle the conversion between these two formats:

std::string DMS::DegreesMinutesSeconds(double ang,
                                       unsigned int num_dec_places = 2)
std::string DMS::DegreesMinutesSecondsLat(double ang,
                                          unsigned int num_dec_places = 2)
std::string DMS::DegreesMinutesSecondsLon(double ang,
                                          unsigned int num_dec_places = 2)

double DMS::DecimalDegrees(const std::string& dms)

These are inline functions defined in the header file, dms.h: