C# Class SEToolbox.Interop.Asteroids.MyVoxelMap

Afficher le fichier Open project: midspace/SEToolbox Class Usage Examples

Méthodes publiques

Méthode 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

Méthode 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 méthode

public CalculateMaterialCellAssets ( IList &materialAssetList, long>.Dictionary &materialVoxelCells ) : void
materialAssetList IList
materialVoxelCells long>.Dictionary
Résultat void

Compress() public static méthode

public static Compress ( string sourceFilename, string destinationFilename ) : void
sourceFilename string
destinationFilename string
Résultat void

CountAssets() public méthode

public CountAssets ( long>.Dictionary assetCount ) : long>.Dictionary
assetCount long>.Dictionary
Résultat long>.Dictionary

CountAssets() public méthode

public CountAssets ( IList materialAssets ) : long>.Dictionary
materialAssets IList
Résultat long>.Dictionary

ForceBaseMaterial() public méthode

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

ForceShellMaterial() public méthode

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

ForceVoxelFaceMaterial() public méthode

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
Résultat void

GetMaterialAssetDetails() public static méthode

public static GetMaterialAssetDetails ( string filename ) : long>.Dictionary
filename string
Résultat long>.Dictionary

GetPreview() public static méthode

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

GetVoxelMaterialContent() public méthode

public GetVoxelMaterialContent ( Vector3I &voxelCoord, string &materialName, byte &content ) : void
voxelCoord Vector3I
materialName string
content byte
Résultat void

Init() public méthode

public Init ( Vector3D position, Vector3I size, string material ) : void
position Vector3D
size Vector3I
material string
Résultat void

IsVoxelMapFile() public static méthode

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

Load() public méthode

public Load ( string filename, string defaultMaterial ) : void
filename string
defaultMaterial string
Résultat void

Load() public méthode

public Load ( string filename, string defaultMaterial, bool loadMaterial ) : void
filename string
defaultMaterial string
loadMaterial bool
Résultat void

LoadUncompressed() public méthode

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
Résultat void

LoadVoxelSize() public static méthode

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

RemoveContent() public méthode

public RemoveContent ( ) : void
Résultat void

RemoveContent() public méthode

public RemoveContent ( string materialName, string replaceFillMaterial ) : void
materialName string
replaceFillMaterial string
Résultat void

RemoveMaterial() public méthode

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
Résultat void

ReplaceMaterial() public méthode

public ReplaceMaterial ( string materialName, string replaceFillMaterial ) : void
materialName string
replaceFillMaterial string
Résultat void

Save() public méthode

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

Save() public méthode

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

SeedMaterialSphere() public méthode

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.
Résultat void

SetMaterialAssets() public méthode

public SetMaterialAssets ( IList materialsList ) : void
materialsList IList
Résultat void

SetVoxelContentRegion() public méthode

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
Résultat void

SetVoxelMaterialAndIndestructibleContent() public méthode

public SetVoxelMaterialAndIndestructibleContent ( string materialName, byte indestructibleContent, Vector3I &voxelCoord ) : void
materialName string
indestructibleContent byte
voxelCoord Vector3I
Résultat void

SetVoxelMaterialRegion() public méthode

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)
Résultat void

SumFullCells() public méthode

public SumFullCells ( ) : long
Résultat long

SumPartCells() public méthode

public SumPartCells ( ) : long
Résultat long

SumVoxelCells() public méthode

public SumVoxelCells ( ) : long
Résultat long

Uncompress() public static méthode

public static Uncompress ( string sourceFilename, int numberBytes ) : byte[]
sourceFilename string
numberBytes int
Résultat byte[]

Uncompress() public static méthode

public static Uncompress ( string sourceFilename, string destinationFilename ) : void
sourceFilename string
destinationFilename string
Résultat void

UpdateContentBounds() public méthode

public UpdateContentBounds ( ) : void
Résultat void