Libgvectors

Libgvectors is a C++ library for visualizing mathematical vectors. It provides three fundamental classes for achieving its purpose:

GVector
A class representing a three dimensional vector and providing fundamental operations for vector arithmetic.
VisualVector
Visualizes a GVector. It provides methods for projecting three dimensional vectors on a two dimensional plane.
VectorStore
Used to store and retrieve visual vectors in a hierarchical manner. It provides proxy methods to certain VisualVector methods used to draw vectors on a screen.

Additionally, it provides an interface to save and load a vector store to and from file.

Libgvectors makes as little as possible assumptions about the graphics library used to draw vectors on a screen and is not bound to any particular graphics library.

Refer to http://www.guengel.ch/myapps/gvectors for an implementation using libgvectors, gtkmm, and cairomm.

Licensing

The software is licensed under the GNU General Public License version 2 or later. See the COPYING file accompanying the tarball.

Supported Platforms

libgvectors can be built under Sun(TM) Solaris(TM) version 10 or later, FreeBSD, and Linux.

Optional libraries

libgfileio
If you want to save and load a vector store to and from a binary file, the libgfileio library is required.

The library can be obtained by pointing your browser to http://www.guengel.ch/myapps/libgfileio.

libxml++
If you want to be able to save and load a vector store to and from a XML file, the libxml++ library is required. Libgvectors supports the libxml++ API version 1.0 and 2.14.

The library can be obtained by pointing your browser to http://libxmlplusplus.sourceforge.net.

Installation

The usual

$ ./configure ; make ; make install
sequence. See the INSTALL file accompanying the tarball for further details.

Compilation and Linking

There are three ways to do this:

Manually
Use the '-I', '-L', and '-l' flags of the compiler, for instance
$ cc -I/usr/local/include/gvectors -L/usr/local/lib -lgvectors example.cc
pkg-config
Libgvectors comes with a package config file (.pc). You could type for instance
$ cc `pkg-config --cflags --libs libgvectors` example.cc
Autoconf/Automake
If you are using autoconf/automake for your project, then add to your configure.ac file
PKG_CHECK_MODULES(SOMEAPP, libgvectors >= 0.1)
AC_SUBST(SOMEAPP_CFLAGS)
AC_SUBST(SOMEAPP_LIBS)
$Id: index.shtml 2629 2009-08-09 08:52:05Z rafi $