| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iTerraFormer Struct Reference

TerraFormer objects are used to retrieve terrain data. More...

`#include <ivaria/terraform.h>`

Inheritance diagram for iTerraFormer:

[legend]
List of all members.

## Public Member Functions
virtual csVector2 | GetIntegerMapSize (csStringID type)=0
| Get the integer map dimensions.
virtual csPtr< iTerraSampler > | GetSampler (csBox2 region, unsigned int resx, unsigned int resy=0)=0
| Get a sampler region from the terraformer.
virtual iObject * | QueryObject ()=0
| Get the iObject for this interface.
virtual bool | SampleFloat (csStringID type, float x, float z, float &value)=0
| Sample float data at a given spot on the terrain.
virtual bool | SampleInteger (csStringID type, float x, float z, int &value)=0
| Sample integer data at a given spot on the terrain.
virtual bool | SampleVector2 (csStringID type, float x, float z, csVector2 &value)=0
| Sample csVector2 data at a given spot on the terrain.
virtual bool | SampleVector3 (csStringID type, float x, float z, csVector3 &value)=0
| Sample csVector2 data at a given spot on the terrain.

## Detailed Description

TerraFormer objects are used to retrieve terrain data.

All data is retrieved in blocks, from sampler regions.

Definition at line 41 of file terraform.h.

## Member Function Documentation

virtual csVector2 iTerraFormer::GetIntegerMapSize | ( | csStringID | type | ) | `[pure virtual]`

Get the integer map dimensions.

virtual csPtr<iTerraSampler> iTerraFormer::GetSampler | ( | csBox2 | region,
|  | unsigned int | resx,
|  | unsigned int | resy = `0` |
| ) |  |  | `[pure virtual]`

Get a sampler region from the terraformer.

The sampler region will be used for all actual data retrieval.

virtual iObject* iTerraFormer::QueryObject | ( |  | ) | `[pure virtual]`

Get the iObject for this interface.

virtual bool iTerraFormer::SampleFloat | ( | csStringID | type,
|  | float | x,
|  | float | z,
|  | float & | value |
| ) |  |  | `[pure virtual]`

Sample float data at a given spot on the terrain.

Note that this should only be used when single heights are needed. For multiple samples in a grid a sampler should be used. Returns true if the requested type was returned, and false otherwise.

virtual bool iTerraFormer::SampleInteger | ( | csStringID | type,
|  | float | x,
|  | float | z,
|  | int & | value |
| ) |  |  | `[pure virtual]`

Sample integer data at a given spot on the terrain.

Note that this should only be used when single samples are needed. For multiple samples in a grid a sampler should be used. Returns true if the requested type was returned, and false otherwise.

virtual bool iTerraFormer::SampleVector2 | ( | csStringID | type,
|  | float | x,
|  | float | z,
|  | csVector2 & | value |
| ) |  |  | `[pure virtual]`

Sample csVector2 data at a given spot on the terrain.

Note that this should only be used when single samples are needed. For multiple samples in a grid a sampler should be used. Returns true if the requested type was returned, and false otherwise.

virtual bool iTerraFormer::SampleVector3 | ( | csStringID | type,
|  | float | x,
|  | float | z,
|  | csVector3 & | value |
| ) |  |  | `[pure virtual]`

Sample csVector2 data at a given spot on the terrain.

Note that this should only be used when single samples are needed. For multiple samples in a grid a sampler should be used. Returns true if the requested type was returned, and false otherwise.

The documentation for this struct was generated from the following file:

- ivaria/terraform.h