105 Commits

Author SHA1 Message Date
Matt Williams
f98959f92a Add a new pickVoxel function.
Hopefully this pickVoxel function will fulfil most most need with
raycasting which aren't covered by the existing raycast functions.

It's essentially a wrapper around the current functions, using a custom
functor to store the position of a solid voxel as well as the previous
empty voxel. It doesn't require the user to provide a functor of their own,
just the value that they've assigned to empty voxels.

As well as the function itself, we also have a unit test as well as it
being built in the bindings.
2013-05-01 22:28:46 +01:00
Daviw Williams
23042c3fcb Moved warning suppression into the relevant file so that it's not global. 2013-03-04 16:00:43 +01:00
Daviw Williams
36676433be Work on compression interface. 2013-01-31 15:54:04 +01:00
Daviw Williams
a1cdf78250 Block now working with new MinizCompressor. Removing some old compression code. 2013-01-30 16:49:06 +01:00
Daviw Williams
804a766037 Added my two new compressor classes - one based on Miniz and the other based on RLE. 2013-01-30 16:04:47 +01:00
Daviw Williams
c7937b176d Very bad (but functional!) initial implementation of LargeVolume compression with miniz. 2013-01-10 16:20:29 +01:00
David Williams
9273094ebd Added config.h to control exceptions and asserts. 2012-12-29 22:56:15 +01:00
David Williams
161835f42b Boost is no longer needed if <cstdint> is not found. 2012-12-29 22:26:21 +01:00
David Williams
ed614802fe Merge branch 'develop' of https://bitbucket.org/volumesoffun/polyvox into develop 2012-12-29 14:07:11 +00:00
David Williams
4f7a6256a9 The throwing of exceptions can now be disabled, and in this case a handler function is called instead. 2012-12-29 00:11:23 +00:00
David Williams
cc0b3ae2c0 Merge branch 'develop' into feature/error-handling 2012-12-26 17:18:42 +00:00
Matt Williams
9e7bb75687 Disable the C++11 feature detection on Visual Studio
There seems to be a bug in the interaction between CMake and Visual Studio
which floods the 'recent projects' list with the TRY_COMPILE projects.

If in the future this is fixed then it can re-enabled.
2012-12-26 15:40:59 +00:00
Matt Williams
bc8240fe63 These checks are no longer needed since it's checked in the top level file 2012-12-26 15:09:54 +00:00
Matt Williams
f5ea8878c2 Add a default CompilerCapabilities.h
This file assumes that the compiler doesn't support anything. If building
without CMake, it will be used and if you want to enable things, the file
can be edited.

When using CMake, a proper CompilerCapabilites.h will be generated and
CMake will set the include path order correctly in order to source the
correct file.
2012-12-26 12:54:52 +00:00
David Williams
e17271a2c7 Work on new asserts. 2012-12-26 10:34:09 +00:00
David Williams
c78a8595fb Initial work on new assert macro. 2012-12-26 01:33:05 +00:00
David Williams
74f25eac23 Merge branch 'develop' into feature/cmake-cxx11-detect
Conflicts:
	examples/Basic/CMakeLists.txt
	examples/OpenGL/CMakeLists.txt
	examples/Paging/CMakeLists.txt
	examples/SmoothLOD/CMakeLists.txt
	library/PolyVoxCore/include/PolyVoxCore/Impl/TypeDef.h
2012-12-24 20:08:31 +00:00
David Williams
7e38fc135e Removed features which were deprecated in release 0.2. 2012-12-03 21:22:57 +01:00
Matt Williams
3902e00a0f Add a CompilerCapabilities.h.in file which is filled in by CMake
It will #define a each of the basic features detected by CMake which can
then be used by other headers (like TypeDef.h) to set things up for
PolyVox.

