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:


C++ Functions to Evaluate Chebyshev Polynomials

Here’s some C++ functions which evaluate Chebyshev polynomials: Chebyshev Polynomials of the first kind: T0(x):     template <class T> T T0(const T& x); T1(x):     template <class T> T T1(const T& x); T2(x):     template <class T> T T2(const T& x); Tn(x):     template <class T> T Tn(unsigned int n, const T& x); Chebyshev Polynomials of the second kind: … Continue reading “C++ Functions to Evaluate Chebyshev Polynomials”


OpenDDS: OpenDDS is an open source C++ implementation of the Object Management Group (OMG) Data Distribution Service (DDS). OpenDDS leverages the Adaptive Communication Environment (ACE) to provide a cross platform environment. OpenDDS is supported by Object Computing, Inc. Download OpenDDS here.

X Windows Programming in C++: Part I

Years ago, I did quite a bit X Windows programming. When I started developing X Windows software, I was also learning C++ (this was a long time ago). Unfortunately , the X Windows system I was developing software for did not have a C++ compiler. This led to some frustration since using C++ would have made some of my tasks easier.

A fews years later, I worked on another project using X and Motif. It was mandated that this software be written in C leading to same frustration I experience when I first started learning X (by this time I was a seasoned C++ developer, so writing anything in C seemed like a step backward).

I’ve decided to revisit X Windows programming on my own for a few reasons:

  • I’m a little rusty when it comes to X Windows programming.

  • I want to use X in a project I’ve been contemplating for the past few years.

  • I’m currently working on Microsoft Windows C++/C# project at work and I want to do some non-Microsoft programming on my own.

My first step in getting back into X Windows programming was to revist the book, Xlib Programming Manual, Rel. 5. The examples in this book are written in C (Kerninghan and Ritchie C, no less). One of these examples, basicwin.c, demonstrates the fundementals of programming with the X library. I figure coming up with a C++ version of basicwin.c would be a useful learning experience for myself and possibly others.

I’ll start out by taking pieces of basicwin.c and converting them to C++. I’ll start with following code fragments showing the use of the structures: XSizeHints, XWMHints, and XClassHint.