C# Class SEToolbox.Interop.Asteroids.MyVoxelMap

Mostrar archivo Open project: midspace/SEToolbox Class Usage Examples

Public Methods

Method Description
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

Private Methods

Method Description
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

Method Details

CalculateMaterialCellAssets() public method

public CalculateMaterialCellAssets ( IList &materialAssetList, long>.Dictionary &materialVoxelCells ) : void
materialAssetList IList
materialVoxelCells long>.Dictionary
return void

Compress() public static method

public static Compress ( string sourceFilename, string destinationFilename ) : void
sourceFilename string
destinationFilename string
return void

CountAssets() public method

public CountAssets ( long>.Dictionary assetCount ) : long>.Dictionary
assetCount long>.Dictionary
return long>.Dictionary

CountAssets() public method

public CountAssets ( IList materialAssets ) : long>.Dictionary
materialAssets IList
return long>.Dictionary

ForceBaseMaterial() public method

This will replace all the materials inside the asteroid with specified material.
public ForceBaseMaterial ( string defaultMaterial, string materialName ) : void
defaultMaterial string
materialName string
return void

ForceShellMaterial() public method

Force the material of the outermost mixed voxcells to the given material
public ForceShellMaterial ( string materialName, byte tgtThickness ) : void
materialName string
tgtThickness byte
return void

ForceVoxelFaceMaterial() public method

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
return void

GetMaterialAssetDetails() public static method

public static GetMaterialAssetDetails ( string filename ) : long>.Dictionary
filename string
return long>.Dictionary

GetPreview() public static method

public static GetPreview ( string filename, Vector3I &size, BoundingBoxD &contentBounds, long &voxCells, bool &isValid ) : void
filename string
size Vector3I
contentBounds BoundingBoxD
voxCells long
isValid bool
return void

GetVoxelMaterialContent() public method

public GetVoxelMaterialContent ( Vector3I &voxelCoord, string &materialName, byte &content ) : void
voxelCoord Vector3I
materialName string
content byte
return void

Init() public method

public Init ( Vector3D position, Vector3I size, string material ) : void
position Vector3D
size Vector3I
material string
return void

IsVoxelMapFile() public static method

check for Magic Number: 1f 8b
public static IsVoxelMapFile ( string filename ) : bool
filename string
return bool

Load() public method

public Load ( string filename, string defaultMaterial ) : void
filename string
defaultMaterial string
return void

Load() public method

public Load ( string filename, string defaultMaterial, bool loadMaterial ) : void
filename string
defaultMaterial string
loadMaterial bool
return void

LoadUncompressed() public method

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
return void

LoadVoxelSize() public static method

Loads the header details only for voxel files, without having to decompress the entire file.
public static LoadVoxelSize ( string filename ) : Vector3I
filename string
return Vector3I

RemoveContent() public method

public RemoveContent ( ) : void
return void

RemoveContent() public method

public RemoveContent ( string materialName, string replaceFillMaterial ) : void
materialName string
replaceFillMaterial string
return void

RemoveMaterial() public method

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
return void

ReplaceMaterial() public method

public ReplaceMaterial ( string materialName, string replaceFillMaterial ) : void
materialName string
replaceFillMaterial string
return void

Save() public method

public Save ( int initialVersion, BinaryWriter writer, bool saveMaterialContent ) : void
initialVersion int
writer System.IO.BinaryWriter
saveMaterialContent bool
return void

Save() public method

Saves the asteroid to the specified filename.
public Save ( string filename ) : void
filename string the file extension indicates the version of file been saved.
return void

SeedMaterialSphere() public method

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.
return void

SetMaterialAssets() public method

public SetMaterialAssets ( IList materialsList ) : void
materialsList IList
return void

SetVoxelContentRegion() public method

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
return void

SetVoxelMaterialAndIndestructibleContent() public method

public SetVoxelMaterialAndIndestructibleContent ( string materialName, byte indestructibleContent, Vector3I &voxelCoord ) : void
materialName string
indestructibleContent byte
voxelCoord Vector3I
return void

SetVoxelMaterialRegion() public method

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)
return void

SumFullCells() public method

public SumFullCells ( ) : long
return long

SumPartCells() public method

public SumPartCells ( ) : long
return long

SumVoxelCells() public method

public SumVoxelCells ( ) : long
return long

Uncompress() public static method

public static Uncompress ( string sourceFilename, int numberBytes ) : byte[]
sourceFilename string
numberBytes int
return byte[]

Uncompress() public static method

public static Uncompress ( string sourceFilename, string destinationFilename ) : void
sourceFilename string
destinationFilename string
return void

UpdateContentBounds() public method

public UpdateContentBounds ( ) : void
return void