`lqr_vmap_new`
Prev | Visibiliy maps | Next

## 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)

Prev | Up | Next
Visibiliy maps | Home | `lqr_vmap_destroy`