9 #include "VoxelLayer.h"
10 #include "Quaternion.h"
11 #include "StampMesh.h"
12 #include "MatrixAlg.h"
21 virtual void setSize(
int sizeX,
int sizeY,
int sizeZ) = 0;
23 virtual void getSize(
int& sizeX,
int& sizeY,
int& sizeZ)
const = 0 ;
25 virtual void readVoxel(
int x,
int y,
int z,
Voxel& voxel)
const = 0;
52 MaterialMeshArray* meshInstances;
63 CellId c1,
int x1,
int y1,
int z1,
65 CellId c2,
int x2,
int y2,
int z2
75 CellId c,
int x,
int y,
int z,
77 TSet<CellId>* changedCells
89 int vx,
int vy,
int vz,
91 int sizeX,
int sizeY,
int sizeZ
107 TSet<CellId>* changedCells
137 const IClipboard* src,
141 ClipboardRotation rotation
154 const IClipboard* src,
158 ClipboardMirror mirror
bool copyToClipboard(IBlockData *blockData, IClipboard *clipboard, CellId c1, int x1, int y1, int z1, CellId c2, int x2, int y2, int z2)
Copy voxels from block layer to clipboard.
Mesh collection for copy & paste.
virtual void writeVoxel(int x, int y, int z, const Voxel &voxel)=0
Writes one voxel to clipboard.
Contains all classes and functions for the VoxelFarm engine.
int material
Material for the mesh.
virtual void setSize(int sizeX, int sizeY, int sizeZ)=0
Sets dimensions for clipboard data.
It allows to access to the faces and materials of a list of solids.
unsigned __int64 CellId
A 64bit integer that identifies a single world octree Cell.
CFastQuadrics * mesh
A reference to a polygonal mesh.
virtual void getFace(int solid, int index, Algebra::Vector &v0, Algebra::Vector &v1, Algebra::Vector &v2)
Get the vertices of a face of a solid.
virtual int getFaceCount(int solid)
Returns the number of faces in a solid.
virtual void readVoxel(int x, int y, int z, Voxel &voxel) const =0
Reads one voxel from clipboard.
A Matrix for 3D operations.
virtual void getSize(int &sizeX, int &sizeY, int &sizeZ) const =0
Gets dimensions for clipboard data.
bool mirrorClipboard(const IClipboard *src, IClipboard *dst, ClipboardMirror mirror)
Fill destination clipboard with a mirror version of source clipboard.
bool rotateClipboard(const IClipboard *src, IClipboard *dst, ClipboardRotation rotation)
Fill destination clipboard with a rotated version of source clipboard.
An link between a polygonal mesh and a material.
TVector< MaterialMesh * > MaterialMeshArray
A list of MaterialMesh.
MaterialMeshArray getClipboardMesh(IClipboard *clipboard, bool air)
Generates a polygonal mesh from the clipboard for each material.
virtual int getSolidCount()
Returns the number of solids.
virtual MaterialId getSolidMaterial(int solid)
Returns the material of a solid.
An efficient mesh representation that features Quadratic Error function simplification using a Multip...
bool pasteFromClipboard(IBlockData *blockData, IClipboard *clipboard, CellId c, int x, int y, int z, TSet< CellId > *changedCells)
Paste voxels from clipboard into block layer.