C# Класс SEToolbox.Interop.Asteroids.MyVoxelMap

Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
CalculateMaterialCellAssets ( IList &materialAssetList, long>.Dictionary &materialVoxelCells ) : void
Compress ( string sourceFilename, string destinationFilename ) : void
CountAssets ( long>.Dictionary assetCount ) : long>.Dictionary
CountAssets ( IList materialAssets ) : long>.Dictionary
ForceBaseMaterial ( string defaultMaterial, string materialName ) : void

This will replace all the materials inside the asteroid with specified material.

ForceShellMaterial ( string materialName, byte tgtThickness ) : void

Force the material of the outermost mixed voxcells to the given material

ForceVoxelFaceMaterial ( string materialName ) : void

Changes all the min and max face materials to a default to overcome the the hiding rare ore inside of nonrare ore.

GetMaterialAssetDetails ( string filename ) : long>.Dictionary
GetPreview ( string filename, Vector3I &size, BoundingBoxD &contentBounds, long &voxCells, bool &isValid ) : void
GetVoxelMaterialContent ( Vector3I &voxelCoord, string &materialName, byte &content ) : void
Init ( Vector3D position, Vector3I size, string material ) : void
IsVoxelMapFile ( string filename ) : bool

check for Magic Number: 1f 8b

Load ( string filename, string defaultMaterial ) : void
Load ( string filename, string defaultMaterial, bool loadMaterial ) : void
LoadUncompressed ( int initialVersion, Vector3D position, BinaryReader reader, string defaultMaterial, bool loadMaterial ) : void
LoadVoxelSize ( string filename ) : Vector3I

Loads the header details only for voxel files, without having to decompress the entire file.

RemoveContent ( ) : void
RemoveContent ( string materialName, string replaceFillMaterial ) : void
RemoveMaterial ( int xMin, int xMax, int yMin, int yMax, int zMin, int zMax ) : void
ReplaceMaterial ( string materialName, string replaceFillMaterial ) : void
Save ( int initialVersion, BinaryWriter writer, bool saveMaterialContent ) : void
Save ( string filename ) : void

Saves the asteroid to the specified filename.

SeedMaterialSphere ( string materialName, byte radius ) : void

Set a material for a random voxel cell and possibly nearest ones to it.

SetMaterialAssets ( IList materialsList ) : void
SetVoxelContentRegion ( byte content, int xMin, int xMax, int yMin, int yMax, int zMin, int zMax ) : void
SetVoxelMaterialAndIndestructibleContent ( string materialName, byte indestructibleContent, Vector3I &voxelCoord ) : void
SetVoxelMaterialRegion ( string materialName, Vector3I &cellCoord ) : void

Change the material of the voxel cell with the given coordinates

SumFullCells ( ) : long
SumPartCells ( ) : long
SumVoxelCells ( ) : long
Uncompress ( string sourceFilename, int numberBytes ) : byte[]
Uncompress ( string sourceFilename, string destinationFilename ) : void
UpdateContentBounds ( ) : void

Приватные методы

Метод Описание
AddCell ( Vector3I &cellCoord ) : MyVoxelContentCell
CheckCellType ( MyVoxelContentCell &cell, MyVoxelCellType type ) : bool

Check the given cell type against a possible cell contents state (full, empty, mixed)

CheckIfCellChangedToFull ( MyVoxelContentCell voxelCell, Vector3I &cellCoord ) : void
CheckVoxelCoord ( Vector3I &cellCoord ) : bool
GetCell ( Vector3I &cellCoord ) : MyVoxelContentCell
GetDataCellCoordinate ( Vector3I &voxelCoord ) : Vector3I
GetVoxelContent ( Vector3I &voxelCoord ) : byte
GetVoxelCoordinatesInDataCell ( Vector3I &voxelCoord ) : Vector3I
InitVoxelMap ( Vector3D position, Vector3I size, string materialName, bool defineMemory ) : void
IsVoxelAtBorder ( Vector3I &voxelCoord ) : bool
LoadUncompressedV1 ( BinaryReader reader, bool loadMaterial ) : void
LoadUncompressedV2 ( BinaryReader reader, bool loadMaterial, int materialBaseCount ) : void
SaveV1 ( BinaryWriter writer, bool saveMaterialContent ) : void
SaveV2 ( BinaryWriter writer, bool saveMaterialContent ) : void
SetVoxelContent ( byte content, Vector3I &voxelCoord, bool needLock = true ) : void

Описание методов

CalculateMaterialCellAssets() публичный Метод

public CalculateMaterialCellAssets ( IList &materialAssetList, long>.Dictionary &materialVoxelCells ) : void
materialAssetList IList
materialVoxelCells long>.Dictionary
Результат void

Compress() публичный статический Метод

public static Compress ( string sourceFilename, string destinationFilename ) : void
sourceFilename string
destinationFilename string
Результат void

CountAssets() публичный Метод

public CountAssets ( long>.Dictionary assetCount ) : long>.Dictionary
assetCount long>.Dictionary
Результат long>.Dictionary

CountAssets() публичный Метод

public CountAssets ( IList materialAssets ) : long>.Dictionary
materialAssets IList
Результат long>.Dictionary

ForceBaseMaterial() публичный Метод

This will replace all the materials inside the asteroid with specified material.
public ForceBaseMaterial ( string defaultMaterial, string materialName ) : void
defaultMaterial string
materialName string
Результат void