It is this file which you will have to manually edit and rename if you want
to skip using CMake.
2012-11-23 15:41:26 +00:00
Daviw Williams
422d2cb1b7 Fixed some linker warning about code that cannot be accessed. 2012-11-16 11:14:55 +01:00
unknown
d4edc1047e Renamed 'PolyVoxImpl' to just 'Impl'. 2012-11-05 17:00:09 +01:00
unknown
3c69bb651f Moved PolyVoxImpl inside of PolyVoxCore. This is the first stage of some tidying to better hide implementation details from the user. 2012-11-05 16:40:02 +01:00
unknown
e93d568cb4 Exposed linear and bilinear interpolation, in addition to trilinear.
Moved them somewhere publically accessable.
2012-11-02 16:34:31 +01:00
David Williams
bedd09af18 Removing old raycasting code. 2012-10-05 16:49:39 +02:00
David Williams
bc01223237 Removed some unecessary hierarchy in VS project structure.
Renamed the documentation targets in VS for clarity.
2012-09-28 14:07:13 +02:00
David Williams
4b63c34305 Brought the manual and API docs together under the same heading in Visual Studio. 2012-09-28 13:54:27 +02:00
Matt Williams
480c159327 Add copyright headers to all the CMake files 2012-08-24 13:20:41 +01:00
Matt Williams
b96309f4a4 Use the CMake folder tool to help IDEs groupt targets.
This is done as seen in http://athile.net/library/blog/?p=288

Hopefully this works in Visual Studio as KDevelop doesn't use this feature.
2012-08-12 04:29:51 +01:00
unknown
301f93d896 Turned isQuadNeeded() (which was a stl::function) into a function object. 2012-08-09 16:06:10 +02:00
Matt Williams
0d1c2e178a Build the static library as position independent
This allows it to be compiled into other shared libraries (like the Python
bindings) on x86_64 Linux systems.
2012-07-19 18:01:31 +01:00
Matt Williams
f11b4e17c1 Build only one of static or shared libraries
As discussed on the forums, to simplify the CMake code and avoid having to
manually specify dependencies this removes the hack to allow both static
and shared libraries to be built at the same time.

It introduces the new variable LIBRARY_TYPE which can be either STATIC or
DYNAMIC.

See: http://www.volumesoffun.com/phpBB3/viewtopic.php?p=3203#p3203
2012-07-19 17:33:34 +01:00
unknown
5b2846f3de Removed empty file voxel.h 2012-07-16 15:33:23 +02:00
unknown
b140e16083 Renamed MarchingCubesController to DefaultMarchingCubesController. 2012-07-15 23:07:00 +02:00
unknown
ea7404cdf9 Merge branch 'master' of git@gitorious.org:polyvox/polyvox.git 2012-07-15 22:10:17 +02:00
Matt Williams
00e2f37f31 Change BUILD_{STATIC,SHARED}_LIBRARIES to ENABLE_ 2012-07-15 20:49:39 +01:00
unknown
d178636741 Rearranged CMake file for alphabetical order. 2012-07-15 18:00:17 +02:00
unknown
9a498bad7b Renamed SurfaceExtractionController to MarchingCubesController. 2012-07-15 17:53:37 +02:00
unknown
679d98735a Renamed SurfaceExtractor to MarchingCubesSurfaceExtractor. 2012-07-15 17:40:37 +02:00
David Williams
1aa1978de1 Removed now redundant cpp files.
Removed a test which we don't need any more.
2012-07-08 08:52:36 +02:00
unknown
af5a351b45 Added SurfaceExtractionController and modified SurfaceExtractor to use it. 2012-06-26 15:02:07 +02:00
unknown
a20db7d7cf Work on refactoring voxel types.
Expanded surface extractor test.
2012-02-20 10:16:26 +01:00
unknown
3f56ee6f72 More refactoring of basic voxel types. Started replacing getDensity and getMaterial with free functions. 2012-02-18 12:12:38 +01:00
unknown
c483b44a41 Replaced constants with functions for type traits. 2012-02-06 17:51:37 +01:00
unknown
d2cd3e7c62 Work on refactoring voxel type. 2012-01-26 18:17:18 +01:00
David Williams
21ce252e1e Work on refactoring voxel types. 2012-01-16 14:56:47 +01:00
David Williams
a79633de09 Work on refactoring basic voxel types.
Also, this will probably cause a compile error on Linux but I'm committing anyway so I remember to investigate it...
2012-01-13 21:55:23 +00:00
p265186
396e1fea30 Refactoring of basic voxel types. 2012-01-12 14:50:53 +01:00
David Williams
6f31898fd7 Renamed Volume base class to BaseVolume.
Added initial version of simple interface.
2011-10-14 23:57:10 +01:00
David Williams
e8b3fd16e2 Initial version of IteratorController and making LowPassFilter use iterators. 2011-08-15 21:31:52 +01:00
David Williams
c73b45b721 Fixed bug with RawVolume always starting coordinates at (0,0,0).
Removed Filters.h/.inl
Added Summed Area Table support to LowPassFilter.
Added test for low pass filter.
2011-08-13 08:57:45 +01:00