---
title: "fasterRaster addons"
output: rmarkdown::html_vignette
author: "Adam B. Smith"
date: "`r Sys.Date()`"
vignette: >
  %\VignetteIndexEntry{fasterRaster addons}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
fig.path = 'man/figures/'
```
**GRASS GIS** comes with a default set of modules (functions), but users can download and install "addon" modules to extend its capabilities. Some of the functions in **fasterRaster** rely on these addon modules. To make these functions work, you must find the folder in which addons are stored and install the desired module.

1. Installing modules: The easiest (only?) way to do this is to start **GRASS** (not in **R** through **fasterRaster**, but actually start **GRASS**), then use the `Settings` menu's `Addon extensions` option, then select `Install extensions from addons [g.extension]`. **GRASS** should display a list of addons you can install.

2. Once you have the desired extension(s) installed, you can use **fasterRaster** functions that call them. To do this, you need to specify the `addons` folder *before* starting **GRASS** (i.e., before the first time you use the `fast()` function to load a raster or vector). Use `faster()` to tell **fasterRaster** where this folder is. The folder will vary by operating system. On a Windows machine, it will be something like:

```
C:/Users/your_windows_user_name/AppData/Roaming/GRASS8/addons
```

You can set the addons folder using `faster(addonsDir = "C:/Users/your_windows_user_name/AppData/Roaming/GRASS8/addons")`.

## Validating addons
You can test to see if the `addons` folder is correct using `addons()`. You can also see if a particular addon module was installed correctly using the same function using, for example, `addons("v.centerpoint")`.

## **fasterRaster** functions that need addons
These functions must have the specified addon to work.

   | **Function**              | **addon**          |
   | --------------------------|--------------------|
   | `centroids()`             | `v.centerpoint`   |



~ FINIS ~