VoxelManipulator::~VoxelManipulator()
{
clear();
- if(m_data)
- delete[] m_data;
- if(m_flags)
- delete[] m_flags;
}
void VoxelManipulator::clear()
{
// Reset area to volume=0
m_area = VoxelArea();
- if(m_data)
- delete[] m_data;
+ delete[] m_data;
m_data = NULL;
- if(m_flags)
- delete[] m_flags;
+ delete[] m_flags;
m_flags = NULL;
}
void VoxelManipulator::addArea(const VoxelArea &area)
{
// Cancel if requested area has zero volume
- if(area.getExtent() == v3s16(0,0,0))
+ if (area.hasEmptyExtent())
return;
// Cancel if m_area already contains the requested area
// Calculate new area
VoxelArea new_area;
// New area is the requested area if m_area has zero volume
- if(m_area.getExtent() == v3s16(0,0,0))
+ if(m_area.hasEmptyExtent())
{
new_area = area;
}
dstream<<", new_size="<<new_size;
dstream<<std::endl;*/
- // Allocate and clear new data
+ // Allocate new data and clear flags
MapNode *new_data = new MapNode[new_size];
assert(new_data);
u8 *new_flags = new u8[new_size];
m_data = new_data;
m_flags = new_flags;
- if(old_data)
- delete[] old_data;
- if(old_flags)
- delete[] old_flags;
+ delete[] old_data;
+ delete[] old_flags;
//dstream<<"addArea done"<<std::endl;
}
std::map<v3s16, u8> & from_nodes,
std::set<v3s16> & light_sources, INodeDefManager *nodemgr)
{
- if(from_nodes.size() == 0)
+ if(from_nodes.empty())
return;
for(std::map<v3s16, u8>::iterator j = from_nodes.begin();
}
#endif
+const MapNode VoxelManipulator::ContentIgnoreNode = MapNode(CONTENT_IGNORE);
+
#if 1
/*
Lights neighbors of from_nodes, collects all them and then
v3s16(-1,0,0), // left
};
- if(from_nodes.size() == 0)
+ if(from_nodes.empty())
return;
std::set<v3s16> lighted_nodes;
<<" for "<<from_nodes.size()<<" nodes"
<<std::endl;*/
- if(lighted_nodes.size() > 0)
+ if(!lighted_nodes.empty())
spreadLight(bank, lighted_nodes, nodemgr);
}
#endif