GRASS GIS 8 Programmer's Manual 8.4.1(2025)-45ca3179ab
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_idtexture 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
datanviz 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
dcnviz 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,yimage coordinates
width,heightimage size
texture_idtexture 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
datanviz data
draw_modedraw 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_dataimage data
width,heightimage screen size
alphahas 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,heightimage screen size

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