Class VoxelGrid
A 3D grid of voxels that can be either "filled" or "empty".
Implements
Namespace: CarbideFunction.Wildtile
Syntax
public class VoxelGrid : VoxelGridAsset, IVoxelGrid
Fields
createBottomTiles
If enabled, the GridPlacer will use an extra layer of empty voxels at the bottom of the map. The GridPlacer will place end-caps on the bottom of your models (if available in the tileset).
If disabled, the GridPlacer will use the bottom layer of the map directly. This may leave some models uncapped.
If you are creating a standalone model, you probably want to set this flag. If you are creating a cave or a landscape, you probably want to clear this flag.
Declaration
public bool createBottomTiles
Field Value
| Type | Description |
|---|---|
| System.Boolean |
createSideTiles
If enabled, the GridPlacer will use an extra layer of empty voxels at the sides of the map. The GridPlacer will place end-caps on the sides of your models (if available in the tileset).
If disabled, the GridPlacer will use the side layers of the map directly. This may leave some models uncapped.
If you are creating a standalone model, you probably want to set this flag. If you are creating a cave, you probably want to clear this flag.
Declaration
public bool createSideTiles
Field Value
| Type | Description |
|---|---|
| System.Boolean |
createTopTiles
If enabled, the GridPlacer will use an extra layer of empty voxels at the top of the map. The GridPlacer will place end-caps on top of your models (if available in the tileset).
If disabled, the GridPlacer will use the top layer of the map directly. This may leave some models uncapped.
If you are creating a landscape or a standalone model, you probably want to set this flag. If you are creating a cave, you probably want to clear this flag.
Declaration
public bool createTopTiles
Field Value
| Type | Description |
|---|---|
| System.Boolean |
voxelDataName
Serialization name for voxelData.
Not intended for users.
Declaration
public const string voxelDataName = "voxelData"
Field Value
| Type | Description |
|---|---|
| System.String |
Properties
Dimensions
Get the size of the 3D voxel grid.
Declaration
public Vector3Int Dimensions { get; }
Property Value
| Type | Description |
|---|---|
| Vector3Int |
Item[Int32]
Access a voxel in the grid.
Declaration
public int this[int index] { get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | index |
Property Value
| Type | Description |
|---|---|
| System.Int32 | 1 if the voxel is filled, 0 otherwise. |
Item[Int32, Int32, Int32]
Access a voxel in the grid.
Declaration
public int this[int x, int y, int z] { get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | x | |
| System.Int32 | y | |
| System.Int32 | z |
Property Value
| Type | Description |
|---|---|
| System.Int32 | 1 if the voxel is filled, 0 otherwise. |
Item[Vector3Int]
Access a voxel in the grid.
Declaration
public int this[Vector3Int coord] { get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3Int | coord |
Property Value
| Type | Description |
|---|---|
| System.Int32 | 1 if the voxel is filled, 0 otherwise. |
Voxels
Declaration
public override IReadOnlyList<IVoxelGrid.Voxel> Voxels { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IReadOnlyList<IVoxelGrid.Voxel> |
Overrides
Methods
GetCubeContents(Vector3Int)
Get the marching cube at the cube with its top-right-front corner at the specified coordinates.
For example, if you requested the cube contents of (3,6,4), this method would query the contents of voxels:
- (2,5,3)
- (2,5,4)
- (2,6,3)
- (2,6,4)
- (3,5,3)
- (3,5,4)
- (3,6,3)
- (3,6,4)
Declaration
public int GetCubeContents(Vector3Int coords)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3Int | coords |
Returns
| Type | Description |
|---|---|
| System.Int32 |
GetVoxel(Int32)
Gets the voxel at flat-index index.
Implementation of IVoxelGrid.GetVoxel.
Declaration
public override IVoxelGrid.Voxel GetVoxel(int index)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | index |
Returns
| Type | Description |
|---|---|
| IVoxelGrid.Voxel |
Overrides
IsWithinBounds(Vector3Int)
Test if a coordinate is within the bounds of the voxel grid.
If this is false, do not call Item[Vector3Int].
Declaration
public bool IsWithinBounds(Vector3Int coord)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3Int | coord |
Returns
| Type | Description |
|---|---|
| System.Boolean |
SetDimensionsAndClearGrid(Vector3Int)
Resize the 3D grid and clear all previous contents.
Declaration
public void SetDimensionsAndClearGrid(Vector3Int newDimensions)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3Int | newDimensions |
SetVoxelContents(Int32, Int32)
Declaration
public override void SetVoxelContents(int index, int newContents)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | index | |
| System.Int32 | newContents |
Overrides
Visit(IVoxelGridVisitor)
Declaration
public override void Visit(IVoxelGridVisitor visitor)
Parameters
| Type | Name | Description |
|---|---|---|
| IVoxelGridVisitor | visitor |