11 #include "BlockData.h"
12 #include "InstanceManager.h"
13 #include "ArchitectureManager.h"
14 #include "MaterialLibrary.h"
15 #include "ExternalMutex.h"
33 void getVoxel(
CellId cell,
int x,
int y,
int z, MaterialId& material,
double& dx,
double& dy,
double& dz);
37 void removeCachedData(
CellId cell);
43 TVector<TVector<int>*> layerGroups;
44 TVector<IVoxelLayer*> layers;
45 TVector<void*> threadContexts;
46 bool threadContextsCreated;
48 TMap<CellId, ContourVoxelData*> dataQueryCacheIndex;
71 void setCacheSize(
int size);
83 CellId cell,
int x,
int y,
int z
void planJobs(Scene *scene, LODStats stats)
Removes any generation cached data for the specified cell. The getVoxel function may be required to r...
Combines several voxel layers into the final dataset sent to the contouring phase.
CGenerator()
Constructs the Generator object.
int getGeneratorIntersections(CMaterialLibrary *materialLibrary, Algebra::Vector *result, CGenerator *generator, CellId cell, int x, int y, int z)
Returns all triangles that intercept a voxel.
Contains all classes and functions for the VoxelFarm engine.
Contains all materials available in the system.
int layerGroupCount()
It holds the number of groups of layers.
unsigned __int64 CellId
A 64bit integer that identifies a single world octree Cell.
Cells Scene
A Scene is a set of cells.
An interface for a voxel layer. By implementing this interface, very different modules can contribute...
void getVoxel(CellId cell, int x, int y, int z, MaterialId &material, double &dx, double &dy, double &dz)
Retrieves data for a given voxel.
void deleteLayerGroups()
deletes the layer groups
StatTracker LODStats[LEVELS][STAT_NULL]
Used to track stats across all LOD.
void addVoxelLayer(IVoxelLayer *layer, bool newGroup=false)
Adds a new group of layers.
void generate(CellId cell, ContourVoxelData *data, bool &empty, LODStats stats, int group=0)
Loads and mixes voxel data from different sources and places it in the specified buffer.