(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 dcps_ts.pl changes DCPSInfoRepo … Continue reading “OpenDDS Version 1.2 Released”
Category: C++
OpenDDS Version 1.1 Released
(via OpenDDS) More QoS features have been implemented dispose() notifications have been added Added IPv6 support Improved memory management Multicast transport improvements Implemented Changeable QoS policies Use multiple DCPSInfoRepos Documentation updates New tests and examples See the Release Notes for details.
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:
(more...)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: 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 III
Continuing with our task of creating a C++ version of basicwin.c, we next look at XCreateSimpleWindow. Here’s some code snippets from basicwin.c showing the use of XCreateSimpleWindow:
(more…)X Windows Programming in C++: Part II
Continuing with our task of creating a C++ version of basicwin.c, we next look at XOpenDisplay / XCloseDisplay. Here’s some code snippets from basicwin.c showing the use of these functions:
(more…)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.
(more…)C++ Functions to Evaluate Legendre Polynomials
Here’s some C++ functions which evaluate Legendre polynomials:
P0(x):
double P0(double x) ;
P1(x):
double P1(double x) ;
P2(x):
double P2(double x) ;
Pn(x):
double Pn(unsigned int n, double x) ;
These are inline functions defined in the header file, legendre.h:
(more…)An Interview Question
Here’s some code stolen from The Daily WTF: ushort GetAsciiValue (uchar ch) { ushort i; for (i=0; i<=255; i++) { if(ch == i) return i; } return 0; } It might be interesting to show this code to a candidate for a C/C++ position. Ask him/her if there is anything wrong with this code, and … Continue reading “An Interview Question”