## isolines

isolines — handle the drawing and the computation of isolines.

## Synopsis

    gboolean            isolineBuild                        (Line **isoline,
                                                             SurfacesPoints *points,
                                                             guint valOffset,
                                                             gint visibilityOffset,
                                                             double isoValue);
    void                isolineDraw                         (Line *line,
                                                             float rgb[3]);
    void                isolineFree                         (Line *line);

## Description

Reading a SurfacesPoints object, it is possible to compute isolines and draw them. A isoline is known by a list a couple of vertices to draw lines. Currently, there is no detection of equivalent points like in Surfaces, but it is not very relevant since the lines are relatively small compared to surfaces.

## Details

### isolineBuild ()

    gboolean            isolineBuild                        (Line **isoline,
                                                             SurfacesPoints *points,
                                                             guint valOffset,
                                                             gint visibilityOffset,
                                                             double isoValue);

Create on the fly an isoline from the structure points. If the lines are created, `isoline` will be allocated and should be freed with `isolineFree()` after use.

`isoline` : | the lines to be computed ;
`points` : | the surface to compute isoline from ;
`valOffset` : | the offset to apply to the data of `points` to read the scalarfield values ;
`visibilityOffset` : | the offset to apply to the data of `points` to read if the vertex is hidden or not ;
`isoValue` : | the value of the computed isoline.
Returns : | TRUE if the isoline is created.

### isolineDraw ()

    void                isolineDraw                         (Line *line,
                                                             float rgb[3]);

Call the OpenGL routine that will draw this line.

`line` : | a set of points forming a line.
`rgb` : | a colour.

### isolineFree ()

    void                isolineFree                         (Line *line);

Free the line object.

`line` : | a set of lines.