## GtkPlotSurface GtkPlotSurface |

## Functions

GtkWidget * | gtk_plot_surface_new ()
GtkWidget * | gtk_plot_surface_new_function ()
void | gtk_plot_surface_construct_function ()
void | gtk_plot_surface_set_color ()
void | gtk_plot_surface_set_shadow ()
void | gtk_plot_surface_set_grid_foreground ()
void | gtk_plot_surface_set_grid_background ()
void | gtk_plot_surface_set_grid_visible ()
gboolean | gtk_plot_surface_get_grid_visible ()
void | gtk_plot_surface_set_mesh_visible ()
gboolean | gtk_plot_surface_get_mesh_visible ()
void | gtk_plot_surface_set_light ()
void | gtk_plot_surface_set_ambient ()
void | gtk_plot_surface_use_height_gradient ()
void | gtk_plot_surface_use_amplitud ()
void | gtk_plot_surface_set_transparent ()
void | gtk_plot_surface_set_points ()
void | gtk_plot_surface_get_points ()
GtkPlotArray * | gtk_plot_surface_set_x ()
GtkPlotArray * | gtk_plot_surface_set_y ()
GtkPlotArray * | gtk_plot_surface_set_z ()
GtkPlotArray * | gtk_plot_surface_set_dx ()
GtkPlotArray * | gtk_plot_surface_set_dy ()
GtkPlotArray * | gtk_plot_surface_set_dz ()
gdouble * | gtk_plot_surface_get_x ()
gdouble * | gtk_plot_surface_get_y ()
gdouble * | gtk_plot_surface_get_z ()
gdouble * | gtk_plot_surface_get_dx ()
gdouble * | gtk_plot_surface_get_dy ()
gdouble * | gtk_plot_surface_get_dz ()
void | gtk_plot_surface_set_nx ()
void | gtk_plot_surface_set_ny ()
gint | gtk_plot_surface_get_nx ()
gint | gtk_plot_surface_get_ny ()
void | gtk_plot_surface_set_xstep ()
void | gtk_plot_surface_set_ystep ()
gdouble | gtk_plot_surface_get_xstep ()
gdouble | gtk_plot_surface_get_ystep ()
void | gtk_plot_surface_build_mesh ()
void | gtk_plot_surface_recalc_nodes ()

## Properties

gdouble | ambient | Read / Write
gpointer | mesh-color | Read / Write
gint | mesh-style | Read / Write
gdouble | mesh-width | Read / Write
gint | nx | Read / Write
gint | ny | Read / Write
gboolean | show-grid | Read / Write
gboolean | show-mesh | Read / Write
gboolean | transparent | Read / Write
gboolean | use-amplitud | Read / Write
gboolean | use-height | Read / Write
gpointer | vector-light | Read / Write
gdouble | xstep | Read / Write
gdouble | ystep | Read / Write

## Types and Values

struct | GtkPlotSurface
struct | GtkPlotPolygon

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkObject
                ╰── GtkWidget
                    ╰── GtkPlotData
                        ╰── GtkPlotSurface
                            ╰── GtkPlotCSurface

## Implemented Interfaces

GtkPlotSurface implements AtkImplementorIface and GtkBuildable.

## Includes

    #include <gtkextra.h>

## Description

FIXME:: need long description

## Functions

### gtk_plot_surface_new ()

    GtkWidget *
    gtk_plot_surface_new (void);

### gtk_plot_surface_new_function ()

    GtkWidget *
    gtk_plot_surface_new_function (GtkPlotFunc3D function);

#### Parameters

function | a GtkPlotFunc3D. | [scope async]

#### Returns

(transfer full) the constructed GtkWidget

### gtk_plot_surface_construct_function ()

    void
    gtk_plot_surface_construct_function (GtkPlotSurface *surface,
                                         GtkPlotFunc3D function);

#### Parameters

function | a GtkPlotFunc3D. | [scope async]

### gtk_plot_surface_set_color ()

    void
    gtk_plot_surface_set_color (GtkPlotSurface *data,
                                GdkColor *color);

### gtk_plot_surface_set_shadow ()

    void
    gtk_plot_surface_set_shadow (GtkPlotSurface *data,
                                 GdkColor *color);

