diff --git a/library/bindings/CleanCSharpBindings.bat b/library/bindings/CleanCSharpBindings.bat new file mode 100644 index 00000000..d8a9871a --- /dev/null +++ b/library/bindings/CleanCSharpBindings.bat @@ -0,0 +1 @@ +del /f *.cs *.cxx \ No newline at end of file diff --git a/library/bindings/MakeCSharpBindings.bat b/library/bindings/MakeCSharpBindings.bat new file mode 100644 index 00000000..d8a441c7 --- /dev/null +++ b/library/bindings/MakeCSharpBindings.bat @@ -0,0 +1 @@ +swig -csharp -namespace PolyVoxCore -c++ -I../PolyVoxCore/include PolyVoxCore.i \ No newline at end of file diff --git a/library/bindings/PolyVoxCore.i b/library/bindings/PolyVoxCore.i index 86671ce5..9b43810d 100644 --- a/library/bindings/PolyVoxCore.i +++ b/library/bindings/PolyVoxCore.i @@ -2,9 +2,26 @@ #define POLYVOX_API +%rename(equalTo) operator==; +%rename(notEqualTo) operator!=; +%rename(lessThan) operator<; +%rename(greaterThan) operator>; +%rename(lessThanOrEqualTo) operator<=; +%rename(greaterThanOrEqualTo) operator>=; +%rename(assignment) operator=; +%rename(additionAssignment) operator+=; +%rename(subtractionAssignment) operator-=; +%rename(multiplicationAssignment) operator*=; +%rename(divisionAssignment) operator/=; + %include "stdint.i" %include "Material.i" %include "Density.i" %include "Vector.i" %include "Region.i" %include "Volume.i" +%include "TypeDef.i" +%include "VertexTypes.i" +%include "SurfaceMesh.i" +%include "VolumeSampler.i" +%include "SurfaceExtractor.i" diff --git a/library/bindings/SurfaceExtractor.i b/library/bindings/SurfaceExtractor.i new file mode 100644 index 00000000..441942eb --- /dev/null +++ b/library/bindings/SurfaceExtractor.i @@ -0,0 +1,11 @@ +%module SurfaceExtractor +%{ +#include "VolumeSampler.h" +#include "SurfaceExtractor.h" +%} + +%include "VolumeSampler.h" +%include "SurfaceExtractor.h" + +%template(SurfaceExtractorMaterial8) PolyVox::SurfaceExtractor; +%template(SurfaceExtractorDensity8) PolyVox::SurfaceExtractor; \ No newline at end of file diff --git a/library/bindings/SurfaceMesh.i b/library/bindings/SurfaceMesh.i new file mode 100644 index 00000000..1a87085a --- /dev/null +++ b/library/bindings/SurfaceMesh.i @@ -0,0 +1,13 @@ +%module SurfaceMesh +%{ +#include "Region.h" +#include "VertexTypes.h" +#include "SurfaceMesh.h" +%} + +%include "Region.h" +%include "VertexTypes.h" +%include "SurfaceMesh.h" + +%template(SurfaceMeshPositionMaterial) PolyVox::SurfaceMesh; +%template(SurfaceMeshPositionMaterialNormal) PolyVox::SurfaceMesh; \ No newline at end of file diff --git a/library/bindings/TypeDef.i b/library/bindings/TypeDef.i new file mode 100644 index 00000000..c2dbb473 --- /dev/null +++ b/library/bindings/TypeDef.i @@ -0,0 +1,6 @@ +%module TypeDef +%{ +#include "PolyVoxImpl\TypeDef.h" +%} + +%include "PolyVoxImpl\TypeDef.h" \ No newline at end of file diff --git a/library/bindings/VertexTypes.i b/library/bindings/VertexTypes.i new file mode 100644 index 00000000..dad1bad9 --- /dev/null +++ b/library/bindings/VertexTypes.i @@ -0,0 +1,13 @@ +%module VertexTypes +%{ +#include "PolyVoxImpl\TypeDef.h" +#include "Vector.h" +#include "VertexTypes.h" +%} + +%include "PolyVoxImpl\TypeDef.h" +%include "Vector.h" +%include "VertexTypes.h" + +//%template (PositionMaterial) PolyVox::PositionMaterial; +//%template (PositionMaterialNormal) PolyVox::PositionMaterialNormal; \ No newline at end of file diff --git a/library/bindings/Volume.i b/library/bindings/Volume.i index c1b07726..b6ac04b1 100644 --- a/library/bindings/Volume.i +++ b/library/bindings/Volume.i @@ -10,4 +10,4 @@ %include "Volume.h" %template(VolumeMaterial8) PolyVox::Volume; -%template(VolumeDensity8) PolyVox::Volume; +%template(VolumeDensity8) PolyVox::Volume; \ No newline at end of file diff --git a/library/bindings/VolumeSampler.i b/library/bindings/VolumeSampler.i new file mode 100644 index 00000000..3e743065 --- /dev/null +++ b/library/bindings/VolumeSampler.i @@ -0,0 +1,9 @@ +%module VolumeSampler +%{ +#include "VolumeSampler.h" +%} + +%include "VolumeSampler.h" + +%template(VolumeSamplerMaterial8) PolyVox::VolumeSampler; +%template(VolumeSamplerDensity8) PolyVox::VolumeSampler; \ No newline at end of file