Tidying code and removing warnings.
This commit is contained in:
parent
545aa92d14
commit
1d3c60f341
@ -5,7 +5,7 @@ SET(SRC_FILES
|
||||
source/IndexedSurfacePatch.cpp
|
||||
source/MarchingCubesTables.cpp
|
||||
source/PolyVoxSceneManager.cpp
|
||||
source/RegionGeometry.cpp
|
||||
source/RegionGeometry.cpp
|
||||
source/SurfaceVertex.cpp
|
||||
)
|
||||
|
||||
@ -19,9 +19,9 @@ SET(INC_FILES
|
||||
include/IndexedSurfacePatch.h
|
||||
include/MarchingCubesTables.h
|
||||
include/PolyVoxForwardDeclarations.h
|
||||
include/PolyVoxSceneManager.h
|
||||
include/PolyVoxSceneManager.h
|
||||
include/RegionGeometry.h
|
||||
include/SurfaceVertex.h
|
||||
include/SurfaceVertex.h
|
||||
include/TypeDef.h
|
||||
include/Vector.h
|
||||
include/Vector.inl
|
||||
@ -38,6 +38,8 @@ FIND_PACKAGE(Boost REQUIRED)
|
||||
# SET(BOOST_LIBRARIES boost_program_options boost_filesystem)
|
||||
#ENDIF(NOT WIN32)
|
||||
|
||||
|
||||
|
||||
ADD_DEFINITIONS(-DPOLYVOX_EXPORT) #Export symbols in the .dll
|
||||
|
||||
#Appends "_d" to the generated library when in debug mode
|
||||
@ -55,6 +57,9 @@ INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||
ADD_LIBRARY(PolyVoxSceneManager SHARED ${SRC_FILES} ${INC_FILES})
|
||||
TARGET_LINK_LIBRARIES(PolyVoxSceneManager)
|
||||
SET_TARGET_PROPERTIES(PolyVoxSceneManager PROPERTIES VERSION ${THERMITE_VERSION} SOVERSION ${THERMITE_VERSION_MAJOR})
|
||||
IF(WIN32)
|
||||
SET_TARGET_PROPERTIES(PolyVoxSceneManager PROPERTIES COMPILE_FLAGS "/wd4251") #Disable warning on STL exports
|
||||
ENDIF(WIN32)
|
||||
|
||||
#Install
|
||||
INSTALL(TARGETS PolyVoxSceneManager
|
||||
|
@ -19,22 +19,24 @@ namespace PolyVox
|
||||
~IndexedSurfacePatch();
|
||||
|
||||
void addTriangle(const SurfaceVertex& v0,const SurfaceVertex& v1,const SurfaceVertex& v2);
|
||||
void fillVertexAndIndexData(std::vector<SurfaceVertex>& vecVertices, std::vector<boost::uint16_t>& vecIndices);
|
||||
void fillVertexAndIndexData(std::vector<SurfaceVertex>& vecVertices, std::vector<boost::uint32_t>& vecIndices);
|
||||
|
||||
const std::vector<SurfaceVertex>& getVertices(void) const;
|
||||
std::vector<SurfaceVertex>& getVertices(void); //FIXME - non const version should be removed.
|
||||
const std::vector<boost::uint32_t>& getIndices(void) const;
|
||||
|
||||
//private:
|
||||
std::vector<boost::uint16_t> m_vecTriangleIndices;
|
||||
private:
|
||||
std::vector<boost::uint32_t> m_vecTriangleIndices;
|
||||
std::vector<SurfaceVertex> m_vecVertices;
|
||||
|
||||
static long int vertexIndices[POLYVOX_REGION_SIDE_LENGTH*2+1][POLYVOX_REGION_SIDE_LENGTH*2+1][POLYVOX_REGION_SIDE_LENGTH*2+1];
|
||||
static boost::int32_t vertexIndices[POLYVOX_REGION_SIDE_LENGTH*2+1][POLYVOX_REGION_SIDE_LENGTH*2+1][POLYVOX_REGION_SIDE_LENGTH*2+1];
|
||||
static boost::int32_t vertexIndicesX[POLYVOX_REGION_SIDE_LENGTH][POLYVOX_REGION_SIDE_LENGTH][POLYVOX_REGION_SIDE_LENGTH];
|
||||
static boost::int32_t vertexIndicesY[POLYVOX_REGION_SIDE_LENGTH][POLYVOX_REGION_SIDE_LENGTH][POLYVOX_REGION_SIDE_LENGTH];
|
||||
static boost::int32_t vertexIndicesZ[POLYVOX_REGION_SIDE_LENGTH][POLYVOX_REGION_SIDE_LENGTH][POLYVOX_REGION_SIDE_LENGTH];
|
||||
|
||||
static long int noOfVerticesSubmitted;
|
||||
static long int noOfVerticesAccepted;
|
||||
static long int noOfTrianglesSubmitted;
|
||||
|
||||
long int getSizeInBytes(void);
|
||||
static boost::int32_t noOfVerticesSubmitted;
|
||||
static boost::int32_t noOfVerticesAccepted;
|
||||
static boost::int32_t noOfTrianglesSubmitted;
|
||||
|
||||
boost::int32_t getIndexFor(const Vector3DFloat& pos);
|
||||
void setIndexFor(const Vector3DFloat& pos, boost::int32_t newIndex);
|
||||
@ -42,6 +44,7 @@ namespace PolyVox
|
||||
private:
|
||||
bool m_AllowDuplicateVertices;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* __IndexedSurfacePatch_H__ */
|
||||
|
@ -38,9 +38,6 @@ namespace PolyVox
|
||||
Vector3DInt32 m_v3dRegionPosition;
|
||||
IndexedSurfacePatch* m_patchSingleMaterial;
|
||||
IndexedSurfacePatch* m_patchMultiMaterial;
|
||||
|
||||
long int getSizeInBytes(void);
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -56,7 +56,6 @@ namespace PolyVox
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//bool operator < (const SurfaceVertexIterator& lhs, const SurfaceVertexIterator& rhs);
|
||||
}
|
||||
|
@ -111,6 +111,9 @@ namespace PolyVox
|
||||
typedef Vector<3,double> Vector3DDouble;
|
||||
typedef Vector<3,boost::int32_t> Vector3DInt32;
|
||||
typedef Vector<3,boost::uint32_t> Vector3DUint32;
|
||||
|
||||
|
||||
|
||||
}//namespace Thermite
|
||||
|
||||
#include "Vector.inl"
|
||||
|
@ -501,7 +501,7 @@ namespace PolyVox
|
||||
}
|
||||
for(boost::uint32_t ct = 0; ct < Size; ++ct)
|
||||
{
|
||||
m_tElements[ct] /= length;
|
||||
m_tElements[ct] /= static_cast<Type>(length);
|
||||
}
|
||||
}
|
||||
}//namespace Thermite
|
||||
|
@ -4,10 +4,10 @@ using namespace boost;
|
||||
|
||||
namespace PolyVox
|
||||
{
|
||||
long int IndexedSurfacePatch::noOfVerticesSubmitted = 0;
|
||||
long int IndexedSurfacePatch::noOfVerticesAccepted = 0;
|
||||
long int IndexedSurfacePatch::noOfTrianglesSubmitted = 0;
|
||||
long int IndexedSurfacePatch::vertexIndices[POLYVOX_REGION_SIDE_LENGTH*2+1][POLYVOX_REGION_SIDE_LENGTH*2+1][POLYVOX_REGION_SIDE_LENGTH*2+1];
|
||||
int32_t IndexedSurfacePatch::noOfVerticesSubmitted = 0;
|
||||
int32_t IndexedSurfacePatch::noOfVerticesAccepted = 0;
|
||||
int32_t IndexedSurfacePatch::noOfTrianglesSubmitted = 0;
|
||||
int32_t IndexedSurfacePatch::vertexIndices[POLYVOX_REGION_SIDE_LENGTH*2+1][POLYVOX_REGION_SIDE_LENGTH*2+1][POLYVOX_REGION_SIDE_LENGTH*2+1];
|
||||
int32_t IndexedSurfacePatch::vertexIndicesX[POLYVOX_REGION_SIDE_LENGTH][POLYVOX_REGION_SIDE_LENGTH][POLYVOX_REGION_SIDE_LENGTH];
|
||||
int32_t IndexedSurfacePatch::vertexIndicesY[POLYVOX_REGION_SIDE_LENGTH][POLYVOX_REGION_SIDE_LENGTH][POLYVOX_REGION_SIDE_LENGTH];
|
||||
int32_t IndexedSurfacePatch::vertexIndicesZ[POLYVOX_REGION_SIDE_LENGTH][POLYVOX_REGION_SIDE_LENGTH][POLYVOX_REGION_SIDE_LENGTH];
|
||||
@ -92,7 +92,7 @@ namespace PolyVox
|
||||
}
|
||||
}
|
||||
|
||||
void IndexedSurfacePatch::fillVertexAndIndexData(std::vector<SurfaceVertex>& vecVertices, std::vector<uint16_t>& vecIndices)
|
||||
void IndexedSurfacePatch::fillVertexAndIndexData(std::vector<SurfaceVertex>& vecVertices, std::vector<uint32_t>& vecIndices)
|
||||
{
|
||||
vecVertices.resize(m_vecVertices.size());
|
||||
std::copy(m_vecVertices.begin(), m_vecVertices.end(), vecVertices.begin());
|
||||
@ -107,14 +107,6 @@ namespace PolyVox
|
||||
}*/
|
||||
}
|
||||
|
||||
long int IndexedSurfacePatch::getSizeInBytes(void)
|
||||
{
|
||||
long int size = sizeof(IndexedSurfacePatch);
|
||||
size += m_vecVertices.capacity() * sizeof(m_vecVertices[0]);
|
||||
size += m_vecTriangleIndices.capacity() * sizeof(m_vecTriangleIndices[0]);
|
||||
return size;
|
||||
}
|
||||
|
||||
boost::int32_t IndexedSurfacePatch::getIndexFor(const Vector3DFloat& pos)
|
||||
{
|
||||
float xIntPart;
|
||||
@ -163,4 +155,19 @@ namespace PolyVox
|
||||
vertexIndicesZ[static_cast<uint16_t>(xIntPart)][static_cast<uint16_t>(yIntPart)][static_cast<uint16_t>(zIntPart)] = newIndex;
|
||||
}
|
||||
}
|
||||
|
||||
const std::vector<SurfaceVertex>& IndexedSurfacePatch::getVertices(void) const
|
||||
{
|
||||
return m_vecVertices;
|
||||
}
|
||||
|
||||
std::vector<SurfaceVertex>& IndexedSurfacePatch::getVertices(void)
|
||||
{
|
||||
return m_vecVertices;
|
||||
}
|
||||
|
||||
const std::vector<boost::uint32_t>& IndexedSurfacePatch::getIndices(void) const
|
||||
{
|
||||
return m_vecTriangleIndices;
|
||||
}
|
||||
}
|
||||
|
@ -73,9 +73,9 @@ namespace PolyVox
|
||||
|
||||
generateMeshDataForRegion(regionX,regionY,regionZ, regionGeometry.m_patchSingleMaterial, regionGeometry.m_patchMultiMaterial);
|
||||
|
||||
regionGeometry.m_bContainsSingleMaterialPatch = regionGeometry.m_patchSingleMaterial->m_vecVertices.size() > 0;
|
||||
regionGeometry.m_bContainsMultiMaterialPatch = regionGeometry.m_patchMultiMaterial->m_vecVertices.size() > 0;
|
||||
regionGeometry.m_bIsEmpty = ((regionGeometry.m_patchSingleMaterial->m_vecVertices.size() == 0) && (regionGeometry.m_patchMultiMaterial->m_vecTriangleIndices.size() == 0));
|
||||
regionGeometry.m_bContainsSingleMaterialPatch = regionGeometry.m_patchSingleMaterial->getVertices().size() > 0;
|
||||
regionGeometry.m_bContainsMultiMaterialPatch = regionGeometry.m_patchMultiMaterial->getVertices().size() > 0;
|
||||
regionGeometry.m_bIsEmpty = ((regionGeometry.m_patchSingleMaterial->getVertices().size() == 0) && (regionGeometry.m_patchMultiMaterial->getIndices().size() == 0));
|
||||
|
||||
listChangedRegionGeometry.push_back(regionGeometry);
|
||||
}
|
||||
@ -515,16 +515,16 @@ namespace PolyVox
|
||||
//for(std::map<uint8_t, IndexedSurfacePatch*>::iterator iterPatch = surfacePatchMapResult.begin(); iterPatch != surfacePatchMapResult.end(); ++iterPatch)
|
||||
{
|
||||
|
||||
std::vector<SurfaceVertex>::iterator iterSurfaceVertex = singleMaterialPatch->m_vecVertices.begin();
|
||||
while(iterSurfaceVertex != singleMaterialPatch->m_vecVertices.end())
|
||||
std::vector<SurfaceVertex>::iterator iterSurfaceVertex = singleMaterialPatch->getVertices().begin();
|
||||
while(iterSurfaceVertex != singleMaterialPatch->getVertices().end())
|
||||
{
|
||||
Vector3DFloat tempNormal = computeNormal(static_cast<Vector3DFloat>(iterSurfaceVertex->getPosition() + offset), CENTRAL_DIFFERENCE);
|
||||
const_cast<SurfaceVertex&>(*iterSurfaceVertex).setNormal(tempNormal);
|
||||
++iterSurfaceVertex;
|
||||
}
|
||||
|
||||
iterSurfaceVertex = multiMaterialPatch->m_vecVertices.begin();
|
||||
while(iterSurfaceVertex != multiMaterialPatch->m_vecVertices.end())
|
||||
iterSurfaceVertex = multiMaterialPatch->getVertices().begin();
|
||||
while(iterSurfaceVertex != multiMaterialPatch->getVertices().end())
|
||||
{
|
||||
Vector3DFloat tempNormal = computeNormal(static_cast<Vector3DFloat>(iterSurfaceVertex->getPosition() + offset), CENTRAL_DIFFERENCE);
|
||||
const_cast<SurfaceVertex&>(*iterSurfaceVertex).setNormal(tempNormal);
|
||||
|
@ -3,22 +3,7 @@
|
||||
|
||||
namespace PolyVox
|
||||
{
|
||||
|
||||
RegionGeometry::RegionGeometry()
|
||||
{
|
||||
}
|
||||
|
||||
long int RegionGeometry::getSizeInBytes(void)
|
||||
{
|
||||
long int size = sizeof(RegionGeometry);
|
||||
if(m_patchSingleMaterial)
|
||||
{
|
||||
size += m_patchSingleMaterial->getSizeInBytes();
|
||||
}
|
||||
if(m_patchMultiMaterial)
|
||||
{
|
||||
size += m_patchMultiMaterial->getSizeInBytes();
|
||||
}
|
||||
return size;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user