268 s32
index(s16 x, s16 y, s16 z)
const
301 i += a * extent.X * extent.Y;
309 i += a.Z * extent.X * extent.Y + a.Y * extent.X + a.X;
335 #define VOXELFLAG_UNUSED (1 << 0)
337 #define VOXELFLAG_NO_DATA (1 << 1)
339 #define VOXELFLAG_CHECKED1 (1 << 2)
341 #define VOXELFLAG_CHECKED2 (1 << 3)
343 #define VOXELFLAG_CHECKED3 (1 << 4)
345 #define VOXELFLAG_CHECKED4 (1 << 5)
377 (
"VoxelManipulator: getNode: inexistent");
461 virtual void clear();
#define PP(x)
Definition: basic_macros.h:56
Definition: exceptions.h:118
This class is for getting the actual properties of nodes from their content ID.
Definition: nodedef.h:510
v3s16 MinEdge
Definition: voxel.h:323
void addArea(const VoxelArea &a)
Definition: voxel.h:82
bool contains(s32 i) const
Definition: voxel.h:166
static void add_z(const v3s16 &extent, u32 &i, s16 a)
Translate index in the Z coordinate.
Definition: voxel.h:299
const v3s16 & getExtent() const
Definition: voxel.h:127
static void add_y(const v3s16 &extent, u32 &i, s16 a)
Translate index in the Y coordinate.
Definition: voxel.h:291
static void add_p(const v3s16 &extent, u32 &i, v3s16 a)
Translate index in space.
Definition: voxel.h:307
s32 index(s16 x, s16 y, s16 z) const
Definition: voxel.h:268
VoxelArea(const v3s16 &min_edge, const v3s16 &max_edge)
Definition: voxel.h:64
static void add_x(const v3s16 &extent, u32 &i, s16 a)
Translate index in the X coordinate.
Definition: voxel.h:283
VoxelArea operator-(const v3s16 &off) const
Definition: voxel.h:181
bool contains(const VoxelArea &a) const
Definition: voxel.h:145
void cacheExtent()
Definition: voxel.h:326
void addPoint(const v3s16 &p)
Definition: voxel.h:98
v3s16 MaxEdge
Definition: voxel.h:324
void diff(const VoxelArea &a, std::list< VoxelArea > &result)
Definition: voxel.h:192
v3s16 m_cache_extent
Definition: voxel.h:331
VoxelArea operator+(const v3s16 &off) const
Definition: voxel.h:176
bool operator==(const VoxelArea &other) const
Definition: voxel.h:170
s32 index(v3s16 p) const
Definition: voxel.h:275
bool hasEmptyExtent() const
Definition: voxel.h:135
void print(std::ostream &o) const
Definition: voxel.h:315
s32 getVolume() const
Definition: voxel.h:140
void pad(const v3s16 &d)
Definition: voxel.h:117
bool contains(v3s16 p) const
Definition: voxel.h:158
VoxelArea(const v3s16 &p)
Definition: voxel.h:71
MapNode getNodeNoExNoEmerge(const v3s16 &p)
Definition: voxel.h:393
MapNode * m_data
Definition: voxel.h:500
MapNode getNodeNoEx(const v3s16 &p)
Definition: voxel.h:382
const MapNode & getNodeRefUnsafeCheckFlags(const v3s16 &p)
Definition: voxel.h:408
u8 * m_flags
Definition: voxel.h:505
void copyFrom(MapNode *src, const VoxelArea &src_area, v3s16 from_pos, v3s16 to_pos, const v3s16 &size)
Definition: voxel.cpp:206
u8 & getFlagsRefUnsafe(const v3s16 &p)
Definition: voxel.h:418
MapNode & getNodeRefUnsafe(const v3s16 &p)
Definition: voxel.h:403
void setNode(const v3s16 &p, const MapNode &n)
Definition: voxel.h:429
void clearFlag(u8 flag)
Definition: voxel.cpp:276
void copyTo(MapNode *dst, const VoxelArea &dst_area, v3s16 dst_pos, v3s16 from_pos, const v3s16 &size)
Definition: voxel.cpp:254
VoxelManipulator()=default
static const MapNode ContentIgnoreNode
Definition: voxel.h:507
bool setNodeNoEmerge(const v3s16 &p, MapNode n)
Definition: voxel.h:449
void addArea(const VoxelArea &area)
Definition: voxel.cpp:129
bool exists(const v3s16 &p)
Definition: voxel.h:423
VoxelArea m_area
Definition: voxel.h:494
void print(std::ostream &o, const NodeDefManager *nodemgr, VoxelPrintMode mode=VOXELPRINT_MATERIAL)
Definition: voxel.cpp:51
void setNodeNoRef(const v3s16 &p, const MapNode &n)
Definition: voxel.h:438
virtual void clear()
Definition: voxel.cpp:41
virtual ~VoxelManipulator()
Definition: voxel.cpp:36
MapNode getNode(const v3s16 &p)
Definition: voxel.h:365
core::vector3d< s16 > v3s16
Definition: irr_v3d.h:28
#define CONTENT_IGNORE
Definition: mapnode.h:71
Definition: mapnode.h:118
std::string p(std::string path)
Definition: test_filepath.cpp:59
u64 emerge_load_time
Definition: voxel.cpp:33
#define VOXELFLAG_NO_DATA
Definition: voxel.h:337
VoxelPrintMode
Definition: voxel.h:348
@ VOXELPRINT_WATERPRESSURE
Definition: voxel.h:351
@ VOXELPRINT_NOTHING
Definition: voxel.h:349
@ VOXELPRINT_LIGHT_DAY
Definition: voxel.h:352
@ VOXELPRINT_MATERIAL
Definition: voxel.h:350
u64 emerge_time
Definition: voxel.cpp:32