ForceShellMaterial() публичный Метод

Force the material of the outermost mixed voxcells to the given material
public ForceShellMaterial ( string materialName, byte tgtThickness ) : void
materialName string
tgtThickness byte
Результат void

ForceVoxelFaceMaterial() публичный Метод

Changes all the min and max face materials to a default to overcome the the hiding rare ore inside of nonrare ore.
public ForceVoxelFaceMaterial ( string materialName ) : void
materialName string
Результат void

GetMaterialAssetDetails() публичный статический Метод

public static GetMaterialAssetDetails ( string filename ) : long>.Dictionary
filename string
Результат long>.Dictionary

GetPreview() публичный статический Метод

public static GetPreview ( string filename, Vector3I &size, BoundingBoxD &contentBounds, long &voxCells, bool &isValid ) : void
filename string
size Vector3I
contentBounds BoundingBoxD
voxCells long
isValid bool
Результат void

GetVoxelMaterialContent() публичный Метод

public GetVoxelMaterialContent ( Vector3I &voxelCoord, string &materialName, byte &content ) : void
voxelCoord Vector3I
materialName string
content byte
Результат void

Init() публичный Метод

public Init ( Vector3D position, Vector3I size, string material ) : void
position Vector3D
size Vector3I
material string
Результат void

IsVoxelMapFile() публичный статический Метод

check for Magic Number: 1f 8b
public static IsVoxelMapFile ( string filename ) : bool
filename string
Результат bool

Load() публичный Метод

public Load ( string filename, string defaultMaterial ) : void
filename string
defaultMaterial string
Результат void

Load() публичный Метод

public Load ( string filename, string defaultMaterial, bool loadMaterial ) : void
filename string
defaultMaterial string
loadMaterial bool
Результат void

LoadUncompressed() публичный Метод

public LoadUncompressed ( int initialVersion, Vector3D position, BinaryReader reader, string defaultMaterial, bool loadMaterial ) : void
initialVersion int
position Vector3D
reader System.IO.BinaryReader
defaultMaterial string
loadMaterial bool
Результат void

LoadVoxelSize() публичный статический Метод

Loads the header details only for voxel files, without having to decompress the entire file.
public static LoadVoxelSize ( string filename ) : Vector3I
filename string
Результат Vector3I

RemoveContent() публичный Метод

public RemoveContent ( ) : void
Результат void

RemoveContent() публичный Метод

public RemoveContent ( string materialName, string replaceFillMaterial ) : void
materialName string
replaceFillMaterial string
Результат void

RemoveMaterial() публичный Метод

public RemoveMaterial ( int xMin, int xMax, int yMin, int yMax, int zMin, int zMax ) : void
xMin int
xMax int
yMin int
yMax int
zMin int
zMax int
Результат void

ReplaceMaterial() публичный Метод

public ReplaceMaterial ( string materialName, string replaceFillMaterial ) : void
materialName string
replaceFillMaterial string
Результат void

Save() публичный Метод

public Save ( int initialVersion, BinaryWriter writer, bool saveMaterialContent ) : void
initialVersion int
writer System.IO.BinaryWriter
saveMaterialContent bool
Результат void

Save() публичный Метод

Saves the asteroid to the specified filename.
public Save ( string filename ) : void
filename string the file extension indicates the version of file been saved.
Результат void

SeedMaterialSphere() публичный Метод

Set a material for a random voxel cell and possibly nearest ones to it.
public SeedMaterialSphere ( string materialName, byte radius ) : void
materialName string material name
radius byte radius in voxels, defaults to zero, meaning only a random grid.
Результат void

SetMaterialAssets() публичный Метод

public SetMaterialAssets ( IList materialsList ) : void
materialsList IList
Результат void

SetVoxelContentRegion() публичный Метод

public SetVoxelContentRegion ( byte content, int xMin, int xMax, int yMin, int yMax, int zMin, int zMax ) : void
content byte
xMin int
xMax int
yMin int
yMax int
zMin int
zMax int
Результат void

SetVoxelMaterialAndIndestructibleContent() публичный Метод

public SetVoxelMaterialAndIndestructibleContent ( string materialName, byte indestructibleContent, Vector3I &voxelCoord ) : void
materialName string
indestructibleContent byte
voxelCoord Vector3I
Результат void

SetVoxelMaterialRegion() публичный Метод

Change the material of the voxel cell with the given coordinates
public SetVoxelMaterialRegion ( string materialName, Vector3I &cellCoord ) : void
materialName string The material name to set the cell to
cellCoord Vector3I Cell coordinates vector (internal)
Результат void

SumFullCells() публичный Метод

public SumFullCells ( ) : long
Результат long

SumPartCells() публичный Метод

public SumPartCells ( ) : long
Результат long

SumVoxelCells() публичный Метод

public SumVoxelCells ( ) : long
Результат long

Uncompress() публичный статический Метод

public static Uncompress ( string sourceFilename, int numberBytes ) : byte[]
sourceFilename string
numberBytes int
Результат byte[]

Uncompress() публичный статический Метод

public static Uncompress ( string sourceFilename, string destinationFilename ) : void
sourceFilename string
destinationFilename string
Результат void

UpdateContentBounds() публичный Метод

public UpdateContentBounds ( ) : void
Результат void