4478e365c9
Removed RLECompressor as the code is now in RLEBlockCompressor.
...
Things are starting to get back under control. All tests pass, and all examples except PagingExample work.
2013-07-30 17:01:27 +02:00
fa8813ba86
FilePager now cleans up after itself.
2013-07-30 16:34:40 +02:00
d1138dcdb1
Some new block compression code as I rework the previous code...
2013-07-30 16:01:03 +02:00
020ac9655a
Added random prefix to filename to prevent name conflicts.
2013-07-30 15:42:51 +02:00
a4fc814a51
Rearranging and renaming some code.
2013-07-29 16:04:01 +02:00
ef59f329b6
Reorganising compression code.
2013-07-26 16:25:50 +02:00
f54532a905
Started moving compression code into separate class.
2013-07-26 16:00:29 +02:00
c3c4ead1f3
Work on paging to files.
2013-07-26 15:38:03 +02:00
b767d9b896
Tidying up.
2013-07-25 17:07:50 +02:00
f4f85551c6
Starting some refactoring of the LargeVolume such that the uncompressed blocks are the 'main' representation, rather than the compressed block being the main version and the uncompressed blocks simply being a cached version. I hope this simplifies and improves the code.
2013-07-25 15:51:30 +02:00
cf9b54e5ab
Properly deleting data (delete vs. delete[]).
2013-07-24 16:53:40 +02:00
b07dafc9fa
Added code to initilise empty compressed blocks.
2013-07-24 16:39:31 +02:00
69066a068e
Implemented flushExcessiveCacheEntries()
2013-07-23 13:48:04 +02:00
7c11a53484
Fixed flushOldestExcessiveBlocks().
2013-07-23 13:31:24 +02:00
7146b5ecdb
The idea of a 'setTargetMemoryLimitInBytes' function was not really working out. It was too comp-lex and not really clear what the ideal size would be. I think user code needs to call setMaxNumberOfBlocksInMemory() and setMaxNumberOfUncompressedBlocks() directly, if they see from profiling toat too much camressing or paging is taking place.
2013-07-23 13:15:01 +02:00
7ee913c8a8
Fix the SWIG warning in the SWIG interface files
...
This keeps the .cpp and .h files clean.
2013-07-22 16:10:31 +01:00
3971e6415c
Added SWIG tests to stop build warning about operator<<.
2013-07-22 16:37:35 +02:00
63dfaa5a13
Enable C# bindings even if Python wasn't found.
2013-07-21 10:31:24 +01:00
7cd115b33d
Work on code which computes how the memory should be split between compressed and uncompressed data.
2013-07-19 16:43:59 +02:00
ef6bd31651
Small fixes.
2013-07-18 17:03:14 +02:00
88cbeb309c
Reimplemented eraseBlock for uncompressed blocks.
2013-07-18 16:08:18 +02:00
1e986f9aa6
Reimplemented eraseBlock for compressed blocks.
2013-07-17 17:00:12 +02:00
404f12a43e
Added typedefs to simplify code.
2013-07-17 16:33:46 +02:00
5b99854c02
Making block copy constructors and assignment operators private to prevent accidental copying.
2013-07-17 16:23:46 +02:00
dea7e6a4e9
Tidying up block classes.
2013-07-16 16:50:04 +02:00
b5d930062b
Const fixes.
2013-07-16 16:09:57 +02:00
3904c9aa8f
Tidying and renaming...
2013-07-16 15:59:06 +02:00
0cfb9f5196
Splitting 'Block into CompressedBlock and UncompressedBlock.
2013-07-16 14:42:43 +02:00
2acb98bdcb
Compile warning fixes.
2013-07-16 11:50:59 +02:00
a00574351f
Renamed Block to CompressedBlock
2013-07-11 16:38:28 +02:00
00eb281990
Stripping down Block class.
2013-07-11 16:30:19 +02:00
0d92bc6c8c
Starting to split Block class into CompressedBlock and UncompressedBlock.
2013-07-11 16:17:48 +02:00
9ff95f7061
Minor fixes.
2013-07-11 15:55:34 +02:00
e6cbc09e83
getUncompressedBlock now return raw pointer instead of block pointer.
2013-07-11 15:30:15 +02:00
884fe04c12
Tidying up...
2013-07-11 15:01:18 +02:00
abd1920d80
Adding new caching mechanism.
2013-07-11 14:50:06 +02:00
a589c6e4ac
Split come code into getCompressedBlock() function.
2013-07-11 14:26:38 +02:00
056064409d
Work on LargeVolume.
2013-07-05 16:07:38 +02:00
0c55938242
Work on the code that frees up memory in LargeVolume.
2013-07-05 15:41:16 +02:00
2f2475ad0c
Avoid ambiguous function resolution of getVoxelImpl
...
Clang was complaining that the function couldn't access the *Volumes*'s
``getVoxelImpl``. Since we actually want the ``BaseVolume::Sampler``'s
version this solves the problem.
2013-07-04 22:05:06 +01:00
8027f9904d
On systems that support it, raise SIGTRAP to drop into the debugger
...
Clang was being clever and giving a warning for this line so it prompted me
to fix it. I believe that SIGTRAP is the correct way to get the debugger to
work here.
It does a compile-time check for the platform when not using MSVC.
Discussed at http://www.volumesoffun.com/phpBB3/viewtopic.php?p=3766#p3766
2013-07-04 19:35:09 +01:00
9f7f893b68
Change the types of the edgeTable and triTable
...
The range on values in these tables is much less than needs an int so
making them specific width types packs them smaller.
I measure a 5% decrease in the size of the .so file created at -O3.
2013-07-04 19:35:09 +01:00
bd60f34bd7
Removing explicit functions to control the number of compressed and uncompressed blocks in memory, and letting the user set a memory limit instead.
2013-07-04 16:23:58 +02:00
c843e7e705
Remove unnecessary consts.
...
Since a copy is being made in the return, the const qualifiers are
ignored anyway.
2013-07-01 12:23:21 +01:00
edf1f5d665
Fix compile error caused by missing #include.
2013-06-28 16:47:02 +01:00
059a4b9465
Reverted accidental commit of test code.
2013-06-28 16:58:31 +02:00
e38aa3b1b9
Unit tests now test FilePager.
2013-06-28 16:16:08 +02:00
839f366174
Compile fixes for Linux.
...
Added SWIG files to make bindings build.
2013-06-28 15:07:19 +02:00
72b3cd5154
Tidying up and comments.
2013-06-26 23:39:21 +02:00
885a50e781
Merge branch 'develop' into feature/paging
2013-06-26 22:49:36 +02:00