## panelPlanes

panelPlanes —

## Synopsis

    enum        PanelPlanesColumnId;
    gboolean    panelPlanesApply_hidingScheme   (VisuData *data);
    gboolean    panelPlanesLoad_file            (VisuData *dataObj,
                                                 gchar *filename,
                                                 GError **error);
    gboolean    panelPlanesSet_use              (VisuData *dataObj,
                                                 gboolean value);
    GtkListStore* panelPlanesGet_listStore      ();

## Description

## Details

### enum PanelPlanesColumnId

    typedef enum
      {
        COLUMN_PLANE_DRAWN,
        COLUMN_PLANE_LABEL,
        COLUMN_PLANE_HIDE_IS_ON,
        COLUMN_PLANE_HIDDEN_SIDE,
        COLUMN_PLANE_COLOR_PIXBUF,
        COLUMN_PLANE_POINTER,
        N_COLUMN_PLANE
      } PanelPlanesColumnId;

Thesse are the description of the columns stored in the GtkListStore of this panel. See `panelPlanesGet_listStore()` to access this liststore.

`COLUMN_PLANE_DRAWN` | a boolean, code if the plane is drawn or not.
`COLUMN_PLANE_LABEL` | a string, the description of the plane (normal vector and distance to origin).
`COLUMN_PLANE_HIDE_IS_ON` | a boolean, code if the plane hide elements on one side.
`COLUMN_PLANE_HIDDEN_SIDE` | a boolean, code for the side.
`COLUMN_PLANE_COLOR_PIXBUF` | a pixbuf, a small colored square.
`COLUMN_PLANE_POINTER` | the pointer to the Plane object.
`N_COLUMN_PLANE` | the number of columns.

### panelPlanesApply_hidingScheme ()

    gboolean    panelPlanesApply_hidingScheme   (VisuData *data);

Use this method to hide nodes according to current list of planes and hiding policy.

`data` : | a VisuData object to associate the planes to (required to compute the intersection with the bounding box) ;
Returns : | TRUE if `visuData_createAllNodes()` should be called and the redraw signal emitted.

### panelPlanesLoad_file ()

    gboolean    panelPlanesLoad_file            (VisuData *dataObj,
                                                 gchar *filename,
                                                 GError **error);

This method is used to parse and load an XML file containing planes informations. The panel must have been initialised before calling this method. The `error` argument is required (can't be NULL), since it is set if something went wrong.

`dataObj` : | a VisuData object to associate the planes to (required to compute the intersection with the bounding box) ;
`filename` : | the path to the file to load ;
`error` : | a pointer to a GError handler to reccord possible failure.
Returns : | TRUE if `panelPlanesApply_hidingScheme()`.

### panelPlanesSet_use ()

    gboolean    panelPlanesSet_use              (VisuData *dataObj,
                                                 gboolean value);

When `value` is TRUE, the planes are used and drawn. If the panel has not been created yet, a call to this function will do it.

`dataObj` : | a VisuData object to associate the planes to (required to compute the intersection with the bounding box) ;
`value` : | a boolean.
Returns : | TRUE if the status of the planes has been changed by this method.

### panelPlanesGet_listStore ()

    GtkListStore* panelPlanesGet_listStore      ();

This method gives read access to the GtkListStore used to store the planes.

Returns : | the GtkListStore used by this panel to store its planes. It should be considered read-only.