## extInfos

extInfos — give the capability to draw some information near each node.

## Synopsis

    void                extInfosBuild                       (VisuData *dataObj);
    void                extInfosSet_data                    (VisuData *data,
                                                             DataNode *dataNode,
                                                             int *nodes);
    void                extInfosSet_element                 (VisuData *data,
                                                             int *nodes);
    void                extInfosSet_number                  (VisuData *data,
                                                             int *nodes);
    gboolean            extInfosSet_used                    (VisuData *data,
                                                             gboolean status);

    OpenGLExtension*    extInfosInit                        ();

## Description

This part is used to draw some information near the nodes. This information can be the one of a VisuNodeProperty or something else. When read from a VisuNodeProperty, just giving the name will produce the right output. In other cases a print routine must be given.

## Details

### extInfosBuild ()

    void                extInfosBuild                       (VisuData *dataObj);

Build the OpenGL list representing the informations associated to the given `dataObj`. To associate some, use `extInfosSet_number()`, or `extInfosSet_element()` or `extInfosSet_data()`.

`dataObj` : | a VisuData object.

### extInfosSet_data ()

    void                extInfosSet_data                    (VisuData *data,
                                                             DataNode *dataNode,
                                                             int *nodes);

As `extInfosSet_number()`, but draw some informations instead of their numbers. The informations are defined by the `dataNode` argument.

`data` : | a VisuData object ;
`dataNode` : | a DataNode object ;
`nodes` : | an integer list, terminated with a negative number ;

### extInfosSet_element ()

    void                extInfosSet_element                 (VisuData *data,
                                                             int *nodes);

As `extInfosSet_number()`, but draw the names of elements instead of their numbers.

`data` : | a VisuData object ;
`nodes` : | an integer list, terminated with a negative number.

### extInfosSet_number ()

    void                extInfosSet_number                  (VisuData *data,
                                                             int *nodes);

Associate a informations extension to the given `data`. With this extension, some the number of nodes will be drawn on them. Numbers can be drawn and all nodes (set `nodes` to a NULL pointer), or to a restricted list of nodes represented by their numbers. In this case, `nodes` can have whatever length but must be terminated by a negative integer. This array is then owned by the extension and should not be freed.

`data` : | a VisuData object ;
`nodes` : | an integer list, terminated with a negative number.

### extInfosSet_used ()

    gboolean            extInfosSet_used                    (VisuData *data,
                                                             gboolean status);

Change the status of the informations extension.

`data` : | a VisuData object ;
`status` : | a boolean.
Returns : | TRUE if the calling routine should call `visuObjectRedraw()`.

### extInfosInit ()

    OpenGLExtension*    extInfosInit                        ();

Create the extension, it is called by V_Sim on starup and should not used elsewhere.

Returns : | the newly created OpenGLExtension.