---
name: "lqr_vmap_new"
section: "3"
platform: "linux"
package: "liblqr-1-0-dev"
version: "0.4.1-2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/lqr_vmap_new"
---

# lqr\_vmap\_new(3)

the LqrVMap object constructor

## 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* **int**s 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_destroy/3.md), [**lqr\_vmap\_load**(3)](/lqr_vmap_load/3.md)

## COPYRIGHT

Copyright © 2007-2009 Carlo Baldassi\
