How do I get started ?
Where can I get help ?
Where do I report bugs ?
What if a certain class doesn't do what I want it to do ?
Why can't I load my Image ?
Xemacs Support for RAVL ?
A note about namespaces

How do I get started

First follow the instructions: how to write a simple program in RAVL .

Once you have set your build alias and PROJECT_OUT, you should be able to compile and run some of the example programs. The following list shows some examples which you may find interesting.

Many more examples can be found in the class documentation

Where can I get help ?

Knowing where to find help could save your valuable time. For the most up to date documentation, you should use the local documentation which is built against the current source code. The SourceForge RAVL manual contains documentation which was fixed to the last major release (VERY OLD); hence this manual may differ from the classes in our nightly build.

Where do I report bugs ?

Users outside the University of Surrey: Problems can be posted on the SourceForge bug tracker .

University of Surrey users: In the first instance, report bugs and other problems to the Software Manager.

What if a certain class doesn't do what I want it to do ?

If a particular class that you are using does not have a feature that you require, you can submit a feature request . If the request is feasible, someone will deal with it quickly or advise you on how to implement this featue.

Common Mistakes For Beginners

Why can't I load my Image ?

RAVL has a new Image IO mechanism. It will be possible to compile and run your program, but image IO will not work unless you have included the relevant libraries. Most image IO can be handled with the RavlImageIO . More complex formats may require RavlExtImageIO . More details on Image IO can be found here

A Note about namespaces

In RAVL, every class is contained within a namespace (in RAVL, all namespaces end with the letter N). This allows better orgainisation of the class hierarchy. The documentation for each class will show which namespace that class is contained in. For example, the core classes are contained in RavlN. In order to use a class in RavlN, like the StringC class, it either has to be qualified using :: notation.

      RavlN::StringC mystring ("this is my string") 

Or the namespace can be 'opened' to save qualifying every class, this is better for frequently used namespaces.

using namespace RavlN ;
StringC mystring("this is my string") ;
StringC another ("this is another string") ;

Bill Christmas
Last modified: Fri Dec 05 17:17:53 BST 2014