Loading...
Searching...
No Matches
draw.c File Reference

Nviz library – Draw map objects to GLX context. More...

`#include <grass/nviz.h>`
Include dependency graph for nviz/draw.c:

Go to the source code of this file.

## Macros

#define | GL_CLAMP_TO_EDGE 0x812F

## Functions

int | Nviz_draw_all_surf (nv_data *dc)
| Draw all loaded surfaces.
int | Nviz_draw_all_vect (void)
| Draw all loaded vector sets (lines).
int | Nviz_draw_all_site (void)
| Draw all loaded vector point sets.
int | Nviz_draw_all_vol (void)
| Draw all loaded volume sets.
int | Nviz_draw_all (nv_data *data)
| Draw all map objects (in full resolution) and decorations.
int | Nviz_draw_quick (nv_data *data, int draw_mode)
| Draw all surfaces in wireframe (quick mode).
int | Nviz_load_image (GLubyte *image_data, int width, int height, int alpha)
| Load image into texture.
void | Nviz_set_2D (int width, int height)
| Set ortho view for drawing images.
void | Nviz_draw_image (int x, int y, int width, int height, int texture_id)
| Draw image as texture.
void | Nviz_del_texture (int texture_id)
| Delete texture.
void | Nviz_get_max_texture (int *size)
| Get maximum texture size.

## Detailed Description

Nviz library – Draw map objects to GLX context.

Based on visualization/nviz/src/draw.c and visualization/nviz/src/togl_flythrough.c

(C) 2008, 2010-2011 by the GRASS Development Team This program is free software under the GNU General Public License (>=v2). Read the file COPYING that comes with GRASS for details.

Author
  Updated/modified by Martin Landa <landa.martin gmail.com> (Google SoC 2008/2010)
  Textures by Anna Kratochvilova

Definition in file nviz/draw.c.

## Macro Definition Documentation

## GL_CLAMP_TO_EDGE

#define GL_CLAMP_TO_EDGE 0x812F

Definition at line 20 of file nviz/draw.c.

Referenced by Nviz_load_image().

## Function Documentation

## Nviz_del_texture()

void Nviz_del_texture | ( | int | texture_id | ) |

Delete texture.

Parameters

  texture_id | texture id

Definition at line 408 of file nviz/draw.c.

References t.

## Nviz_draw_all()

int Nviz_draw_all | ( | nv_data * | data | ) |

Draw all map objects (in full resolution) and decorations.

Parameters

  data | nviz data

Definition at line 204 of file nviz/draw.c.

References GS_clear(), GS_done_draw(), GS_draw_fringe(), GS_ready_draw(), GS_set_draw(), gsd_north_arrow(), gsd_scalebar_v2(), Nviz_draw_all_site(), Nviz_draw_all_surf(), Nviz_draw_all_vect(), and Nviz_draw_all_vol().

## Nviz_draw_all_site()

int Nviz_draw_all_site | ( | void |  | ) |

Draw all loaded vector point sets.

Returns
  1

Definition at line 146 of file nviz/draw.c.

References G_free(), GP_draw_site(), GP_get_site_list(), GS_done_draw(), GS_ready_draw(), and GS_set_draw().

Referenced by Nviz_draw_all().

## Nviz_draw_all_surf()

int Nviz_draw_all_surf | ( | nv_data * | dc | ) |

Draw all loaded surfaces.

Parameters

  dc | nviz data

Returns
  1

Definition at line 32 of file nviz/draw.c.

References G_free(), GS_draw_cplane_fence(), GS_draw_surf(), GS_get_surf_list(), GS_setlight_position(), and x.

Referenced by Nviz_draw_all().

## Nviz_draw_all_vect()

int Nviz_draw_all_vect | ( | void |  | ) |

Draw all loaded vector sets (lines).

Returns
  1

Definition at line 121 of file nviz/draw.c.

References GS_done_draw(), GS_ready_draw(), GS_set_draw(), and GV_alldraw_vect().

Referenced by Nviz_draw_all().

## Nviz_draw_all_vol()

int Nviz_draw_all_vol | ( | void |  | ) |

Draw all loaded volume sets.

Returns
  1

Definition at line 175 of file nviz/draw.c.

References G_free(), GS_done_draw(), GS_ready_draw(), GS_set_draw(), GVL_draw_vol(), and GVL_get_vol_list().

Referenced by Nviz_draw_all().

## Nviz_draw_image()

void Nviz_draw_image | ( | int | x,
|  | int | y,
|  | int | width,
|  | int | height,
|  | int | texture_id )

Draw image as texture.

Parameters

  x,y | image coordinates
  width,height | image size
  texture_id | texture id

Definition at line 379 of file nviz/draw.c.

References GS_done_draw(), GS_set_draw(), and x.

## Nviz_draw_quick()

int Nviz_draw_quick | ( | nv_data * | data,
|  | int | draw_mode )

Draw all surfaces in wireframe (quick mode).

Draw modes:

- DRAW_QUICK_SURFACE
- DRAW_QUICK_VLINES
- DRAW_QUICK_VPOINTS
- DRAW_QUICK_VOLUME

Parameters

  data | nviz data
  draw_mode | draw mode

Returns
  1

Definition at line 281 of file nviz/draw.c.

References GP_alldraw_site(), GS_alldraw_wire(), GS_clear(), GS_done_draw(), GS_ready_draw(), GS_set_draw(), GV_alldraw_vect(), and GVL_alldraw_wire().

## Nviz_get_max_texture()

void Nviz_get_max_texture | ( | int * | size | ) |

Get maximum texture size.

Definition at line 420 of file nviz/draw.c.

## Nviz_load_image()

int Nviz_load_image | ( | GLubyte * | image_data,
|  | int | width,
|  | int | height,
|  | int | alpha )

Load image into texture.

Parameters

  image_data | image data
  width,height | image screen size
  alpha | has alpha channel

Definition at line 318 of file nviz/draw.c.

References GL_CLAMP_TO_EDGE.

## Nviz_set_2D()

void Nviz_set_2D | ( | int | width,
|  | int | height )

Set ortho view for drawing images.

Parameters

  width,height | image screen size

Definition at line 355 of file nviz/draw.c.