Merge branch 'feature/header-only' into develop
This commit is contained in:
commit
74089437b3
@ -50,7 +50,7 @@ endif()
|
|||||||
FIND_PACKAGE(Doxygen)
|
FIND_PACKAGE(Doxygen)
|
||||||
|
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(library)
|
ADD_SUBDIRECTORY(include)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -90,6 +90,7 @@ ENDIF()
|
|||||||
|
|
||||||
ADD_SUBDIRECTORY(documentation)
|
ADD_SUBDIRECTORY(documentation)
|
||||||
|
|
||||||
|
ADD_SUBDIRECTORY(bindings)
|
||||||
|
|
||||||
set_package_properties(Doxygen PROPERTIES URL http://www.doxygen.org DESCRIPTION "API documentation generator" TYPE OPTIONAL PURPOSE "Building the API documentation")
|
set_package_properties(Doxygen PROPERTIES URL http://www.doxygen.org DESCRIPTION "API documentation generator" TYPE OPTIONAL PURPOSE "Building the API documentation")
|
||||||
set_package_properties(Qt4 PROPERTIES DESCRIPTION "C++ framework" URL http://qt-project.org)
|
set_package_properties(Qt4 PROPERTIES DESCRIPTION "C++ framework" URL http://qt-project.org)
|
||||||
|
@ -39,8 +39,7 @@ add_definitions(-DGLEW_STATIC)
|
|||||||
FIND_PACKAGE(OpenGL REQUIRED)
|
FIND_PACKAGE(OpenGL REQUIRED)
|
||||||
|
|
||||||
#Tell CMake the paths for OpenGL and for PolyVox (which is just relative to our current location)
|
#Tell CMake the paths for OpenGL and for PolyVox (which is just relative to our current location)
|
||||||
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR} ${PolyVoxCore_BINARY_DIR}/include ${PolyVoxCore_SOURCE_DIR}/include ${GLEW_SOURCE_DIR})
|
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR} ${PolyVoxHeaders_SOURCE_DIR} ${GLEW_SOURCE_DIR})
|
||||||
LINK_DIRECTORIES(${PolyVoxCore_BINARY_DIR})
|
|
||||||
|
|
||||||
#This will include the shader files inside the compiled binary
|
#This will include the shader files inside the compiled binary
|
||||||
QT4_ADD_RESOURCES(COMMON_RESOURCES_RCC ../common/example.qrc)
|
QT4_ADD_RESOURCES(COMMON_RESOURCES_RCC ../common/example.qrc)
|
||||||
@ -53,7 +52,7 @@ ADD_EXECUTABLE(BasicExample ${SRC_FILES} ${COMMON_RESOURCES_RCC})
|
|||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
SET_TARGET_PROPERTIES(BasicExample PROPERTIES COMPILE_FLAGS "/W4 /wd4127")
|
SET_TARGET_PROPERTIES(BasicExample PROPERTIES COMPILE_FLAGS "/W4 /wd4127")
|
||||||
ENDIF(MSVC)
|
ENDIF(MSVC)
|
||||||
TARGET_LINK_LIBRARIES(BasicExample glew ${QT_LIBRARIES} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} PolyVoxCore)
|
TARGET_LINK_LIBRARIES(BasicExample glew ${QT_LIBRARIES} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})
|
||||||
SET_PROPERTY(TARGET BasicExample PROPERTY FOLDER "Examples")
|
SET_PROPERTY(TARGET BasicExample PROPERTY FOLDER "Examples")
|
||||||
|
|
||||||
#Install - Only install the example in Windows
|
#Install - Only install the example in Windows
|
||||||
@ -64,11 +63,4 @@ IF(WIN32)
|
|||||||
ARCHIVE DESTINATION Examples/OpenGL/lib
|
ARCHIVE DESTINATION Examples/OpenGL/lib
|
||||||
COMPONENT example
|
COMPONENT example
|
||||||
)
|
)
|
||||||
|
|
||||||
#.dlls should be installed in shared builds.
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../release/PolyVoxCore.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Release)
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../release/PolyVoxUtil.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Release)
|
|
||||||
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../debug/PolyVoxCore.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Debug)
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../debug/PolyVoxUtil.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Debug)
|
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
@ -23,10 +23,10 @@ freely, subject to the following restrictions:
|
|||||||
|
|
||||||
#include "OpenGLWidget.h"
|
#include "OpenGLWidget.h"
|
||||||
|
|
||||||
#include "PolyVoxCore/CubicSurfaceExtractor.h"
|
#include "PolyVox/CubicSurfaceExtractor.h"
|
||||||
#include "PolyVoxCore/MarchingCubesSurfaceExtractor.h"
|
#include "PolyVox/MarchingCubesSurfaceExtractor.h"
|
||||||
#include "PolyVoxCore/Mesh.h"
|
#include "PolyVox/Mesh.h"
|
||||||
#include "PolyVoxCore/PagedVolume.h"
|
#include "PolyVox/PagedVolume.h"
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
|
||||||
|
@ -39,8 +39,7 @@ add_definitions(-DGLEW_STATIC)
|
|||||||
FIND_PACKAGE(OpenGL REQUIRED)
|
FIND_PACKAGE(OpenGL REQUIRED)
|
||||||
|
|
||||||
#Tell CMake the paths for OpenGL and for PolyVox (which is just relative to our current location)
|
#Tell CMake the paths for OpenGL and for PolyVox (which is just relative to our current location)
|
||||||
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR} ${PolyVoxCore_BINARY_DIR}/include ${PolyVoxCore_SOURCE_DIR}/include ${GLEW_SOURCE_DIR})
|
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR} ${PolyVoxHeaders_SOURCE_DIR} ${GLEW_SOURCE_DIR})
|
||||||
LINK_DIRECTORIES(${PolyVoxCore_BINARY_DIR})
|
|
||||||
|
|
||||||
#This will include the shader files inside the compiled binary
|
#This will include the shader files inside the compiled binary
|
||||||
QT4_ADD_RESOURCES(COMMON_RESOURCES_RCC ../common/example.qrc)
|
QT4_ADD_RESOURCES(COMMON_RESOURCES_RCC ../common/example.qrc)
|
||||||
@ -54,7 +53,7 @@ ADD_EXECUTABLE(DecodeOnGPUExample ${SRC_FILES} ${COMMON_RESOURCES_RCC} ${DECODE_
|
|||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
SET_TARGET_PROPERTIES(DecodeOnGPUExample PROPERTIES COMPILE_FLAGS "/W4 /wd4127")
|
SET_TARGET_PROPERTIES(DecodeOnGPUExample PROPERTIES COMPILE_FLAGS "/W4 /wd4127")
|
||||||
ENDIF(MSVC)
|
ENDIF(MSVC)
|
||||||
TARGET_LINK_LIBRARIES(DecodeOnGPUExample glew ${QT_LIBRARIES} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} PolyVoxCore)
|
TARGET_LINK_LIBRARIES(DecodeOnGPUExample glew ${QT_LIBRARIES} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})
|
||||||
SET_PROPERTY(TARGET DecodeOnGPUExample PROPERTY FOLDER "Examples")
|
SET_PROPERTY(TARGET DecodeOnGPUExample PROPERTY FOLDER "Examples")
|
||||||
|
|
||||||
#Install - Only install the example in Windows
|
#Install - Only install the example in Windows
|
||||||
@ -65,11 +64,4 @@ IF(WIN32)
|
|||||||
ARCHIVE DESTINATION Examples/OpenGL/lib
|
ARCHIVE DESTINATION Examples/OpenGL/lib
|
||||||
COMPONENT example
|
COMPONENT example
|
||||||
)
|
)
|
||||||
|
|
||||||
#.dlls should be installed in shared builds.
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../release/PolyVoxCore.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Release)
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../release/PolyVoxUtil.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Release)
|
|
||||||
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../debug/PolyVoxCore.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Debug)
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../debug/PolyVoxUtil.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Debug)
|
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
@ -23,10 +23,10 @@ freely, subject to the following restrictions:
|
|||||||
|
|
||||||
#include "OpenGLWidget.h"
|
#include "OpenGLWidget.h"
|
||||||
|
|
||||||
#include "PolyVoxCore/CubicSurfaceExtractor.h"
|
#include "PolyVox/CubicSurfaceExtractor.h"
|
||||||
#include "PolyVoxCore/MarchingCubesSurfaceExtractor.h"
|
#include "PolyVox/MarchingCubesSurfaceExtractor.h"
|
||||||
#include "PolyVoxCore/Mesh.h"
|
#include "PolyVox/Mesh.h"
|
||||||
#include "PolyVoxCore/PagedVolume.h"
|
#include "PolyVox/PagedVolume.h"
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
|
||||||
|
@ -41,8 +41,7 @@ add_definitions(-DGLEW_STATIC)
|
|||||||
FIND_PACKAGE(OpenGL REQUIRED)
|
FIND_PACKAGE(OpenGL REQUIRED)
|
||||||
|
|
||||||
#Tell CMake the paths for OpenGL and for PolyVox (which is just relative to our current location)
|
#Tell CMake the paths for OpenGL and for PolyVox (which is just relative to our current location)
|
||||||
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR} ${PolyVoxCore_BINARY_DIR}/include ${PolyVoxCore_SOURCE_DIR}/include ${GLEW_SOURCE_DIR})
|
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR} ${PolyVoxHeaders_SOURCE_DIR} ${GLEW_SOURCE_DIR})
|
||||||
LINK_DIRECTORIES(${PolyVoxCore_BINARY_DIR})
|
|
||||||
|
|
||||||
#This will include the shader files inside the compiled binary
|
#This will include the shader files inside the compiled binary
|
||||||
QT4_ADD_RESOURCES(COMMON_RESOURCES_RCC ../common/example.qrc)
|
QT4_ADD_RESOURCES(COMMON_RESOURCES_RCC ../common/example.qrc)
|
||||||
@ -56,7 +55,7 @@ ADD_EXECUTABLE(OpenGLExample ${SRC_FILES} ${COMMON_RESOURCES_RCC} ${OPENGLEXAMPL
|
|||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
SET_TARGET_PROPERTIES(OpenGLExample PROPERTIES COMPILE_FLAGS "/W4 /wd4127")
|
SET_TARGET_PROPERTIES(OpenGLExample PROPERTIES COMPILE_FLAGS "/W4 /wd4127")
|
||||||
ENDIF(MSVC)
|
ENDIF(MSVC)
|
||||||
TARGET_LINK_LIBRARIES(OpenGLExample glew ${QT_LIBRARIES} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} PolyVoxCore)
|
TARGET_LINK_LIBRARIES(OpenGLExample glew ${QT_LIBRARIES} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})
|
||||||
SET_PROPERTY(TARGET OpenGLExample PROPERTY FOLDER "Examples")
|
SET_PROPERTY(TARGET OpenGLExample PROPERTY FOLDER "Examples")
|
||||||
|
|
||||||
#Install - Only install the example in Windows
|
#Install - Only install the example in Windows
|
||||||
@ -67,11 +66,4 @@ IF(WIN32)
|
|||||||
ARCHIVE DESTINATION Examples/OpenGL/lib
|
ARCHIVE DESTINATION Examples/OpenGL/lib
|
||||||
COMPONENT example
|
COMPONENT example
|
||||||
)
|
)
|
||||||
|
|
||||||
#.dlls should be installed in shared builds.
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../release/PolyVoxCore.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Release)
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../release/PolyVoxUtil.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Release)
|
|
||||||
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../debug/PolyVoxCore.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Debug)
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../debug/PolyVoxUtil.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Debug)
|
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
@ -23,7 +23,7 @@ freely, subject to the following restrictions:
|
|||||||
|
|
||||||
#include "Shapes.h"
|
#include "Shapes.h"
|
||||||
|
|
||||||
#include "PolyVoxCore/MaterialDensityPair.h"
|
#include "PolyVox/MaterialDensityPair.h"
|
||||||
|
|
||||||
using namespace PolyVox;
|
using namespace PolyVox;
|
||||||
|
|
||||||
|
@ -24,8 +24,8 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __OpenGLExample_Shapes_H__
|
#ifndef __OpenGLExample_Shapes_H__
|
||||||
#define __OpenGLExample_Shapes_H__
|
#define __OpenGLExample_Shapes_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/PagedVolume.h"
|
#include "PolyVox/PagedVolume.h"
|
||||||
#include "PolyVoxCore/MaterialDensityPair.h"
|
#include "PolyVox/MaterialDensityPair.h"
|
||||||
|
|
||||||
void createSphereInVolume(PolyVox::LargeVolume<PolyVox::MaterialDensityPair88>& volData, float fRadius, uint8_t uValue);
|
void createSphereInVolume(PolyVox::LargeVolume<PolyVox::MaterialDensityPair88>& volData, float fRadius, uint8_t uValue);
|
||||||
void createCubeInVolume(PolyVox::LargeVolume<PolyVox::MaterialDensityPair88>& volData, PolyVox::Vector3DInt32 lowerCorner, PolyVox::Vector3DInt32 upperCorner, uint8_t uValue);
|
void createCubeInVolume(PolyVox::LargeVolume<PolyVox::MaterialDensityPair88>& volData, PolyVox::Vector3DInt32 lowerCorner, PolyVox::Vector3DInt32 upperCorner, uint8_t uValue);
|
||||||
|
@ -21,13 +21,13 @@ freely, subject to the following restrictions:
|
|||||||
distribution.
|
distribution.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#include "PolyVoxCore/FilePager.h"
|
#include "PolyVox/FilePager.h"
|
||||||
#include "PolyVoxCore/MarchingCubesSurfaceExtractor.h"
|
#include "PolyVox/MarchingCubesSurfaceExtractor.h"
|
||||||
#include "PolyVoxCore/MaterialDensityPair.h"
|
#include "PolyVox/MaterialDensityPair.h"
|
||||||
#include "PolyVoxCore/LowPassFilter.h"
|
#include "PolyVox/LowPassFilter.h"
|
||||||
#include "PolyVoxCore/RawVolume.h"
|
#include "PolyVox/RawVolume.h"
|
||||||
#include "PolyVoxCore/Mesh.h"
|
#include "PolyVox/Mesh.h"
|
||||||
#include "PolyVoxCore/Impl/Utility.h"
|
#include "PolyVox/Impl/Utility.h"
|
||||||
|
|
||||||
#include "Shapes.h"
|
#include "Shapes.h"
|
||||||
|
|
||||||
|
@ -41,8 +41,7 @@ add_definitions(-DGLEW_STATIC)
|
|||||||
FIND_PACKAGE(OpenGL REQUIRED)
|
FIND_PACKAGE(OpenGL REQUIRED)
|
||||||
|
|
||||||
#Tell CMake the paths for OpenGL and for PolyVox (which is just relative to our current location)
|
#Tell CMake the paths for OpenGL and for PolyVox (which is just relative to our current location)
|
||||||
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR} ${PolyVoxCore_BINARY_DIR}/include ${PolyVoxCore_SOURCE_DIR}/include ${GLEW_SOURCE_DIR})
|
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR} ${PolyVoxHeaders_SOURCE_DIR} ${GLEW_SOURCE_DIR})
|
||||||
LINK_DIRECTORIES(${PolyVoxCore_BINARY_DIR})
|
|
||||||
|
|
||||||
#This will include the shader files inside the compiled binary
|
#This will include the shader files inside the compiled binary
|
||||||
QT4_ADD_RESOURCES(COMMON_RESOURCES_RCC ../common/example.qrc)
|
QT4_ADD_RESOURCES(COMMON_RESOURCES_RCC ../common/example.qrc)
|
||||||
@ -55,7 +54,7 @@ ADD_EXECUTABLE(PagingExample ${SRC_FILES} ${COMMON_RESOURCES_RCC})
|
|||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
SET_TARGET_PROPERTIES(PagingExample PROPERTIES COMPILE_FLAGS "/W4 /wd4127")
|
SET_TARGET_PROPERTIES(PagingExample PROPERTIES COMPILE_FLAGS "/W4 /wd4127")
|
||||||
ENDIF(MSVC)
|
ENDIF(MSVC)
|
||||||
TARGET_LINK_LIBRARIES(PagingExample glew ${QT_LIBRARIES} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} PolyVoxCore)
|
TARGET_LINK_LIBRARIES(PagingExample glew ${QT_LIBRARIES} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})
|
||||||
SET_PROPERTY(TARGET PagingExample PROPERTY FOLDER "Examples")
|
SET_PROPERTY(TARGET PagingExample PROPERTY FOLDER "Examples")
|
||||||
|
|
||||||
configure_file(../common/example.vert example.vert COPYONLY)
|
configure_file(../common/example.vert example.vert COPYONLY)
|
||||||
@ -69,11 +68,4 @@ IF(WIN32)
|
|||||||
ARCHIVE DESTINATION Examples/OpenGL/lib
|
ARCHIVE DESTINATION Examples/OpenGL/lib
|
||||||
COMPONENT example
|
COMPONENT example
|
||||||
)
|
)
|
||||||
|
|
||||||
#.dlls should be installed in shared builds.
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../release/PolyVoxCore.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Release)
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../release/PolyVoxUtil.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Release)
|
|
||||||
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../debug/PolyVoxCore.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Debug)
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../debug/PolyVoxUtil.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Debug)
|
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
@ -24,11 +24,11 @@ freely, subject to the following restrictions:
|
|||||||
#include "OpenGLWidget.h"
|
#include "OpenGLWidget.h"
|
||||||
#include "Perlin.h"
|
#include "Perlin.h"
|
||||||
|
|
||||||
#include "PolyVoxCore/MaterialDensityPair.h"
|
#include "PolyVox/MaterialDensityPair.h"
|
||||||
#include "PolyVoxCore/CubicSurfaceExtractor.h"
|
#include "PolyVox/CubicSurfaceExtractor.h"
|
||||||
#include "PolyVoxCore/MarchingCubesSurfaceExtractor.h"
|
#include "PolyVox/MarchingCubesSurfaceExtractor.h"
|
||||||
#include "PolyVoxCore/Mesh.h"
|
#include "PolyVox/Mesh.h"
|
||||||
#include "PolyVoxCore/PagedVolume.h"
|
#include "PolyVox/PagedVolume.h"
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
|
||||||
@ -147,7 +147,7 @@ int main(int argc, char *argv[])
|
|||||||
openGLWidget.show();
|
openGLWidget.show();
|
||||||
|
|
||||||
PerlinNoisePager* pager = new PerlinNoisePager();
|
PerlinNoisePager* pager = new PerlinNoisePager();
|
||||||
PagedVolume<MaterialDensityPair44> volData(PolyVox::Region::MaxRegion, pager, 64);
|
PagedVolume<MaterialDensityPair44> volData(PolyVox::Region::MaxRegion(), pager, 64);
|
||||||
volData.setMemoryUsageLimit(8 * 1024 * 1024); // 8Mb
|
volData.setMemoryUsageLimit(8 * 1024 * 1024); // 8Mb
|
||||||
|
|
||||||
//createSphereInVolume(volData, 30);
|
//createSphereInVolume(volData, 30);
|
||||||
|
@ -39,8 +39,7 @@ add_definitions(-DGLEW_STATIC)
|
|||||||
FIND_PACKAGE(OpenGL REQUIRED)
|
FIND_PACKAGE(OpenGL REQUIRED)
|
||||||
|
|
||||||
#Tell CMake the paths for OpenGL and for PolyVox (which is just relative to our current location)
|
#Tell CMake the paths for OpenGL and for PolyVox (which is just relative to our current location)
|
||||||
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR} ${PolyVoxCore_BINARY_DIR}/include ${PolyVoxCore_SOURCE_DIR}/include ${GLEW_SOURCE_DIR})
|
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR} ${PolyVoxHeaders_SOURCE_DIR} ${GLEW_SOURCE_DIR})
|
||||||
LINK_DIRECTORIES(${PolyVoxCore_BINARY_DIR})
|
|
||||||
|
|
||||||
#This will include the shader files inside the compiled binary
|
#This will include the shader files inside the compiled binary
|
||||||
QT4_ADD_RESOURCES(COMMON_RESOURCES_RCC ../common/example.qrc)
|
QT4_ADD_RESOURCES(COMMON_RESOURCES_RCC ../common/example.qrc)
|
||||||
@ -53,7 +52,7 @@ ADD_EXECUTABLE(SmoothLODExample ${SRC_FILES} ${COMMON_RESOURCES_RCC})
|
|||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
SET_TARGET_PROPERTIES(SmoothLODExample PROPERTIES COMPILE_FLAGS "/W4 /wd4127") #All warnings
|
SET_TARGET_PROPERTIES(SmoothLODExample PROPERTIES COMPILE_FLAGS "/W4 /wd4127") #All warnings
|
||||||
ENDIF(MSVC)
|
ENDIF(MSVC)
|
||||||
TARGET_LINK_LIBRARIES(SmoothLODExample glew ${QT_LIBRARIES} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} PolyVoxCore)
|
TARGET_LINK_LIBRARIES(SmoothLODExample glew ${QT_LIBRARIES} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})
|
||||||
SET_PROPERTY(TARGET SmoothLODExample PROPERTY FOLDER "Examples")
|
SET_PROPERTY(TARGET SmoothLODExample PROPERTY FOLDER "Examples")
|
||||||
|
|
||||||
configure_file(../common/example.vert example.vert COPYONLY)
|
configure_file(../common/example.vert example.vert COPYONLY)
|
||||||
@ -67,11 +66,4 @@ IF(WIN32)
|
|||||||
ARCHIVE DESTINATION Examples/OpenGL/lib
|
ARCHIVE DESTINATION Examples/OpenGL/lib
|
||||||
COMPONENT example
|
COMPONENT example
|
||||||
)
|
)
|
||||||
|
|
||||||
#.dlls should be installed in shared builds.
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../release/PolyVoxCore.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Release)
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../release/PolyVoxUtil.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Release)
|
|
||||||
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../debug/PolyVoxCore.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Debug)
|
|
||||||
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/../../debug/PolyVoxUtil.dll DESTINATION Examples/OpenGL/bin CONFIGURATIONS Debug)
|
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
@ -23,12 +23,12 @@ freely, subject to the following restrictions:
|
|||||||
|
|
||||||
#include "OpenGLWidget.h"
|
#include "OpenGLWidget.h"
|
||||||
|
|
||||||
#include "PolyVoxCore/Density.h"
|
#include "PolyVox/Density.h"
|
||||||
#include "PolyVoxCore/MarchingCubesSurfaceExtractor.h"
|
#include "PolyVox/MarchingCubesSurfaceExtractor.h"
|
||||||
#include "PolyVoxCore/Mesh.h"
|
#include "PolyVox/Mesh.h"
|
||||||
#include "PolyVoxCore/RawVolume.h"
|
#include "PolyVox/RawVolume.h"
|
||||||
#include "PolyVoxCore/PagedVolume.h"
|
#include "PolyVox/PagedVolume.h"
|
||||||
#include "PolyVoxCore/VolumeResampler.h"
|
#include "PolyVox/VolumeResampler.h"
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ distribution.
|
|||||||
#ifndef __BasicExample_OpenGLWidget_H__
|
#ifndef __BasicExample_OpenGLWidget_H__
|
||||||
#define __BasicExample_OpenGLWidget_H__
|
#define __BasicExample_OpenGLWidget_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/Mesh.h"
|
#include "PolyVox/Mesh.h"
|
||||||
|
|
||||||
#include "glew/glew.h"
|
#include "glew/glew.h"
|
||||||
|
|
||||||
|
@ -22,26 +22,108 @@
|
|||||||
|
|
||||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
|
||||||
|
|
||||||
PROJECT(PolyVox)
|
PROJECT(PolyVoxHeaders)
|
||||||
|
|
||||||
add_subdirectory(PolyVoxCore)
|
#Projects headers files
|
||||||
add_subdirectory(PolyVoxUtil)
|
SET(CORE_INC_FILES
|
||||||
add_subdirectory(bindings)
|
PolyVox/AmbientOcclusionCalculator.h
|
||||||
|
PolyVox/AmbientOcclusionCalculator.inl
|
||||||
|
PolyVox/Array.h
|
||||||
|
PolyVox/AStarPathfinder.h
|
||||||
|
PolyVox/AStarPathfinder.inl
|
||||||
|
PolyVox/BaseVolume.h
|
||||||
|
PolyVox/BaseVolume.inl
|
||||||
|
PolyVox/BaseVolumeSampler.inl
|
||||||
|
PolyVox/CubicSurfaceExtractor.h
|
||||||
|
PolyVox/CubicSurfaceExtractor.inl
|
||||||
|
PolyVox/DefaultIsQuadNeeded.h
|
||||||
|
PolyVox/DefaultMarchingCubesController.h
|
||||||
|
PolyVox/Density.h
|
||||||
|
PolyVox/FilePager.h
|
||||||
|
PolyVox/GradientEstimators.h
|
||||||
|
PolyVox/GradientEstimators.inl
|
||||||
|
PolyVox/Interpolation.h
|
||||||
|
PolyVox/IteratorController.h
|
||||||
|
PolyVox/IteratorController.inl
|
||||||
|
PolyVox/LargeVolume.h
|
||||||
|
PolyVox/LowPassFilter.h
|
||||||
|
PolyVox/LowPassFilter.inl
|
||||||
|
PolyVox/MarchingCubesSurfaceExtractor.h
|
||||||
|
PolyVox/MarchingCubesSurfaceExtractor.inl
|
||||||
|
PolyVox/Material.h
|
||||||
|
PolyVox/MaterialDensityPair.h
|
||||||
|
PolyVox/Mesh.h
|
||||||
|
PolyVox/Mesh.inl
|
||||||
|
PolyVox/PagedVolume.h
|
||||||
|
PolyVox/PagedVolume.inl
|
||||||
|
PolyVox/PagedVolumeChunk.inl
|
||||||
|
PolyVox/PagedVolumeSampler.inl
|
||||||
|
PolyVox/PolyVoxForwardDeclarations.h
|
||||||
|
PolyVox/Picking.h
|
||||||
|
PolyVox/Picking.inl
|
||||||
|
PolyVox/RawVolume.h
|
||||||
|
PolyVox/RawVolume.inl
|
||||||
|
PolyVox/RawVolumeSampler.inl
|
||||||
|
PolyVox/Raycast.h
|
||||||
|
PolyVox/Raycast.inl
|
||||||
|
PolyVox/Region.h
|
||||||
|
PolyVox/Region.inl
|
||||||
|
PolyVox/SimpleVolume.h
|
||||||
|
PolyVox/Vector.h
|
||||||
|
PolyVox/Vector.inl
|
||||||
|
PolyVox/Vertex.h
|
||||||
|
PolyVox/VolumeResampler.h
|
||||||
|
PolyVox/VolumeResampler.inl
|
||||||
|
PolyVox/VoxelFilters.h
|
||||||
|
PolyVox/VoxelFilters.inl
|
||||||
|
)
|
||||||
|
|
||||||
|
SET(IMPL_INC_FILES
|
||||||
|
PolyVox/Impl/AStarPathfinderImpl.h
|
||||||
|
PolyVox/Impl/Config.h
|
||||||
|
PolyVox/Impl/ErrorHandling.h
|
||||||
|
PolyVox/Impl/Logging.h
|
||||||
|
PolyVox/Impl/MarchingCubesTables.h
|
||||||
|
PolyVox/Impl/RandomUnitVectors.h
|
||||||
|
PolyVox/Impl/RandomVectors.h
|
||||||
|
PolyVox/Impl/Timer.h
|
||||||
|
PolyVox/Impl/TypeDef.h
|
||||||
|
PolyVox/Impl/Utility.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#NOTE: The following line should be uncommented when building shared libs.
|
||||||
|
|
||||||
|
#"Sources" and "Headers" are the group names in Visual Studio.
|
||||||
|
#They may have other uses too...
|
||||||
|
#SOURCE_GROUP("Source Files" FILES ${CORE_SRC_FILES})
|
||||||
|
SOURCE_GROUP("Header Files" FILES ${CORE_INC_FILES})
|
||||||
|
|
||||||
|
#SOURCE_GROUP("Source Files\\Impl" FILES ${IMPL_SRC_FILES})
|
||||||
|
SOURCE_GROUP("Header Files\\Impl" FILES ${IMPL_INC_FILES})
|
||||||
|
|
||||||
|
#Tell CMake the paths
|
||||||
|
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||||
|
|
||||||
|
#Core
|
||||||
|
|
||||||
|
#Build
|
||||||
|
# Although we don't build anything for PolyVox, we still add this custom target (which
|
||||||
|
# doesn't do anything) so that we can browse the source code from within Visual Studio.
|
||||||
|
ADD_CUSTOM_TARGET(PolyVoxCore SOURCES ${CORE_INC_FILES})
|
||||||
|
|
||||||
|
#Install the core header files, including the ones in the Impl subfolder.
|
||||||
|
INSTALL(DIRECTORY PolyVox/ DESTINATION include/PolyVox COMPONENT development PATTERN "*.git*" EXCLUDE)
|
||||||
|
|
||||||
#Set up install paths e.g. for PolyVoxConfig.cmake
|
#Set up install paths e.g. for PolyVoxConfig.cmake
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(CONFIG_FILE_DIR "CMake")
|
set(CONFIG_FILE_DIR "CMake")
|
||||||
set(PolyVoxCore_LIBRARY_INSTALL_DIRS "PolyVoxCore/lib")
|
set(PolyVoxCore_LIBRARY_INSTALL_DIRS "PolyVoxCore/lib")
|
||||||
set(PolyVoxUtil_LIBRARY_INSTALL_DIRS "PolyVoxUtil/lib")
|
|
||||||
set(PolyVoxCore_INCLUDE_INSTALL_DIRS "PolyVoxCore/include")
|
set(PolyVoxCore_INCLUDE_INSTALL_DIRS "PolyVoxCore/include")
|
||||||
set(PolyVoxUtil_INCLUDE_INSTALL_DIRS "PolyVoxUtil/include")
|
|
||||||
set(PolyVox_DOC_INSTALL_DIR "PolyVox/doc")
|
set(PolyVox_DOC_INSTALL_DIR "PolyVox/doc")
|
||||||
else(WIN32)
|
else(WIN32)
|
||||||
set(CONFIG_FILE_DIR "share/PolyVox/cmake")
|
set(CONFIG_FILE_DIR "share/PolyVox/cmake")
|
||||||
set(PolyVoxCore_LIBRARY_INSTALL_DIRS "lib")
|
set(PolyVoxCore_LIBRARY_INSTALL_DIRS "lib")
|
||||||
set(PolyVoxUtil_LIBRARY_INSTALL_DIRS "lib")
|
|
||||||
set(PolyVoxCore_INCLUDE_INSTALL_DIRS "include/PolyVoxCore")
|
set(PolyVoxCore_INCLUDE_INSTALL_DIRS "include/PolyVoxCore")
|
||||||
set(PolyVoxUtil_INCLUDE_INSTALL_DIRS "include/PolyVoxUtil")
|
|
||||||
set(PolyVox_DOC_INSTALL_DIR "share/doc/packages/polyvox")
|
set(PolyVox_DOC_INSTALL_DIR "share/doc/packages/polyvox")
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
|
|
@ -37,9 +37,43 @@ namespace PolyVox
|
|||||||
const float sqrt_2 = 1.4143f;
|
const float sqrt_2 = 1.4143f;
|
||||||
const float sqrt_3 = 1.7321f;
|
const float sqrt_3 = 1.7321f;
|
||||||
|
|
||||||
extern const POLYVOX_API Vector3DInt32 arrayPathfinderFaces[6];
|
const Vector3DInt32 arrayPathfinderFaces[6] =
|
||||||
extern const POLYVOX_API Vector3DInt32 arrayPathfinderEdges[12];
|
{
|
||||||
extern const POLYVOX_API Vector3DInt32 arrayPathfinderCorners[8];
|
Vector3DInt32(0, 0, -1),
|
||||||
|
Vector3DInt32(0, 0, +1),
|
||||||
|
Vector3DInt32(0, -1, 0),
|
||||||
|
Vector3DInt32(0, +1, 0),
|
||||||
|
Vector3DInt32(-1, 0, 0),
|
||||||
|
Vector3DInt32(+1, 0, 0)
|
||||||
|
};
|
||||||
|
|
||||||
|
const Vector3DInt32 arrayPathfinderEdges[12] =
|
||||||
|
{
|
||||||
|
Vector3DInt32(0, -1, -1),
|
||||||
|
Vector3DInt32(0, -1, +1),
|
||||||
|
Vector3DInt32(0, +1, -1),
|
||||||
|
Vector3DInt32(0, +1, +1),
|
||||||
|
Vector3DInt32(-1, 0, -1),
|
||||||
|
Vector3DInt32(-1, 0, +1),
|
||||||
|
Vector3DInt32(+1, 0, -1),
|
||||||
|
Vector3DInt32(+1, 0, +1),
|
||||||
|
Vector3DInt32(-1, -1, 0),
|
||||||
|
Vector3DInt32(-1, +1, 0),
|
||||||
|
Vector3DInt32(+1, -1, 0),
|
||||||
|
Vector3DInt32(+1, +1, 0)
|
||||||
|
};
|
||||||
|
|
||||||
|
const Vector3DInt32 arrayPathfinderCorners[8] =
|
||||||
|
{
|
||||||
|
Vector3DInt32(-1, -1, -1),
|
||||||
|
Vector3DInt32(-1, -1, +1),
|
||||||
|
Vector3DInt32(-1, +1, -1),
|
||||||
|
Vector3DInt32(-1, +1, +1),
|
||||||
|
Vector3DInt32(+1, -1, -1),
|
||||||
|
Vector3DInt32(+1, -1, +1),
|
||||||
|
Vector3DInt32(+1, +1, -1),
|
||||||
|
Vector3DInt32(+1, +1, +1)
|
||||||
|
};
|
||||||
|
|
||||||
/// This function provides the default method for checking whether a given voxel
|
/// This function provides the default method for checking whether a given voxel
|
||||||
/// is valid for the path computed by the AStarPathfinder.
|
/// is valid for the path computed by the AStarPathfinder.
|
||||||
@ -190,6 +224,6 @@ namespace PolyVox
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "PolyVoxCore/AStarPathfinder.inl"
|
#include "PolyVox/AStarPathfinder.inl"
|
||||||
|
|
||||||
#endif //__PolyVox_AStarPathfinder_H__
|
#endif //__PolyVox_AStarPathfinder_H__
|
@ -21,7 +21,7 @@ freely, subject to the following restrictions:
|
|||||||
distribution.
|
distribution.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#include "PolyVoxCore/Impl/ErrorHandling.h"
|
#include "PolyVox/Impl/ErrorHandling.h"
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
@ -27,13 +27,13 @@ freely, subject to the following restrictions:
|
|||||||
#include "Impl/RandomUnitVectors.h"
|
#include "Impl/RandomUnitVectors.h"
|
||||||
#include "Impl/RandomVectors.h"
|
#include "Impl/RandomVectors.h"
|
||||||
|
|
||||||
#include "PolyVoxCore/Array.h"
|
#include "PolyVox/Array.h"
|
||||||
#include "PolyVoxCore/Region.h"
|
#include "PolyVox/Region.h"
|
||||||
#include "PolyVoxCore/Raycast.h"
|
#include "PolyVox/Raycast.h"
|
||||||
|
|
||||||
//These two should not be here!
|
//These two should not be here!
|
||||||
#include "PolyVoxCore/Material.h"
|
#include "PolyVox/Material.h"
|
||||||
#include "PolyVoxCore/PagedVolume.h"
|
#include "PolyVox/PagedVolume.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
@ -77,6 +77,6 @@ namespace PolyVox
|
|||||||
void calculateAmbientOcclusion(VolumeType* volInput, Array<3, uint8_t>* arrayResult, Region region, float fRayLength, uint8_t uNoOfSamplesPerOutputElement, IsVoxelTransparentCallback isVoxelTransparentCallback);
|
void calculateAmbientOcclusion(VolumeType* volInput, Array<3, uint8_t>* arrayResult, Region region, float fRayLength, uint8_t uNoOfSamplesPerOutputElement, IsVoxelTransparentCallback isVoxelTransparentCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "PolyVoxCore/AmbientOcclusionCalculator.inl"
|
#include "PolyVox/AmbientOcclusionCalculator.inl"
|
||||||
|
|
||||||
#endif //__AmbientOcclusionCalculator_H__
|
#endif //__AmbientOcclusionCalculator_H__
|
@ -24,7 +24,7 @@ distribution.
|
|||||||
#ifndef __PolyVox_Array_H__
|
#ifndef __PolyVox_Array_H__
|
||||||
#define __PolyVox_Array_H__
|
#define __PolyVox_Array_H__
|
||||||
|
|
||||||
#include <PolyVoxCore/Impl/ErrorHandling.h>
|
#include <PolyVox/Impl/ErrorHandling.h>
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
@ -24,8 +24,8 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_BaseVolume_H__
|
#ifndef __PolyVox_BaseVolume_H__
|
||||||
#define __PolyVox_BaseVolume_H__
|
#define __PolyVox_BaseVolume_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/Region.h"
|
#include "PolyVox/Region.h"
|
||||||
#include "PolyVoxCore/Vector.h"
|
#include "PolyVox/Vector.h"
|
||||||
|
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
@ -211,7 +211,7 @@ namespace PolyVox
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "PolyVoxCore/BaseVolume.inl"
|
#include "PolyVox/BaseVolume.inl"
|
||||||
#include "PolyVoxCore/BaseVolumeSampler.inl"
|
#include "PolyVox/BaseVolumeSampler.inl"
|
||||||
|
|
||||||
#endif //__PolyVox_BaseVolume_H__
|
#endif //__PolyVox_BaseVolume_H__
|
@ -21,7 +21,7 @@ freely, subject to the following restrictions:
|
|||||||
distribution.
|
distribution.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#include "PolyVoxCore/Impl/Utility.h"
|
#include "PolyVox/Impl/Utility.h"
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
@ -28,11 +28,11 @@ freely, subject to the following restrictions:
|
|||||||
|
|
||||||
#include "PolyVoxForwardDeclarations.h"
|
#include "PolyVoxForwardDeclarations.h"
|
||||||
|
|
||||||
#include "PolyVoxCore/Array.h"
|
#include "PolyVox/Array.h"
|
||||||
#include "PolyVoxCore/BaseVolume.h" //For wrap modes... should move these?
|
#include "PolyVox/BaseVolume.h" //For wrap modes... should move these?
|
||||||
#include "PolyVoxCore/DefaultIsQuadNeeded.h"
|
#include "PolyVox/DefaultIsQuadNeeded.h"
|
||||||
#include "PolyVoxCore/Mesh.h"
|
#include "PolyVox/Mesh.h"
|
||||||
#include "PolyVoxCore/Vertex.h"
|
#include "PolyVox/Vertex.h"
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
||||||
@ -223,6 +223,6 @@ namespace PolyVox
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "PolyVoxCore/CubicSurfaceExtractor.inl"
|
#include "PolyVox/CubicSurfaceExtractor.inl"
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -21,7 +21,7 @@ freely, subject to the following restrictions:
|
|||||||
distribution.
|
distribution.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#include "PolyVoxCore/Impl/Timer.h"
|
#include "PolyVox/Impl/Timer.h"
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
@ -24,7 +24,7 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_DefaultIsQuadNeeded_H__
|
#ifndef __PolyVox_DefaultIsQuadNeeded_H__
|
||||||
#define __PolyVox_DefaultIsQuadNeeded_H__
|
#define __PolyVox_DefaultIsQuadNeeded_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/Impl/TypeDef.h"
|
#include "PolyVox/Impl/TypeDef.h"
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
@ -24,7 +24,7 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_MarchingCubesController_H__
|
#ifndef __PolyVox_MarchingCubesController_H__
|
||||||
#define __PolyVox_MarchingCubesController_H__
|
#define __PolyVox_MarchingCubesController_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/BaseVolume.h"
|
#include "PolyVox/BaseVolume.h"
|
||||||
|
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
@ -24,7 +24,7 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_Density_H__
|
#ifndef __PolyVox_Density_H__
|
||||||
#define __PolyVox_Density_H__
|
#define __PolyVox_Density_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/DefaultMarchingCubesController.h" //We'll specialise the controller contained in here
|
#include "PolyVox/DefaultMarchingCubesController.h" //We'll specialise the controller contained in here
|
||||||
|
|
||||||
#include "Impl/TypeDef.h"
|
#include "Impl/TypeDef.h"
|
||||||
|
|
@ -24,10 +24,10 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_FilePager_H__
|
#ifndef __PolyVox_FilePager_H__
|
||||||
#define __PolyVox_FilePager_H__
|
#define __PolyVox_FilePager_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/Impl/TypeDef.h"
|
#include "PolyVox/Impl/TypeDef.h"
|
||||||
|
|
||||||
#include "PolyVoxCore/PagedVolume.h"
|
#include "PolyVox/PagedVolume.h"
|
||||||
#include "PolyVoxCore/Region.h"
|
#include "PolyVox/Region.h"
|
||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <ctime>
|
#include <ctime>
|
@ -24,8 +24,8 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_GradientEstimators_H__
|
#ifndef __PolyVox_GradientEstimators_H__
|
||||||
#define __PolyVox_GradientEstimators_H__
|
#define __PolyVox_GradientEstimators_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/Vector.h"
|
#include "PolyVox/Vector.h"
|
||||||
#include "PolyVoxCore/VoxelFilters.h"
|
#include "PolyVox/VoxelFilters.h"
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
@ -59,6 +59,6 @@ namespace PolyVox
|
|||||||
//POLYVOX_API Vector3DFloat computeNormal(VolumeType<uint8_t>* volumeData, const Vector3DFloat& v3dPos, NormalGenerationMethod normalGenerationMethod);
|
//POLYVOX_API Vector3DFloat computeNormal(VolumeType<uint8_t>* volumeData, const Vector3DFloat& v3dPos, NormalGenerationMethod normalGenerationMethod);
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "PolyVoxCore/GradientEstimators.inl"
|
#include "PolyVox/GradientEstimators.inl"
|
||||||
|
|
||||||
#endif //__PolyVox_GradientEstimators_H__
|
#endif //__PolyVox_GradientEstimators_H__
|
@ -24,7 +24,7 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_AStarPathfinderImpl_H__
|
#ifndef __PolyVox_AStarPathfinderImpl_H__
|
||||||
#define __PolyVox_AStarPathfinderImpl_H__
|
#define __PolyVox_AStarPathfinderImpl_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/Vector.h"
|
#include "PolyVox/Vector.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <limits> //For numeric_limits
|
#include <limits> //For numeric_limits
|
@ -24,9 +24,9 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_ErrorHandling_H__
|
#ifndef __PolyVox_ErrorHandling_H__
|
||||||
#define __PolyVox_ErrorHandling_H__
|
#define __PolyVox_ErrorHandling_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/Impl/Config.h"
|
#include "PolyVox/Impl/Config.h"
|
||||||
|
|
||||||
#include "PolyVoxCore/Impl/Logging.h"
|
#include "PolyVox/Impl/Logging.h"
|
||||||
|
|
||||||
#include <cstdlib> // For std::exit
|
#include <cstdlib> // For std::exit
|
||||||
#include <iostream> // For std::cerr
|
#include <iostream> // For std::cerr
|
||||||
@ -155,8 +155,49 @@ freely, subject to the following restrictions:
|
|||||||
{
|
{
|
||||||
typedef void (*ThrowHandler)(std::exception& e, const char* file, int line);
|
typedef void (*ThrowHandler)(std::exception& e, const char* file, int line);
|
||||||
|
|
||||||
ThrowHandler getThrowHandler();
|
inline void defaultThrowHandler(std::exception& e, const char* file, int line)
|
||||||
void setThrowHandler(ThrowHandler newHandler);
|
{
|
||||||
|
std::stringstream ss; \
|
||||||
|
ss << "\n"; \
|
||||||
|
ss << " PolyVox exception thrown!"; \
|
||||||
|
ss << " ========================="; \
|
||||||
|
ss << " PolyVox has tried to throw an exception but it was built without support"; \
|
||||||
|
ss << " for exceptions. In this scenario PolyVox will call a 'throw handler'"; \
|
||||||
|
ss << " and this message is being printed by the default throw handler."; \
|
||||||
|
ss << "\n"; \
|
||||||
|
ss << " If you don't want to enable exceptions then you should try to determine why"; \
|
||||||
|
ss << " this exception was thrown and make sure it doesn't happen again. If it was"; \
|
||||||
|
ss << " due to something like an invalid argument to a function then you should be"; \
|
||||||
|
ss << " able to fix it quite easily by validating parameters as appropriate. More"; \
|
||||||
|
ss << " complex exception scenarios (out of memory, etc) might be harder to fix and"; \
|
||||||
|
ss << " you should replace this default handler with something which is more"; \
|
||||||
|
ss << " meaningful to your users."; \
|
||||||
|
ss << "\n"; \
|
||||||
|
ss << " Exception details"; \
|
||||||
|
ss << " -----------------"; \
|
||||||
|
ss << " Line: " << line; \
|
||||||
|
ss << " File: " << file; \
|
||||||
|
ss << " Message: " << e.what(); \
|
||||||
|
ss << "\n"; \
|
||||||
|
PolyVox::Impl::getLoggerInstance()->logFatalMessage(ss.str()); \
|
||||||
|
POLYVOX_HALT(); \
|
||||||
|
}
|
||||||
|
|
||||||
|
inline ThrowHandler& getThrowHandlerInstance()
|
||||||
|
{
|
||||||
|
static ThrowHandler s_fThrowHandler = &defaultThrowHandler;
|
||||||
|
return s_fThrowHandler;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline ThrowHandler getThrowHandler()
|
||||||
|
{
|
||||||
|
return getThrowHandlerInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void setThrowHandler(ThrowHandler fNewHandler)
|
||||||
|
{
|
||||||
|
getThrowHandlerInstance() = fNewHandler;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define POLYVOX_THROW_IF(condition, type, message) \
|
#define POLYVOX_THROW_IF(condition, type, message) \
|
@ -24,7 +24,7 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_Logging_H__
|
#ifndef __PolyVox_Logging_H__
|
||||||
#define __PolyVox_Logging_H__
|
#define __PolyVox_Logging_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/Impl/Config.h"
|
#include "PolyVox/Impl/Config.h"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
@ -70,10 +70,17 @@ namespace PolyVox
|
|||||||
|
|
||||||
namespace Impl
|
namespace Impl
|
||||||
{
|
{
|
||||||
Logger*& getLoggerInstance();
|
inline Logger*& getLoggerInstance()
|
||||||
|
{
|
||||||
|
static Logger* s_pLogger = new DefaultLogger;
|
||||||
|
return s_pLogger;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void setLogger(Logger* pLogger);
|
inline void setLogger(Logger* pLogger)
|
||||||
|
{
|
||||||
|
Impl::getLoggerInstance() = pLogger;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef POLYVOX_LOG_TRACE_ENABLED
|
#ifdef POLYVOX_LOG_TRACE_ENABLED
|
335
include/PolyVox/Impl/MarchingCubesTables.h
Normal file
335
include/PolyVox/Impl/MarchingCubesTables.h
Normal file
@ -0,0 +1,335 @@
|
|||||||
|
/*******************************************************************************
|
||||||
|
Copyright (c) 2005-2009 David Williams
|
||||||
|
|
||||||
|
This software is provided 'as-is', without any express or implied
|
||||||
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
arising from the use of this software.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any purpose,
|
||||||
|
including commercial applications, and to alter it and redistribute it
|
||||||
|
freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must not
|
||||||
|
claim that you wrote the original software. If you use this software
|
||||||
|
in a product, an acknowledgment in the product documentation would be
|
||||||
|
appreciated but is not required.
|
||||||
|
|
||||||
|
2. Altered source versions must be plainly marked as such, and must not be
|
||||||
|
misrepresented as being the original software.
|
||||||
|
|
||||||
|
3. This notice may not be removed or altered from any source
|
||||||
|
distribution.
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __PolyVox_MarchingCubeTables_H__
|
||||||
|
#define __PolyVox_MarchingCubeTables_H__
|
||||||
|
|
||||||
|
#include "PolyVox/Impl/TypeDef.h"
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
|
namespace PolyVox
|
||||||
|
{
|
||||||
|
//These tables were based on the article "Polygonising a scalar field".
|
||||||
|
//They have been optimised to allow a more efficient algorithm via bitwise operations.
|
||||||
|
|
||||||
|
// http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/index.html
|
||||||
|
|
||||||
|
const uint16_t edgeTable[256] =
|
||||||
|
{
|
||||||
|
0x000, 0x109, 0x203, 0x30a, 0x80c, 0x905, 0xa0f, 0xb06,
|
||||||
|
0x406, 0x50f, 0x605, 0x70c, 0xc0a, 0xd03, 0xe09, 0xf00,
|
||||||
|
0x190, 0x099, 0x393, 0x29a, 0x99c, 0x895, 0xb9f, 0xa96,
|
||||||
|
0x596, 0x49f, 0x795, 0x69c, 0xd9a, 0xc93, 0xf99, 0xe90,
|
||||||
|
0x230, 0x339, 0x033, 0x13a, 0xa3c, 0xb35, 0x83f, 0x936,
|
||||||
|
0x636, 0x73f, 0x435, 0x53c, 0xe3a, 0xf33, 0xc39, 0xd30,
|
||||||
|
0x3a0, 0x2a9, 0x1a3, 0x0aa, 0xbac, 0xaa5, 0x9af, 0x8a6,
|
||||||
|
0x7a6, 0x6af, 0x5a5, 0x4ac, 0xfaa, 0xea3, 0xda9, 0xca0,
|
||||||
|
0x8c0, 0x9c9, 0xac3, 0xbca, 0x0cc, 0x1c5, 0x2cf, 0x3c6,
|
||||||
|
0xcc6, 0xdcf, 0xec5, 0xfcc, 0x4ca, 0x5c3, 0x6c9, 0x7c0,
|
||||||
|
0x950, 0x859, 0xb53, 0xa5a, 0x15c, 0x055, 0x35f, 0x256,
|
||||||
|
0xd56, 0xc5f, 0xf55, 0xe5c, 0x55a, 0x453, 0x759, 0x650,
|
||||||
|
0xaf0, 0xbf9, 0x8f3, 0x9fa, 0x2fc, 0x3f5, 0x0ff, 0x1f6,
|
||||||
|
0xef6, 0xfff, 0xcf5, 0xdfc, 0x6fa, 0x7f3, 0x4f9, 0x5f0,
|
||||||
|
0xb60, 0xa69, 0x963, 0x86a, 0x36c, 0x265, 0x16f, 0x066,
|
||||||
|
0xf66, 0xe6f, 0xd65, 0xc6c, 0x76a, 0x663, 0x569, 0x460,
|
||||||
|
0x460, 0x569, 0x663, 0x76a, 0xc6c, 0xd65, 0xe6f, 0xf66,
|
||||||
|
0x066, 0x16f, 0x265, 0x36c, 0x86a, 0x963, 0xa69, 0xb60,
|
||||||
|
0x5f0, 0x4f9, 0x7f3, 0x6fa, 0xdfc, 0xcf5, 0xfff, 0xef6,
|
||||||
|
0x1f6, 0x0ff, 0x3f5, 0x2fc, 0x9fa, 0x8f3, 0xbf9, 0xaf0,
|
||||||
|
0x650, 0x759, 0x453, 0x55a, 0xe5c, 0xf55, 0xc5f, 0xd56,
|
||||||
|
0x256, 0x35f, 0x055, 0x15c, 0xa5a, 0xb53, 0x859, 0x950,
|
||||||
|
0x7c0, 0x6c9, 0x5c3, 0x4ca, 0xfcc, 0xec5, 0xdcf, 0xcc6,
|
||||||
|
0x3c6, 0x2cf, 0x1c5, 0x0cc, 0xbca, 0xac3, 0x9c9, 0x8c0,
|
||||||
|
0xca0, 0xda9, 0xea3, 0xfaa, 0x4ac, 0x5a5, 0x6af, 0x7a6,
|
||||||
|
0x8a6, 0x9af, 0xaa5, 0xbac, 0x0aa, 0x1a3, 0x2a9, 0x3a0,
|
||||||
|
0xd30, 0xc39, 0xf33, 0xe3a, 0x53c, 0x435, 0x73f, 0x636,
|
||||||
|
0x936, 0x83f, 0xb35, 0xa3c, 0x13a, 0x033, 0x339, 0x230,
|
||||||
|
0xe90, 0xf99, 0xc93, 0xd9a, 0x69c, 0x795, 0x49f, 0x596,
|
||||||
|
0xa96, 0xb9f, 0x895, 0x99c, 0x29a, 0x393, 0x099, 0x190,
|
||||||
|
0xf00, 0xe09, 0xd03, 0xc0a, 0x70c, 0x605, 0x50f, 0x406,
|
||||||
|
0xb06, 0xa0f, 0x905, 0x80c, 0x30a, 0x203, 0x109, 0x000
|
||||||
|
};
|
||||||
|
|
||||||
|
const int8_t triTable[256][16] =
|
||||||
|
{
|
||||||
|
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 8, 3, 9, 8, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 11, 2, 8, 11, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 9, 0, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 11, 2, 1, 9, 11, 9, 8, 11, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 8, 3, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 2, 10, 0, 2, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 2, 8, 3, 2, 10, 8, 10, 9, 8, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 3, 10, 1, 11, 10, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 10, 1, 0, 8, 10, 8, 11, 10, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 3, 9, 0, 3, 11, 9, 11, 10, 9, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 4, 3, 0, 7, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 1, 9, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 4, 1, 9, 4, 7, 1, 7, 3, 1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 8, 4, 7, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 11, 4, 7, 11, 2, 4, 2, 0, 4, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 0, 1, 8, 4, 7, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 4, 7, 11, 9, 4, 11, 9, 11, 2, 9, 2, 1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 2, 10, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 3, 4, 7, 3, 0, 4, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 2, 10, 9, 0, 2, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 2, 10, 9, 2, 9, 7, 2, 7, 3, 7, 9, 4, -1, -1, -1, -1, },
|
||||||
|
{ 3, 10, 1, 3, 11, 10, 7, 8, 4, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 11, 10, 1, 4, 11, 1, 0, 4, 7, 11, 4, -1, -1, -1, -1, },
|
||||||
|
{ 4, 7, 8, 9, 0, 11, 9, 11, 10, 11, 0, 3, -1, -1, -1, -1, },
|
||||||
|
{ 4, 7, 11, 4, 11, 9, 9, 11, 10, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 5, 4, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 5, 4, 1, 5, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 8, 5, 4, 8, 3, 5, 3, 1, 5, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 5, 4, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 11, 2, 0, 8, 11, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 5, 4, 0, 1, 5, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 2, 1, 5, 2, 5, 8, 2, 8, 11, 4, 8, 5, -1, -1, -1, -1, },
|
||||||
|
{ 1, 2, 10, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 3, 0, 8, 1, 2, 10, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 5, 2, 10, 5, 4, 2, 4, 0, 2, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 2, 10, 5, 3, 2, 5, 3, 5, 4, 3, 4, 8, -1, -1, -1, -1, },
|
||||||
|
{ 10, 3, 11, 10, 1, 3, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 4, 9, 5, 0, 8, 1, 8, 10, 1, 8, 11, 10, -1, -1, -1, -1, },
|
||||||
|
{ 5, 4, 0, 5, 0, 11, 5, 11, 10, 11, 0, 3, -1, -1, -1, -1, },
|
||||||
|
{ 5, 4, 8, 5, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 7, 8, 5, 7, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 3, 0, 9, 5, 3, 5, 7, 3, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 7, 8, 0, 1, 7, 1, 5, 7, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 7, 9, 5, 7, 8, 9, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 5, 7, 9, 7, 2, 9, 2, 0, 2, 7, 11, -1, -1, -1, -1, },
|
||||||
|
{ 2, 3, 11, 0, 1, 8, 1, 7, 8, 1, 5, 7, -1, -1, -1, -1, },
|
||||||
|
{ 11, 2, 1, 11, 1, 7, 7, 1, 5, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 7, 8, 9, 5, 7, 10, 1, 2, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 10, 1, 2, 9, 5, 0, 5, 3, 0, 5, 7, 3, -1, -1, -1, -1, },
|
||||||
|
{ 8, 0, 2, 8, 2, 5, 8, 5, 7, 10, 5, 2, -1, -1, -1, -1, },
|
||||||
|
{ 2, 10, 5, 2, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 5, 8, 8, 5, 7, 10, 1, 3, 10, 3, 11, -1, -1, -1, -1, },
|
||||||
|
{ 5, 7, 0, 5, 0, 9, 7, 11, 0, 1, 0, 10, 11, 10, 0, -1, },
|
||||||
|
{ 11, 10, 0, 11, 0, 3, 10, 5, 0, 8, 0, 7, 5, 7, 0, -1, },
|
||||||
|
{ 11, 10, 5, 7, 11, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 3, 0, 8, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 1, 9, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 8, 1, 9, 8, 3, 1, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 7, 2, 3, 6, 2, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 7, 0, 8, 7, 6, 0, 6, 2, 0, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 2, 7, 6, 2, 3, 7, 0, 1, 9, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 6, 2, 1, 8, 6, 1, 9, 8, 8, 7, 6, -1, -1, -1, -1, },
|
||||||
|
{ 10, 1, 2, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 2, 10, 3, 0, 8, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 2, 9, 0, 2, 10, 9, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 6, 11, 7, 2, 10, 3, 10, 8, 3, 10, 9, 8, -1, -1, -1, -1, },
|
||||||
|
{ 10, 7, 6, 10, 1, 7, 1, 3, 7, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 10, 7, 6, 1, 7, 10, 1, 8, 7, 1, 0, 8, -1, -1, -1, -1, },
|
||||||
|
{ 0, 3, 7, 0, 7, 10, 0, 10, 9, 6, 10, 7, -1, -1, -1, -1, },
|
||||||
|
{ 7, 6, 10, 7, 10, 8, 8, 10, 9, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 6, 8, 4, 11, 8, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 3, 6, 11, 3, 0, 6, 0, 4, 6, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 8, 6, 11, 8, 4, 6, 9, 0, 1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 4, 6, 9, 6, 3, 9, 3, 1, 11, 3, 6, -1, -1, -1, -1, },
|
||||||
|
{ 8, 2, 3, 8, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 9, 0, 2, 3, 4, 2, 4, 6, 4, 3, 8, -1, -1, -1, -1, },
|
||||||
|
{ 1, 9, 4, 1, 4, 2, 2, 4, 6, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 6, 8, 4, 6, 11, 8, 2, 10, 1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 2, 10, 3, 0, 11, 0, 6, 11, 0, 4, 6, -1, -1, -1, -1, },
|
||||||
|
{ 4, 11, 8, 4, 6, 11, 0, 2, 9, 2, 10, 9, -1, -1, -1, -1, },
|
||||||
|
{ 10, 9, 3, 10, 3, 2, 9, 4, 3, 11, 3, 6, 4, 6, 3, -1, },
|
||||||
|
{ 8, 1, 3, 8, 6, 1, 8, 4, 6, 6, 10, 1, -1, -1, -1, -1, },
|
||||||
|
{ 10, 1, 0, 10, 0, 6, 6, 0, 4, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 4, 6, 3, 4, 3, 8, 6, 10, 3, 0, 3, 9, 10, 9, 3, -1, },
|
||||||
|
{ 10, 9, 4, 6, 10, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 4, 9, 5, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 8, 3, 4, 9, 5, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 5, 0, 1, 5, 4, 0, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 11, 7, 6, 8, 3, 4, 3, 5, 4, 3, 1, 5, -1, -1, -1, -1, },
|
||||||
|
{ 7, 2, 3, 7, 6, 2, 5, 4, 9, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 5, 4, 0, 8, 6, 0, 6, 2, 6, 8, 7, -1, -1, -1, -1, },
|
||||||
|
{ 3, 6, 2, 3, 7, 6, 1, 5, 0, 5, 4, 0, -1, -1, -1, -1, },
|
||||||
|
{ 6, 2, 8, 6, 8, 7, 2, 1, 8, 4, 8, 5, 1, 5, 8, -1, },
|
||||||
|
{ 9, 5, 4, 10, 1, 2, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 6, 11, 7, 1, 2, 10, 0, 8, 3, 4, 9, 5, -1, -1, -1, -1, },
|
||||||
|
{ 7, 6, 11, 5, 4, 10, 4, 2, 10, 4, 0, 2, -1, -1, -1, -1, },
|
||||||
|
{ 3, 4, 8, 3, 5, 4, 3, 2, 5, 10, 5, 2, 11, 7, 6, -1, },
|
||||||
|
{ 9, 5, 4, 10, 1, 6, 1, 7, 6, 1, 3, 7, -1, -1, -1, -1, },
|
||||||
|
{ 1, 6, 10, 1, 7, 6, 1, 0, 7, 8, 7, 0, 9, 5, 4, -1, },
|
||||||
|
{ 4, 0, 10, 4, 10, 5, 0, 3, 10, 6, 10, 7, 3, 7, 10, -1, },
|
||||||
|
{ 7, 6, 10, 7, 10, 8, 5, 4, 10, 4, 8, 10, -1, -1, -1, -1, },
|
||||||
|
{ 6, 9, 5, 6, 11, 9, 11, 8, 9, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 3, 6, 11, 0, 6, 3, 0, 5, 6, 0, 9, 5, -1, -1, -1, -1, },
|
||||||
|
{ 0, 11, 8, 0, 5, 11, 0, 1, 5, 5, 6, 11, -1, -1, -1, -1, },
|
||||||
|
{ 6, 11, 3, 6, 3, 5, 5, 3, 1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 5, 8, 9, 5, 2, 8, 5, 6, 2, 3, 8, 2, -1, -1, -1, -1, },
|
||||||
|
{ 9, 5, 6, 9, 6, 0, 0, 6, 2, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 5, 8, 1, 8, 0, 5, 6, 8, 3, 8, 2, 6, 2, 8, -1, },
|
||||||
|
{ 1, 5, 6, 2, 1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 2, 10, 9, 5, 11, 9, 11, 8, 11, 5, 6, -1, -1, -1, -1, },
|
||||||
|
{ 0, 11, 3, 0, 6, 11, 0, 9, 6, 5, 6, 9, 1, 2, 10, -1, },
|
||||||
|
{ 11, 8, 5, 11, 5, 6, 8, 0, 5, 10, 5, 2, 0, 2, 5, -1, },
|
||||||
|
{ 6, 11, 3, 6, 3, 5, 2, 10, 3, 10, 5, 3, -1, -1, -1, -1, },
|
||||||
|
{ 1, 3, 6, 1, 6, 10, 3, 8, 6, 5, 6, 9, 8, 9, 6, -1, },
|
||||||
|
{ 10, 1, 0, 10, 0, 6, 9, 5, 0, 5, 6, 0, -1, -1, -1, -1, },
|
||||||
|
{ 0, 3, 8, 5, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 10, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 8, 3, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 0, 1, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 8, 3, 1, 9, 8, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 2, 3, 11, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 11, 0, 8, 11, 2, 0, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 1, 9, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 5, 10, 6, 1, 9, 2, 9, 11, 2, 9, 8, 11, -1, -1, -1, -1, },
|
||||||
|
{ 1, 6, 5, 2, 6, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 6, 5, 1, 2, 6, 3, 0, 8, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 6, 5, 9, 0, 6, 0, 2, 6, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 5, 9, 8, 5, 8, 2, 5, 2, 6, 3, 2, 8, -1, -1, -1, -1, },
|
||||||
|
{ 6, 3, 11, 6, 5, 3, 5, 1, 3, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 8, 11, 0, 11, 5, 0, 5, 1, 5, 11, 6, -1, -1, -1, -1, },
|
||||||
|
{ 3, 11, 6, 0, 3, 6, 0, 6, 5, 0, 5, 9, -1, -1, -1, -1, },
|
||||||
|
{ 6, 5, 9, 6, 9, 11, 11, 9, 8, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 5, 10, 6, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 4, 3, 0, 4, 7, 3, 6, 5, 10, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 9, 0, 5, 10, 6, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 10, 6, 5, 1, 9, 7, 1, 7, 3, 7, 9, 4, -1, -1, -1, -1, },
|
||||||
|
{ 3, 11, 2, 7, 8, 4, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 5, 10, 6, 4, 7, 2, 4, 2, 0, 2, 7, 11, -1, -1, -1, -1, },
|
||||||
|
{ 0, 1, 9, 4, 7, 8, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1, },
|
||||||
|
{ 9, 2, 1, 9, 11, 2, 9, 4, 11, 7, 11, 4, 5, 10, 6, -1, },
|
||||||
|
{ 6, 1, 2, 6, 5, 1, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 2, 5, 5, 2, 6, 3, 0, 4, 3, 4, 7, -1, -1, -1, -1, },
|
||||||
|
{ 8, 4, 7, 9, 0, 5, 0, 6, 5, 0, 2, 6, -1, -1, -1, -1, },
|
||||||
|
{ 7, 3, 9, 7, 9, 4, 3, 2, 9, 5, 9, 6, 2, 6, 9, -1, },
|
||||||
|
{ 8, 4, 7, 3, 11, 5, 3, 5, 1, 5, 11, 6, -1, -1, -1, -1, },
|
||||||
|
{ 5, 1, 11, 5, 11, 6, 1, 0, 11, 7, 11, 4, 0, 4, 11, -1, },
|
||||||
|
{ 0, 5, 9, 0, 6, 5, 0, 3, 6, 11, 6, 3, 8, 4, 7, -1, },
|
||||||
|
{ 6, 5, 9, 6, 9, 11, 4, 7, 9, 7, 11, 9, -1, -1, -1, -1, },
|
||||||
|
{ 10, 4, 9, 6, 4, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 4, 10, 6, 4, 9, 10, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 10, 0, 1, 10, 6, 0, 6, 4, 0, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 8, 3, 1, 8, 1, 6, 8, 6, 4, 6, 1, 10, -1, -1, -1, -1, },
|
||||||
|
{ 10, 4, 9, 10, 6, 4, 11, 2, 3, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 8, 2, 2, 8, 11, 4, 9, 10, 4, 10, 6, -1, -1, -1, -1, },
|
||||||
|
{ 3, 11, 2, 0, 1, 6, 0, 6, 4, 6, 1, 10, -1, -1, -1, -1, },
|
||||||
|
{ 6, 4, 1, 6, 1, 10, 4, 8, 1, 2, 1, 11, 8, 11, 1, -1, },
|
||||||
|
{ 1, 4, 9, 1, 2, 4, 2, 6, 4, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 3, 0, 8, 1, 2, 9, 2, 4, 9, 2, 6, 4, -1, -1, -1, -1, },
|
||||||
|
{ 0, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 8, 3, 2, 8, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 6, 4, 9, 3, 6, 9, 1, 3, 11, 6, 3, -1, -1, -1, -1, },
|
||||||
|
{ 8, 11, 1, 8, 1, 0, 11, 6, 1, 9, 1, 4, 6, 4, 1, -1, },
|
||||||
|
{ 3, 11, 6, 3, 6, 0, 0, 6, 4, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 6, 4, 8, 11, 6, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 7, 10, 6, 7, 8, 10, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 7, 3, 0, 10, 7, 0, 9, 10, 6, 7, 10, -1, -1, -1, -1, },
|
||||||
|
{ 10, 6, 7, 1, 10, 7, 1, 7, 8, 1, 8, 0, -1, -1, -1, -1, },
|
||||||
|
{ 10, 6, 7, 10, 7, 1, 1, 7, 3, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 2, 3, 11, 10, 6, 8, 10, 8, 9, 8, 6, 7, -1, -1, -1, -1, },
|
||||||
|
{ 2, 0, 7, 2, 7, 11, 0, 9, 7, 6, 7, 10, 9, 10, 7, -1, },
|
||||||
|
{ 1, 8, 0, 1, 7, 8, 1, 10, 7, 6, 7, 10, 2, 3, 11, -1, },
|
||||||
|
{ 11, 2, 1, 11, 1, 7, 10, 6, 1, 6, 7, 1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 2, 6, 1, 6, 8, 1, 8, 9, 8, 6, 7, -1, -1, -1, -1, },
|
||||||
|
{ 2, 6, 9, 2, 9, 1, 6, 7, 9, 0, 9, 3, 7, 3, 9, -1, },
|
||||||
|
{ 7, 8, 0, 7, 0, 6, 6, 0, 2, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 7, 3, 2, 6, 7, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 8, 9, 6, 8, 6, 7, 9, 1, 6, 11, 6, 3, 1, 3, 6, -1, },
|
||||||
|
{ 0, 9, 1, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 7, 8, 0, 7, 0, 6, 3, 11, 0, 11, 6, 0, -1, -1, -1, -1, },
|
||||||
|
{ 7, 11, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 11, 5, 10, 7, 5, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 11, 5, 10, 11, 7, 5, 8, 3, 0, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 5, 11, 7, 5, 10, 11, 1, 9, 0, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 10, 7, 5, 10, 11, 7, 9, 8, 1, 8, 3, 1, -1, -1, -1, -1, },
|
||||||
|
{ 2, 5, 10, 2, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 8, 2, 0, 8, 5, 2, 8, 7, 5, 10, 2, 5, -1, -1, -1, -1, },
|
||||||
|
{ 9, 0, 1, 5, 10, 3, 5, 3, 7, 3, 10, 2, -1, -1, -1, -1, },
|
||||||
|
{ 9, 8, 2, 9, 2, 1, 8, 7, 2, 10, 2, 5, 7, 5, 2, -1, },
|
||||||
|
{ 11, 1, 2, 11, 7, 1, 7, 5, 1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 8, 3, 1, 2, 7, 1, 7, 5, 7, 2, 11, -1, -1, -1, -1, },
|
||||||
|
{ 9, 7, 5, 9, 2, 7, 9, 0, 2, 2, 11, 7, -1, -1, -1, -1, },
|
||||||
|
{ 7, 5, 2, 7, 2, 11, 5, 9, 2, 3, 2, 8, 9, 8, 2, -1, },
|
||||||
|
{ 1, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 8, 7, 0, 7, 1, 1, 7, 5, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 0, 3, 9, 3, 5, 5, 3, 7, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 8, 7, 5, 9, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 5, 8, 4, 5, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 5, 0, 4, 5, 11, 0, 5, 10, 11, 11, 3, 0, -1, -1, -1, -1, },
|
||||||
|
{ 0, 1, 9, 8, 4, 10, 8, 10, 11, 10, 4, 5, -1, -1, -1, -1, },
|
||||||
|
{ 10, 11, 4, 10, 4, 5, 11, 3, 4, 9, 4, 1, 3, 1, 4, -1, },
|
||||||
|
{ 2, 5, 10, 3, 5, 2, 3, 4, 5, 3, 8, 4, -1, -1, -1, -1, },
|
||||||
|
{ 5, 10, 2, 5, 2, 4, 4, 2, 0, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 3, 10, 2, 3, 5, 10, 3, 8, 5, 4, 5, 8, 0, 1, 9, -1, },
|
||||||
|
{ 5, 10, 2, 5, 2, 4, 1, 9, 2, 9, 4, 2, -1, -1, -1, -1, },
|
||||||
|
{ 2, 5, 1, 2, 8, 5, 2, 11, 8, 4, 5, 8, -1, -1, -1, -1, },
|
||||||
|
{ 0, 4, 11, 0, 11, 3, 4, 5, 11, 2, 11, 1, 5, 1, 11, -1, },
|
||||||
|
{ 0, 2, 5, 0, 5, 9, 2, 11, 5, 4, 5, 8, 11, 8, 5, -1, },
|
||||||
|
{ 9, 4, 5, 2, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 8, 4, 5, 8, 5, 3, 3, 5, 1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 4, 5, 1, 0, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 8, 4, 5, 8, 5, 3, 9, 0, 5, 0, 3, 5, -1, -1, -1, -1, },
|
||||||
|
{ 9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 4, 11, 7, 4, 9, 11, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 8, 3, 4, 9, 7, 9, 11, 7, 9, 10, 11, -1, -1, -1, -1, },
|
||||||
|
{ 1, 10, 11, 1, 11, 4, 1, 4, 0, 7, 4, 11, -1, -1, -1, -1, },
|
||||||
|
{ 3, 1, 4, 3, 4, 8, 1, 10, 4, 7, 4, 11, 10, 11, 4, -1, },
|
||||||
|
{ 2, 9, 10, 2, 7, 9, 2, 3, 7, 7, 4, 9, -1, -1, -1, -1, },
|
||||||
|
{ 9, 10, 7, 9, 7, 4, 10, 2, 7, 8, 7, 0, 2, 0, 7, -1, },
|
||||||
|
{ 3, 7, 10, 3, 10, 2, 7, 4, 10, 1, 10, 0, 4, 0, 10, -1, },
|
||||||
|
{ 1, 10, 2, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 4, 11, 7, 9, 11, 4, 9, 2, 11, 9, 1, 2, -1, -1, -1, -1, },
|
||||||
|
{ 9, 7, 4, 9, 11, 7, 9, 1, 11, 2, 11, 1, 0, 8, 3, -1, },
|
||||||
|
{ 11, 7, 4, 11, 4, 2, 2, 4, 0, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 11, 7, 4, 11, 4, 2, 8, 3, 4, 3, 2, 4, -1, -1, -1, -1, },
|
||||||
|
{ 4, 9, 1, 4, 1, 7, 7, 1, 3, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 4, 9, 1, 4, 1, 7, 0, 8, 1, 8, 7, 1, -1, -1, -1, -1, },
|
||||||
|
{ 4, 0, 3, 7, 4, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 4, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 3, 0, 9, 3, 9, 11, 11, 9, 10, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 1, 10, 0, 10, 8, 8, 10, 11, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 3, 1, 10, 11, 3, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 2, 3, 8, 2, 8, 10, 10, 8, 9, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 9, 10, 2, 0, 9, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 2, 3, 8, 2, 8, 10, 0, 1, 8, 1, 10, 8, -1, -1, -1, -1, },
|
||||||
|
{ 1, 10, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 2, 11, 1, 11, 9, 9, 11, 8, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 3, 0, 9, 3, 9, 11, 1, 2, 9, 2, 11, 9, -1, -1, -1, -1, },
|
||||||
|
{ 0, 2, 11, 8, 0, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 3, 2, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 1, 3, 8, 9, 1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 9, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ 0, 3, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, },
|
||||||
|
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
@ -21,11 +21,16 @@ freely, subject to the following restrictions:
|
|||||||
distribution.
|
distribution.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#include "PolyVoxCore/Impl/RandomUnitVectors.h"
|
#ifndef __PolyVox_RandomUnitVectors_H__
|
||||||
|
#define __PolyVox_RandomUnitVectors_H__
|
||||||
|
|
||||||
|
#include "PolyVox/Impl/TypeDef.h"
|
||||||
|
|
||||||
|
#include "PolyVox/Vector.h"
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
||||||
extern const Vector3DFloat randomUnitVectors[1024] =
|
const Vector3DFloat randomUnitVectors[1024] =
|
||||||
{
|
{
|
||||||
Vector3DFloat(+0.339922f, +0.827727f, -0.446454f),
|
Vector3DFloat(+0.339922f, +0.827727f, -0.446454f),
|
||||||
Vector3DFloat(+0.084104f, -0.552666f, -0.829148f),
|
Vector3DFloat(+0.084104f, -0.552666f, -0.829148f),
|
||||||
@ -1053,3 +1058,5 @@ namespace PolyVox
|
|||||||
Vector3DFloat(-0.526640f, +0.820445f, +0.222533f)
|
Vector3DFloat(-0.526640f, +0.820445f, +0.222533f)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif //__PolyVox_RandomUnitVectors_H__
|
@ -21,11 +21,16 @@ freely, subject to the following restrictions:
|
|||||||
distribution.
|
distribution.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#include "PolyVoxCore/Impl/RandomVectors.h"
|
#ifndef __PolyVox_RandomVectors_H__
|
||||||
|
#define __PolyVox_RandomVectors_H__
|
||||||
|
|
||||||
|
#include "PolyVox/Impl/TypeDef.h"
|
||||||
|
|
||||||
|
#include "PolyVox/Vector.h"
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
||||||
extern const Vector3DFloat randomVectors[1024] =
|
const Vector3DFloat randomVectors[1024] =
|
||||||
{
|
{
|
||||||
Vector3DFloat(+0.348918f, -0.385662f, +0.650197f),
|
Vector3DFloat(+0.348918f, -0.385662f, +0.650197f),
|
||||||
Vector3DFloat(-0.259255f, +0.791559f, +0.920957f),
|
Vector3DFloat(-0.259255f, +0.791559f, +0.920957f),
|
||||||
@ -1053,3 +1058,5 @@ namespace PolyVox
|
|||||||
Vector3DFloat(-0.002289f, +0.568834f, -0.069185f)
|
Vector3DFloat(-0.002289f, +0.568834f, -0.069185f)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif //__PolyVox_RandomVectors_H__
|
@ -26,33 +26,47 @@ freely, subject to the following restrictions:
|
|||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
#ifdef _MSC_VER // Don't worry about the exact version, as long as this is defied.
|
|
||||||
#include <Windows.h>
|
|
||||||
#else
|
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#endif //_MSC_VER
|
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
||||||
class Timer
|
class Timer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Timer(bool bAutoStart = true);
|
Timer(bool bAutoStart = true)
|
||||||
|
{
|
||||||
|
if (bAutoStart)
|
||||||
|
{
|
||||||
|
start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void start(void);
|
void start(void)
|
||||||
|
{
|
||||||
|
m_start = clock::now();
|
||||||
|
}
|
||||||
|
|
||||||
float elapsedTimeInSeconds(void);
|
float elapsedTimeInSeconds(void)
|
||||||
uint32_t elapsedTimeInMilliSeconds(void);
|
{
|
||||||
uint32_t elapsedTimeInMicroSeconds(void);
|
std::chrono::duration<float> elapsed_seconds = clock::now() - m_start;
|
||||||
|
return elapsed_seconds.count();
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t elapsedTimeInMilliSeconds(void)
|
||||||
|
{
|
||||||
|
std::chrono::duration<float, std::milli> elapsed_milliseconds = clock::now() - m_start;
|
||||||
|
return elapsed_milliseconds.count();
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t elapsedTimeInMicroSeconds(void)
|
||||||
|
{
|
||||||
|
std::chrono::duration<float, std::micro> elapsed_microseconds = clock::now() - m_start;
|
||||||
|
return elapsed_microseconds.count();
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
#if defined(_MSC_VER)
|
|
||||||
double m_fPCFreq;
|
|
||||||
__int64 m_iStartTime;
|
|
||||||
#else //_MSC_VER
|
|
||||||
typedef std::chrono::system_clock clock;
|
typedef std::chrono::system_clock clock;
|
||||||
std::chrono::time_point<clock> m_start;
|
std::chrono::time_point<clock> m_start;
|
||||||
#endif //_MSC_VER
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -21,14 +21,26 @@ freely, subject to the following restrictions:
|
|||||||
distribution.
|
distribution.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#include "PolyVoxCore/Impl/ErrorHandling.h"
|
#ifndef __PolyVox_Utility_H__
|
||||||
#include "PolyVoxCore/Impl/Utility.h"
|
#define __PolyVox_Utility_H__
|
||||||
|
|
||||||
|
#include "PolyVox/Impl/TypeDef.h"
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
||||||
|
inline bool isPowerOf2(uint32_t uInput)
|
||||||
|
{
|
||||||
|
if (uInput == 0)
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return ((uInput & (uInput - 1)) == 0);
|
||||||
|
}
|
||||||
|
|
||||||
//Note: this function only works for inputs which are a power of two and not zero
|
//Note: this function only works for inputs which are a power of two and not zero
|
||||||
//If this is not the case then the output is undefined.
|
//If this is not the case then the output is undefined.
|
||||||
uint8_t logBase2(uint32_t uInput)
|
inline uint8_t logBase2(uint32_t uInput)
|
||||||
{
|
{
|
||||||
//Release mode validation
|
//Release mode validation
|
||||||
if (uInput == 0)
|
if (uInput == 0)
|
||||||
@ -48,17 +60,8 @@ namespace PolyVox
|
|||||||
return static_cast<uint8_t>(uResult - 1);
|
return static_cast<uint8_t>(uResult - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool isPowerOf2(uint32_t uInput)
|
|
||||||
{
|
|
||||||
if(uInput == 0)
|
|
||||||
return false;
|
|
||||||
else
|
|
||||||
return ((uInput & (uInput-1)) == 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
// http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2
|
// http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2
|
||||||
uint32_t upperPowerOfTwo(uint32_t v)
|
inline uint32_t upperPowerOfTwo(uint32_t v)
|
||||||
{
|
{
|
||||||
v--;
|
v--;
|
||||||
v |= v >> 1;
|
v |= v >> 1;
|
||||||
@ -69,4 +72,22 @@ namespace PolyVox
|
|||||||
v++;
|
v++;
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline int32_t roundTowardsNegInf(float r)
|
||||||
|
{
|
||||||
|
return (r >= 0.0) ? static_cast<int32_t>(r) : static_cast<int32_t>(r - 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline int32_t roundToNearestInteger(float r)
|
||||||
|
{
|
||||||
|
return (r >= 0.0) ? static_cast<int32_t>(r + 0.5f) : static_cast<int32_t>(r - 0.5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename Type>
|
||||||
|
inline Type clamp(const Type& value, const Type& low, const Type& high)
|
||||||
|
{
|
||||||
|
return (std::min)(high, (std::max)(low, value));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
@ -24,7 +24,7 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_IteratorController_H__
|
#ifndef __PolyVox_IteratorController_H__
|
||||||
#define __PolyVox_IteratorController_H__
|
#define __PolyVox_IteratorController_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/Region.h"
|
#include "PolyVox/Region.h"
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
||||||
@ -41,6 +41,6 @@ namespace PolyVox
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "PolyVoxCore/IteratorController.inl"
|
#include "PolyVox/IteratorController.inl"
|
||||||
|
|
||||||
#endif //__PolyVox_IteratorController_H__
|
#endif //__PolyVox_IteratorController_H__
|
@ -24,9 +24,9 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_LowPassFilter_H__
|
#ifndef __PolyVox_LowPassFilter_H__
|
||||||
#define __PolyVox_LowPassFilter_H__
|
#define __PolyVox_LowPassFilter_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/IteratorController.h"
|
#include "PolyVox/IteratorController.h"
|
||||||
#include "PolyVoxCore/RawVolume.h" //Is this desirable?
|
#include "PolyVox/RawVolume.h" //Is this desirable?
|
||||||
#include "PolyVoxCore/Region.h"
|
#include "PolyVox/Region.h"
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
||||||
@ -54,7 +54,7 @@ namespace PolyVox
|
|||||||
|
|
||||||
}//namespace PolyVox
|
}//namespace PolyVox
|
||||||
|
|
||||||
#include "PolyVoxCore/LowPassFilter.inl"
|
#include "PolyVox/LowPassFilter.inl"
|
||||||
|
|
||||||
#endif //__PolyVox_LowPassFilter_H__
|
#endif //__PolyVox_LowPassFilter_H__
|
||||||
|
|
@ -27,11 +27,11 @@ freely, subject to the following restrictions:
|
|||||||
#include "Impl/MarchingCubesTables.h"
|
#include "Impl/MarchingCubesTables.h"
|
||||||
#include "Impl/TypeDef.h"
|
#include "Impl/TypeDef.h"
|
||||||
|
|
||||||
#include "PolyVoxCore/Array.h"
|
#include "PolyVox/Array.h"
|
||||||
#include "PolyVoxCore/BaseVolume.h" //For wrap modes... should move these?
|
#include "PolyVox/BaseVolume.h" //For wrap modes... should move these?
|
||||||
#include "PolyVoxCore/Mesh.h"
|
#include "PolyVox/Mesh.h"
|
||||||
#include "PolyVoxCore/DefaultMarchingCubesController.h"
|
#include "PolyVox/DefaultMarchingCubesController.h"
|
||||||
#include "PolyVoxCore/Vertex.h"
|
#include "PolyVox/Vertex.h"
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
||||||
@ -353,6 +353,6 @@ namespace PolyVox
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "PolyVoxCore/MarchingCubesSurfaceExtractor.inl"
|
#include "PolyVox/MarchingCubesSurfaceExtractor.inl"
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -21,7 +21,7 @@ freely, subject to the following restrictions:
|
|||||||
distribution.
|
distribution.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#include "PolyVoxCore/Impl/Timer.h"
|
#include "PolyVox/Impl/Timer.h"
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
@ -26,7 +26,7 @@ freely, subject to the following restrictions:
|
|||||||
|
|
||||||
#include "Impl/TypeDef.h"
|
#include "Impl/TypeDef.h"
|
||||||
|
|
||||||
#include "PolyVoxCore/DefaultIsQuadNeeded.h" //we'll specialise this function for this voxel type
|
#include "PolyVox/DefaultIsQuadNeeded.h" //we'll specialise this function for this voxel type
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
@ -24,8 +24,8 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_MaterialDensityPair_H__
|
#ifndef __PolyVox_MaterialDensityPair_H__
|
||||||
#define __PolyVox_MaterialDensityPair_H__
|
#define __PolyVox_MaterialDensityPair_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/DefaultIsQuadNeeded.h" //we'll specialise this function for this voxel type
|
#include "PolyVox/DefaultIsQuadNeeded.h" //we'll specialise this function for this voxel type
|
||||||
#include "PolyVoxCore/DefaultMarchingCubesController.h" //We'll specialise the controller contained in here
|
#include "PolyVox/DefaultMarchingCubesController.h" //We'll specialise the controller contained in here
|
||||||
|
|
||||||
#include "Impl/TypeDef.h"
|
#include "Impl/TypeDef.h"
|
||||||
|
|
@ -26,9 +26,9 @@ freely, subject to the following restrictions:
|
|||||||
|
|
||||||
#include "Impl/TypeDef.h"
|
#include "Impl/TypeDef.h"
|
||||||
|
|
||||||
#include "PolyVoxCore/PolyVoxForwardDeclarations.h"
|
#include "PolyVox/PolyVoxForwardDeclarations.h"
|
||||||
#include "PolyVoxCore/Region.h"
|
#include "PolyVox/Region.h"
|
||||||
#include "PolyVoxCore/Vertex.h" //Should probably do away with this on in the future...
|
#include "PolyVox/Vertex.h" //Should probably do away with this on in the future...
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
@ -98,6 +98,6 @@ namespace PolyVox
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "PolyVoxCore/Mesh.inl"
|
#include "PolyVox/Mesh.inl"
|
||||||
|
|
||||||
#endif /* __Mesh_H__ */
|
#endif /* __Mesh_H__ */
|
@ -24,9 +24,9 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_PagedVolume_H__
|
#ifndef __PolyVox_PagedVolume_H__
|
||||||
#define __PolyVox_PagedVolume_H__
|
#define __PolyVox_PagedVolume_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/BaseVolume.h"
|
#include "PolyVox/BaseVolume.h"
|
||||||
#include "PolyVoxCore/Region.h"
|
#include "PolyVox/Region.h"
|
||||||
#include "PolyVoxCore/Vector.h"
|
#include "PolyVox/Vector.h"
|
||||||
|
|
||||||
#include <limits>
|
#include <limits>
|
||||||
#include <cstdlib> //For abort()
|
#include <cstdlib> //For abort()
|
||||||
@ -359,8 +359,8 @@ namespace PolyVox
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "PolyVoxCore/PagedVolume.inl"
|
#include "PolyVox/PagedVolume.inl"
|
||||||
#include "PolyVoxCore/PagedVolumeChunk.inl"
|
#include "PolyVox/PagedVolumeChunk.inl"
|
||||||
#include "PolyVoxCore/PagedVolumeSampler.inl"
|
#include "PolyVox/PagedVolumeSampler.inl"
|
||||||
|
|
||||||
#endif //__PolyVox_PagedVolume_H__
|
#endif //__PolyVox_PagedVolume_H__
|
@ -21,7 +21,7 @@ freely, subject to the following restrictions:
|
|||||||
distribution.
|
distribution.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#include "PolyVoxCore/Impl/ErrorHandling.h"
|
#include "PolyVox/Impl/ErrorHandling.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
@ -52,7 +52,7 @@ namespace PolyVox
|
|||||||
{
|
{
|
||||||
// If the user is creating a vast (almost infinite) volume then we can bet they will be
|
// If the user is creating a vast (almost infinite) volume then we can bet they will be
|
||||||
// expecting a high memory usage and will want a fair number of chunks to play around with.
|
// expecting a high memory usage and will want a fair number of chunks to play around with.
|
||||||
if (regValid == Region::MaxRegion)
|
if (regValid == Region::MaxRegion())
|
||||||
{
|
{
|
||||||
m_uChunkCountLimit = 1024;
|
m_uChunkCountLimit = 1024;
|
||||||
}
|
}
|
@ -21,7 +21,7 @@ freely, subject to the following restrictions:
|
|||||||
distribution.
|
distribution.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#include "PolyVoxCore/Impl/Utility.h"
|
#include "PolyVox/Impl/Utility.h"
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
@ -24,7 +24,7 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_Picking_H__
|
#ifndef __PolyVox_Picking_H__
|
||||||
#define __PolyVox_Picking_H__
|
#define __PolyVox_Picking_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/Vector.h"
|
#include "PolyVox/Vector.h"
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
||||||
@ -44,6 +44,6 @@ namespace PolyVox
|
|||||||
PickResult pickVoxel(VolumeType* volData, const Vector3DFloat& v3dStart, const Vector3DFloat& v3dDirectionAndLength, const typename VolumeType::VoxelType& emptyVoxelExample);
|
PickResult pickVoxel(VolumeType* volData, const Vector3DFloat& v3dStart, const Vector3DFloat& v3dDirectionAndLength, const typename VolumeType::VoxelType& emptyVoxelExample);
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "PolyVoxCore/Picking.inl"
|
#include "PolyVox/Picking.inl"
|
||||||
|
|
||||||
#endif //__PolyVox_Picking_H__
|
#endif //__PolyVox_Picking_H__
|
@ -21,7 +21,7 @@ freely, subject to the following restrictions:
|
|||||||
distribution.
|
distribution.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
#include "PolyVoxCore/Raycast.h"
|
#include "PolyVox/Raycast.h"
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
@ -24,9 +24,9 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_RawVolume_H__
|
#ifndef __PolyVox_RawVolume_H__
|
||||||
#define __PolyVox_RawVolume_H__
|
#define __PolyVox_RawVolume_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/BaseVolume.h"
|
#include "PolyVox/BaseVolume.h"
|
||||||
#include "PolyVoxCore/Region.h"
|
#include "PolyVox/Region.h"
|
||||||
#include "PolyVoxCore/Vector.h"
|
#include "PolyVox/Vector.h"
|
||||||
|
|
||||||
#include <cstdlib> //For abort()
|
#include <cstdlib> //For abort()
|
||||||
#include <limits>
|
#include <limits>
|
||||||
@ -167,7 +167,7 @@ namespace PolyVox
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "PolyVoxCore/RawVolume.inl"
|
#include "PolyVox/RawVolume.inl"
|
||||||
#include "PolyVoxCore/RawVolumeSampler.inl"
|
#include "PolyVox/RawVolumeSampler.inl"
|
||||||
|
|
||||||
#endif //__PolyVox_RawVolume_H__
|
#endif //__PolyVox_RawVolume_H__
|
@ -24,7 +24,7 @@ freely, subject to the following restrictions:
|
|||||||
#ifndef __PolyVox_Raycast_H__
|
#ifndef __PolyVox_Raycast_H__
|
||||||
#define __PolyVox_Raycast_H__
|
#define __PolyVox_Raycast_H__
|
||||||
|
|
||||||
#include "PolyVoxCore/Vector.h"
|
#include "PolyVox/Vector.h"
|
||||||
|
|
||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
||||||
@ -98,6 +98,6 @@ namespace PolyVox
|
|||||||
RaycastResult raycastWithDirection(VolumeType* volData, const Vector3DFloat& v3dStart, const Vector3DFloat& v3dDirectionAndLength, Callback& callback);
|
RaycastResult raycastWithDirection(VolumeType* volData, const Vector3DFloat& v3dStart, const Vector3DFloat& v3dDirectionAndLength, Callback& callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "PolyVoxCore/Raycast.inl"
|
#include "PolyVox/Raycast.inl"
|
||||||
|
|
||||||
#endif //__PolyVox_Raycast_H__
|
#endif //__PolyVox_Raycast_H__
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user