38 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
Matt Williams
66bdf0e5a9 Add Compressor and subclasses to the bindings
This relates to issue 20 and should fix the compilation error mentioned
there.
2013-02-08 14:27:11 +00:00
Matt Williams
d50e9dfebc Start enabling the CubicSurfaceExtractors 2013-01-19 14:19:26 +00:00
Matt Williams
a5d55d4415 We ignore these operators since they don't exist in C# 2013-01-04 12:03:38 +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
Matt Williams
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
Matt Williams
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
Matt Williams
fd3ce69187 Wrap the correct class..but disable it since it needs more work. 2012-11-25 10:30:58 +00:00
Matt Williams
e048f7c2f6 Clean up in interface files and CubicExtractor bindings 2012-11-24 15:42:02 +00:00
Matt Williams
bb3d3c4b68 Add a EXTRACTORS macro to automate the generation of the extractors
Like with VOLUMETYPES it is centralising the definitions of the volume and
voxel types.
2012-11-24 15:37:46 +00:00
Matt Williams
e7daab5bbc Simplify macro by assuming PolyVox:: in front of all classes 2012-11-24 15:20:34 +00:00
Matt Williams
edf2bf87d4 Add LargeVolume binding 2012-11-24 14:23:52 +00:00
Matt Williams
63e0298fbf Add a VOLUMETYPES macro to avoid repeating ourselves. 2012-11-24 14:16:52 +00:00
Matt Williams
a932d060f2 Add RawVolume wrapper 2012-11-24 14:07:13 +00:00
Matt Williams
7fbe92e1e7 Separate out the BaseVolume definitions into their own file 2012-11-24 14:06:31 +00:00
Matt Williams
989e6ea589 Fix SWIG complaining about redefining uint8_t etc. 2012-11-23 15:41:26 +00:00
Matt Williams
27f943adb3 Silence all the SWIG warning hopefully 2012-11-17 13:44:27 +00:00
Matt Williams
b534811477 Explicitly include the TypeDef.h header in SWIG
This time the bindings really should be fixed.
2012-11-09 13:27:44 +00:00
Matt Williams
5c88f2e49f Inform SWIG of the meaning of the POLYVOX_DEPRECATED command in Linux
If the bindings fail to build on Windows, we might need to add an
equivalent there too.
2012-11-08 10:10:01 +00:00
unknown
b140e16083 Renamed MarchingCubesController to DefaultMarchingCubesController. 2012-07-15 23:07:00 +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
unknown
c09335dbd0 Added SWIG interface for SurfaceExtractionController 2012-07-15 11:57:23 +02:00
Matt Williams
23145f12e1 Use SWIG's autodoc command for simple docstrings with type information 2012-07-10 11:24:31 +01:00
Matt Williams
85c5b7abf0 Add all the Material, Density and MaterialDensityPair typedefs 2012-06-22 00:18:04 +01:00
Matt Williams
869d1a8d6a Re-enable more of the bindings
This should enable enough of the bindings to be able to extract a surface
mesh.
2012-06-21 22:24:04 +01:00
Matt Williams
5985aa5ec2 Re-enable SWIG compilation
For now only enable Vector, although some other
may work but will need testing.
2012-06-15 00:19:49 +02:00
Matt Williams
acd3c3c791 Fix SWIG bindings
The bindings now compile and in Python a mesh can be extracted from a volume.
The only extractor currently bound is SurfaceExtractor<SimpleVolume, Material8>.

The bindings are still commented out in library/CMakeLists.txt by default.
2011-06-07 20:33:01 +02:00
Matt Williams
cb0a746b6f Update include paths for bindings to new layout. 2011-05-22 21:33:32 +02:00
David Williams
c1ebed678e More SWIG bindings. 2011-01-18 21:59:21 +00:00
David Williams
36f8dc0296 More SWIG changes. 2011-01-16 20:22:49 +00:00
David Williams
513b1878f1 Updated SWIG bindings, especially for C#. 2011-01-16 20:09:59 +00:00
David Williams
f7573e7660 Work on SWIG bindings for PolyVox. 2010-12-28 11:14:55 +00:00
David Williams
89df1c8824 Work on SWIG bindings for PolyVox. 2010-12-28 09:49:18 +00:00
David Williams
26081fd4ba Got the Vector class working in Python through SWIG. 2010-12-27 11:54:49 +00:00
Matt Williams
69751dc084 To bind a template, you must bind a specific instantiation of it. I'm binding the instantiations defined by the typedefs in Vector.h (though I have to specify them manually in SWIG).
The uint8 etc. typedefs aren't working for now though.
2009-03-29 15:36:41 +00:00
Matt Williams
58355da40b A few more tiny steps in the right direction
Getting templates to work is the next thing
2009-03-28 13:08:29 +00:00
Matt Williams
c65c23acf4 Use correct file extensions for python dlls
Build it as  'PolyVoxCore' module
2009-03-27 23:00:37 +00:00