## axes axes — Defines methods to draw axes. |

## Synopsis

    #define             EXT_AXES_ID

    void                axesDraw                            (VisuData *dataObj);
    int                 axesGet_areOn                       ();
    float*              axesGet_RGBvalues                   ();
    guint16             axesGet_lineStipple                 ();
    gboolean            axesSet_lineStipple                 (guint16 stipple);
    float               axesGet_lineWidth                   ();
    gboolean            axesSet_RGBValues                   (float rgb[3],
                                                             int mask);
    gboolean            axesSet_areOn                       (gboolean value);
    gboolean            axesSet_lineWidth                   (float width);

    OpenGLExtension*    initExtensionAxes                   ();

## Description

The axes are the X, Y and Z lines drawn on the bottom right of the screen defining a given orthogonal basis set in which the box is projected.

The axis may be different, depending on the rendering method currently used. For instance, when the spin is used, a projection of the colour scheme is added to the simple lines of the basis set. Besides that, axes are defined by their width (see `axesSet_lineWidth()`) and their colour (see `axesSet_RGBValues()`).

## Details

### EXT_AXES_ID

    #define EXT_AXES_ID "Axes"

The id used to identify this extension, see `OpenGLExtensionRebuild_list()` for instance.

### axesDraw ()

    void                axesDraw                            (VisuData *dataObj);

This method create a compile list that draw a box for the given `data`.

`dataObj` : | the VisuData object to build axes for.

### axesGet_areOn ()

    int                 axesGet_areOn                       ();

Read if axes are drawn or not.

Returns : | 1 if axes are drawn, 0 otherwise.

### axesGet_RGBvalues ()

    float*              axesGet_RGBvalues                   ();

Read all the colour components of axes (in [0;1]).

Returns : | three RGB values, private from V_Sim, read only.

### axesGet_lineStipple ()

    guint16             axesGet_lineStipple                 ();

Read the line pattern used to draw axes.

Returns : | the value of current axes pattern.

### axesSet_lineStipple ()

    gboolean            axesSet_lineStipple                 (guint16 stipple);

Method used to change the value of the parameter axes_line_stipple.

`stipple` : | value of the desired pattern.
Returns : | TRUE if `axesDraw()` should be called and then 'OpenGLAskForReDraw' signal be emitted.

### axesGet_lineWidth ()

    float               axesGet_lineWidth                   ();

Read the line width used to draw axes.

Returns : | the value of current axes width.

### axesSet_RGBValues ()

    gboolean            axesSet_RGBValues                   (float rgb[3],
                                                             int mask);

Method used to change the value of the parameter axes_color.

`rgb` : | a three floats array with values (0 <= values <= 1) for the red, the green and the blue color. Only values specified by the mask are really relevant.
`mask` : | use MASK_RGB_R, MASK_RGB_G, MASK_RGB_B, MASK_RGB_ALL or a combinaison to indicate what values in the rgb array must be taken into account.
Returns : | TRUE if `axesDraw()` should be called and then 'OpenGLAskForReDraw' signal be emitted.

### axesSet_areOn ()

    gboolean            axesSet_areOn                       (gboolean value);

Method used to change the value of the parameter axes_are_on.

`value` : | TRUE if axes must be drawn, FALSE otherwise.
Returns : | TRUE if `axesDraw()` should be called. In all cases, 'OpenGLAskForReDraw' signal should then be emitted.

### axesSet_lineWidth ()

    gboolean            axesSet_lineWidth                   (float width);

Method used to change the value of the parameter axes_line_width.

`width` : | value of the desired axe width.
Returns : | TRUE if `axesDraw()` should be called and then 'OpenGLAskForReDraw' signal be emitted.

### initExtensionAxes ()

    OpenGLExtension*    initExtensionAxes                   ();

It initialises all variables of the OpenGL extension. It creates all resources and parameters introduced by this extension. This method should be added in the listInitExtensionFunc to be called automatically by the `initOpenGLExtensions()` at V_Sim startup.

Returns : | a pointer to the OpenGLExtension it created or NULL otherwise.