Name

lqr_vmap_new — the LqrVMap object constructor

Synopsis

#include <lqr.h>
LqrVMap* lqr_vmap_new(gint* buffer,
 gint width,
 gint height,
 gint depth,
 gint orientation);
 

Description

The function lqr_vmap_new is the constructor for LqrVMap objects. It can be used to convert saved data in a format which can be loaded in an LqrCarver object.

The parameter buffer must point to an an array of width * height ints holding the visibility information.

The parameter depth represents the maximum possible amount of rescaling with the given map.

The parameter orientation must be 0 if the map is to be used for horizontal rescaling, 1 if it is to be used for vertical rescaling.

Visibility maps format

The buffer must be an array of integers of size width * height. For an horizontally oriented visibility map, the format is as such: each row must contain all values between 1 and depth (included) exactly once, with low values indicating the pixels which will be operated on first during rescaling. All other pixels must be 0, which means that they won't be affected by rescaling. Such a map allows for horizontal rescaling in the range from width - depth to width + depth. The same applies to vertically oriented visibility maps, with columns in place of rows and height in place of width.

Return value

The function returns the newly created LqrVMap if successful, or NULL in case of insufficient memory.

See also

lqr_vmap_destroy(3), lqr_vmap_load(3)