### gtk_plot_surface_set_grid_foreground ()

    void
    gtk_plot_surface_set_grid_foreground (GtkPlotSurface *data,
                                          GdkColor *foreground);

### gtk_plot_surface_set_grid_background ()

    void
    gtk_plot_surface_set_grid_background (GtkPlotSurface *data,
                                          GdkColor *background);

### gtk_plot_surface_set_grid_visible ()

    void
    gtk_plot_surface_set_grid_visible (GtkPlotSurface *data,
                                       gboolean visible);

### gtk_plot_surface_get_grid_visible ()

    gboolean
    gtk_plot_surface_get_grid_visible (GtkPlotSurface *data);

### gtk_plot_surface_set_mesh_visible ()

    void
    gtk_plot_surface_set_mesh_visible (GtkPlotSurface *data,
                                       gboolean visible);

### gtk_plot_surface_get_mesh_visible ()

    gboolean
    gtk_plot_surface_get_mesh_visible (GtkPlotSurface *data);

### gtk_plot_surface_set_light ()

    void
    gtk_plot_surface_set_light (GtkPlotSurface *data,
                                gdouble x,
                                gdouble y,
                                gdouble z);

### gtk_plot_surface_set_ambient ()

    void
    gtk_plot_surface_set_ambient (GtkPlotSurface *data,
                                  gdouble ambient);

### gtk_plot_surface_use_height_gradient ()

    void
    gtk_plot_surface_use_height_gradient (GtkPlotSurface *data,
                                          gboolean use_gradient);

### gtk_plot_surface_use_amplitud ()

    void
    gtk_plot_surface_use_amplitud (GtkPlotSurface *data,
                                   gboolean use_amplitud);

### gtk_plot_surface_set_transparent ()

    void
    gtk_plot_surface_set_transparent (GtkPlotSurface *data,
                                      gboolean transparent);

### gtk_plot_surface_set_points ()

    void
    gtk_plot_surface_set_points (GtkPlotSurface *data,
                                 gdouble *x,
                                 gdouble *y,
                                 gdouble *z,
                                 gdouble *dx,
                                 gdouble *dy,
                                 gdouble *dz,
                                 gint nx,
                                 gint ny);

### gtk_plot_surface_get_points ()

    void
    gtk_plot_surface_get_points (GtkPlotSurface *data,
                                 gdouble **x,
                                 gdouble **y,
                                 gdouble **z,
                                 gdouble **dx,
                                 gdouble **dy,
                                 gdouble **dz,
                                 gint *nx,
                                 gint *ny);

### gtk_plot_surface_set_x ()

    GtkPlotArray *
    gtk_plot_surface_set_x (GtkPlotSurface *data,
                            gdouble *x);

#### Parameters

x | the value to be set |

#### Returns

(transfer none) the affected GtkPlotArray

### gtk_plot_surface_set_y ()

    GtkPlotArray *
    gtk_plot_surface_set_y (GtkPlotSurface *data,
                            gdouble *y);

#### Parameters

y | the value to be set |

#### Returns

(transfer none) the affected GtkPlotArray

### gtk_plot_surface_set_z ()

    GtkPlotArray *
    gtk_plot_surface_set_z (GtkPlotSurface *data,
                            gdouble *z);

#### Parameters

z | the value to be set |

#### Returns

(transfer none) the affected GtkPlotArray

### gtk_plot_surface_set_dx ()

    GtkPlotArray *
    gtk_plot_surface_set_dx (GtkPlotSurface *data,
                             gdouble *dx);

#### Parameters

dx | the value to be set |

#### Returns

(transfer none) the affected GtkPlotArray

### gtk_plot_surface_set_dy ()

    GtkPlotArray *
    gtk_plot_surface_set_dy (GtkPlotSurface *data,
                             gdouble *dy);

#### Parameters

dy | the value to be set |

#### Returns

(transfer none) the affected GtkPlotArray

### gtk_plot_surface_set_dz ()

    GtkPlotArray *
    gtk_plot_surface_set_dz (GtkPlotSurface *data,
                             gdouble *dz);

#### Parameters

dz | the value to be set |

#### Returns

(transfer none) the affected GtkPlotArray

