Commit Graph

723 Commits

Author SHA1 Message Date
d8da6a7b7f Refactoring the volume unit test code, trying to get some performance benchmarks. Unit tests are currently not passing. 2012-12-11 21:57:30 +00:00
b93ceca542 Improved the logic of a few tests. 2012-12-08 10:42:59 +01:00
c49caa1511 RawVolumeSampler now falls back on getVoxelWithWrapping. 2012-12-08 00:06:08 +01:00
fbdee1a9eb LargeVolumeSampler now falls back on getVoxelWithWrapping. 2012-12-08 00:02:10 +01:00
4c4a0f9f5c SimpleVolumeSampler now falls back on getVoxelWithWrapping. 2012-12-07 23:49:42 +01:00
4be54c6dd1 mCurrentVoxel is now zero if the current position is not in the volume. It used to just be set to some invalid address. 2012-12-07 15:56:46 +01:00
d0c9b7ba3d Added extra tests to move functions. 2012-12-07 13:38:39 +01:00
ab6898c4c5 Removed the assignment operator from SimpleVolume::Sampler and LargeVolume::Sampler. I had forgotten to call the base class assignment operator and this was causing problems.
Also updated the volume unit tests... at least I know now that it's helping!
2012-12-06 23:53:51 +01:00
1f9264a9f8 Fixed potential bug with negative voxel positions in large volume. 2012-12-06 21:06:40 +01:00
19a1f99723 Compile fixes for GCC. 2012-12-06 16:49:38 +01:00
d19f16ef64 Added new accessors to volume. getVoxel() and getVoxelWithWrapping() will probably replace getVoxelAt, which will be deprecated. 2012-12-06 16:17:21 +01:00
93958998f6 Merge branch 'feature/wrap-modes' of https://bitbucket.org/volumesoffun/polyvox into feature/wrap-modes 2012-12-05 23:53:44 +01:00
3f87fc780f Fixed bug with SimpleVolume and negative positions. 2012-12-05 23:49:39 +01:00
d5a5242409 Merge branch 'develop' into feature/wrap-modes 2012-12-05 15:47:33 +01:00
78cdf9acd6 Fixed use of static_asserts with Boost. These weren't working because static_assert takes two parameters (condition and message) whereas BOOST_STATIC_ASSERT only takes a condition. 2012-12-05 15:06:11 +01:00
4ed8d4303b LargeVolume now uses the version of border handling which is in the BaseVolume. 2012-12-04 22:41:45 +01:00
9d79035890 Moved volume border handling into base class. RawVolume and SimpleVolume updated, LargeVolume still to be done. 2012-12-03 23:43:44 +01:00
9a05f04f85 Merge branch 'develop' into feature/wrap-modes
Conflicts:
	library/PolyVoxCore/include/PolyVoxCore/RawVolumeSampler.inl
2012-12-03 21:30:51 +01:00
7e38fc135e Removed features which were deprecated in release 0.2. 2012-12-03 21:22:57 +01:00
f4917e5001 Added an optimization note. 2012-12-02 17:43:36 +01:00
47e8f4a86d Improved raycast unit test so that it exits early if the ray leaves the volume. 2012-12-02 17:33:59 +01:00
e7f4c69102 Fixed bug with peek function checking in wrong direction. 2012-12-02 14:17:41 +01:00
8792d1bd48 Fixed build error on VS2008 2012-12-02 14:15:34 +01:00
597b28d271 Support for wrap modes in LargeVolumeSampler 2012-12-02 13:57:08 +01:00
f9250a778b Made SimpleVolumeSampler support wrap modes. 2012-12-02 08:59:48 +01:00
649e3dddb9 Deprecated getSubSampledVoxel() in SimpeVolume and LargeVolume 2012-12-02 08:31:36 +01:00
e5aab77cda Moved getVoxelAt into base sampler. 2012-12-01 23:49:13 +01:00
ff3395643d Moved some functionality into Sampler base class. 2012-12-01 21:56:16 +01:00
f310e51318 Renamed macros. 2012-12-01 21:28:49 +01:00
90e279d7a4 Fixed bug with checking the wrong direction in peek function. 2012-12-01 20:41:27 +01:00
5859281c62 Much as I hate to admit it, my fancy use of bit flags to detect which direction the sampler could move in was actually slower than the previous simpler version. This commit reverts most of the previous few commits. 2012-12-01 20:38:11 +01:00
7b6fd11a06 Optimised code for setting the flag states. 2012-12-01 00:47:50 +01:00
ba827d446b Added 'containsPoint' functions which take separate components instead of vectors. 2012-11-30 23:47:03 +01:00
9c71c3fa30 Switched to using bitset for flags.
Optimized movement of samplers.
2012-11-30 22:42:35 +01:00
b57cec96a3 Fixed bug with checking the wrong direction before peeking. 2012-11-30 16:08:35 +01:00
256e289c8f Removed old code. 2012-11-30 15:56:45 +01:00
b53fee2627 Fixed behaviour. LowPassFilter now passes again. 2012-11-30 15:53:33 +01:00
fab995225c Switched to using bitflags to test if sampler is i a valid position. At least the LowPassFilterTest is currently broken. 2012-11-29 23:02:26 +01:00
a026546bb4 Making some functions in Vector use the new 'OperationType'. 2012-11-29 18:16:32 +01:00
b10b995a84 Fixed compiler warning. 2012-11-29 18:13:41 +01:00
bbdee0db25 Changed default wrap mode. 2012-11-27 23:54:11 +01:00
a7d7f64554 getEnclosedRegion now return a const ref. 2012-11-27 22:53:36 +01:00
c98f65c9a5 Added setWrapMode to BaseVolume::Sampler.
Added initial border/clamping to RawVolumeSampler.
2012-11-27 22:31:50 +01:00
153d0afc77 Reordered functions for alphabetical order (except getters and setters). 2012-11-27 16:51:22 +01:00
61cd1d3a29 Renamed Region::erode() to Region::shrink() and renamed Region::dilate() to Region::grow. 2012-11-27 16:49:19 +01:00
79cc521666 Remove Density and Material tyes from bindings
We now only have the bindings for (u)int{8,16,32}_t and float. This will
hopefully simplify things.
2012-11-26 13:58:51 +00:00
3ed3ac6998 Start Python bindings for Raycast
This is only beginning of the bindings here. It's starting to get more
complicated due to the use of callbacks. To be able to define a callback
function in Python which is then called by a C++ algorithm requires quite a
bit of wrapping boilerplate.

The class PyCallback here will wrap a Python callable and call it with the
density value of the voxel. It's not very generic and at present it can't
pass the sampler itself since it's not available in the Python bindings.

Regardless, the new test added here (TestRaycast.py) works as expected and
hopefully we will be able to build up from here.
2012-11-25 18:07:12 +00:00
37fbe16939 Assert only takes one argument.
It was causing a compiler error on GCC.
2012-11-25 11:22:38 +00:00
fd3ce69187 Wrap the correct class..but disable it since it needs more work. 2012-11-25 10:30:58 +00:00
b2642ec5c6 More work on Region documentation. 2012-11-25 09:18:29 +01:00