### gtk_plot_surface_get_x ()

    gdouble *
    gtk_plot_surface_get_x (GtkPlotSurface *dataset,
                            gint *nx);

#### Parameters

nx | the value to be set |

### gtk_plot_surface_get_y ()

    gdouble *
    gtk_plot_surface_get_y (GtkPlotSurface *dataset,
                            gint *ny);

### gtk_plot_surface_get_z ()

    gdouble *
    gtk_plot_surface_get_z (GtkPlotSurface *dataset,
                            gint *nx,
                            gint *ny);

### gtk_plot_surface_get_dx ()

    gdouble *
    gtk_plot_surface_get_dx (GtkPlotSurface *dataset);

### gtk_plot_surface_get_dy ()

    gdouble *
    gtk_plot_surface_get_dy (GtkPlotSurface *dataset);

### gtk_plot_surface_get_dz ()

    gdouble *
    gtk_plot_surface_get_dz (GtkPlotSurface *dataset);

### gtk_plot_surface_set_nx ()

    void
    gtk_plot_surface_set_nx (GtkPlotSurface *dataset,
                             gint nx);

### gtk_plot_surface_set_ny ()

    void
    gtk_plot_surface_set_ny (GtkPlotSurface *dataset,
                             gint ny);

### gtk_plot_surface_get_nx ()

    gint
    gtk_plot_surface_get_nx (GtkPlotSurface *dataset);

### gtk_plot_surface_get_ny ()

    gint
    gtk_plot_surface_get_ny (GtkPlotSurface *dataset);

### gtk_plot_surface_set_xstep ()

    void
    gtk_plot_surface_set_xstep (GtkPlotSurface *dataset,
                                gdouble xstep);

### gtk_plot_surface_set_ystep ()

    void
    gtk_plot_surface_set_ystep (GtkPlotSurface *dataset,
                                gdouble ystep);

### gtk_plot_surface_get_xstep ()

    gdouble
    gtk_plot_surface_get_xstep (GtkPlotSurface *dataset);

### gtk_plot_surface_get_ystep ()

    gdouble
    gtk_plot_surface_get_ystep (GtkPlotSurface *dataset);

### gtk_plot_surface_build_mesh ()

    void
    gtk_plot_surface_build_mesh (GtkPlotSurface *surface);

### gtk_plot_surface_recalc_nodes ()

    void
    gtk_plot_surface_recalc_nodes (GtkPlotSurface *surface);

## Types and Values

### struct GtkPlotSurface

    struct GtkPlotSurface;

The GtkPlotSurface struct contains only private data. It should only be accessed through the functions described below.

### struct GtkPlotPolygon

    struct GtkPlotPolygon {
      GtkPlotDTtriangle *t;  		/* parent triangle */
      GtkPlotVector xyz[4]; 		/* points */
      GtkPlotVector p[4];			/* pixels */
      gint n;				/* number of points */
      gdouble level;
      gboolean cut_level;
      gboolean sublevel;
    };

## Property Details

### The `“ambient”` property

      “ambient”                  gdouble

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“mesh-color”` property

      “mesh-color”               gpointer

Flags: Read / Write

### The `“mesh-style”` property

      “mesh-style”               gint

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“mesh-width”` property

      “mesh-width”               gdouble

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“nx”` property

      “nx”                       gint

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“ny”` property

      “ny”                       gint

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“show-grid”` property

      “show-grid”                gboolean

Flags: Read / Write

Default value: FALSE

### The `“show-mesh”` property

      “show-mesh”                gboolean

Flags: Read / Write

Default value: FALSE

### The `“transparent”` property

      “transparent”              gboolean

Flags: Read / Write

Default value: FALSE

### The `“use-amplitud”` property

      “use-amplitud”             gboolean

Flags: Read / Write

Default value: FALSE

### The `“use-height”` property

      “use-height”               gboolean

Flags: Read / Write

Default value: TRUE

### The `“vector-light”` property

      “vector-light”             gpointer

Flags: Read / Write

### The `“xstep”` property

      “xstep”                    gdouble

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“ystep”` property

      “ystep”                    gdouble

Flags: Read / Write

Allowed values: >= 0

Default value: 0