Re-enable more of the bindings
This should enable enough of the bindings to be able to extract a surface mesh.
This commit is contained in:
parent
d79b1006f3
commit
869d1a8d6a
@ -3,6 +3,8 @@
|
||||
#include "Density.h"
|
||||
%}
|
||||
|
||||
%include "Voxel.h"
|
||||
%include "SurfaceExtractor.h"
|
||||
%include "Density.h"
|
||||
|
||||
%template(Density8) PolyVox::Density<uint8_t>;
|
||||
|
@ -2,33 +2,40 @@
|
||||
|
||||
#define POLYVOX_API
|
||||
|
||||
%rename(equals) 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/=;
|
||||
%rename(arrayOperator) operator[];
|
||||
//This macro allows us to use Python properties on our classes
|
||||
%define PROPERTY(type,name,getter,setter)
|
||||
%extend type {
|
||||
%pythoncode %{
|
||||
__swig_getmethods__["name"] = getter
|
||||
__swig_setmethods__["name"] = setter
|
||||
if _newclass: name = property(getter, setter)
|
||||
%}
|
||||
};
|
||||
%enddef
|
||||
|
||||
//Put this in an %extend section to wrap operator<< as __str__
|
||||
%define STR()
|
||||
const char* __str__() {
|
||||
std::ostringstream out;
|
||||
out << *$self;
|
||||
return out.str().c_str();
|
||||
}
|
||||
%enddef
|
||||
|
||||
%include "stdint.i"
|
||||
%include "std_vector.i"
|
||||
%include "Vector.i"
|
||||
%include "Density.i"
|
||||
//%include "Material.i"
|
||||
//%include "Density.i"
|
||||
//%include "Region.i"
|
||||
//%include "SimpleVolume.i"
|
||||
%include "Region.i"
|
||||
%include "SimpleVolume.i"
|
||||
//%include "TypeDef.i"
|
||||
//%include "SubArray.i"
|
||||
//%include "Array.i"
|
||||
//%include "VertexTypes.i"
|
||||
//%include "SurfaceMesh.i"
|
||||
%include "VertexTypes.i"
|
||||
%include "SurfaceMesh.i"
|
||||
//%include "SimpleVolumeSampler.i"
|
||||
//%include "SurfaceExtractor.i"
|
||||
%include "SurfaceExtractor.i"
|
||||
//%include "CubicSurfaceExtractor.i"
|
||||
//%include "CubicSurfaceExtractorWithNormals.i"
|
||||
//%include "MeshDecimator.i"
|
@ -5,9 +5,12 @@
|
||||
#include "SimpleVolume.h"
|
||||
%}
|
||||
|
||||
%import "BaseVolume.h"
|
||||
%include "Material.h"
|
||||
%include "Density.h"
|
||||
%include "SimpleVolume.h"
|
||||
|
||||
%template(SimpleVolumeMaterial8) PolyVox::SimpleVolume<PolyVox::Material8>;
|
||||
%template(BaseVolumeDensity8) PolyVox::BaseVolume<PolyVox::Density8>;
|
||||
|
||||
//%template(SimpleVolumeMaterial8) PolyVox::SimpleVolume<PolyVox::Material8>;
|
||||
%template(SimpleVolumeDensity8) PolyVox::SimpleVolume<PolyVox::Density8>;
|
@ -1,30 +1,11 @@
|
||||
%module SurfaceExtractor
|
||||
%{
|
||||
#include "SimpleVolume.h"
|
||||
#include "Material.h"
|
||||
#include "SurfaceExtractor.h"
|
||||
#include "PolyVoxCore/Material.h"
|
||||
|
||||
namespace PolyVox
|
||||
{
|
||||
class SurfaceExtractorSimpleVolumeMaterial8 : public SurfaceExtractor<SimpleVolume, Material8>
|
||||
{
|
||||
public:
|
||||
SurfaceExtractorSimpleVolumeMaterial8(SimpleVolume<Material8>* volData, Region region, SurfaceMesh<PositionMaterialNormal>* result)
|
||||
: SurfaceExtractor<SimpleVolume, Material8>(volData, region, result) {}
|
||||
void execute() { SurfaceExtractor<SimpleVolume, Material8>::execute(); }
|
||||
};
|
||||
};
|
||||
%}
|
||||
|
||||
%include "SimpleVolume.h"
|
||||
%include "SurfaceExtractor.h"
|
||||
|
||||
namespace PolyVox
|
||||
{
|
||||
class SurfaceExtractorSimpleVolumeMaterial8 : public SurfaceExtractor<SimpleVolume, Material8>
|
||||
{
|
||||
public:
|
||||
SurfaceExtractorSimpleVolumeMaterial8(SimpleVolume<Material8>* volData, Region region, SurfaceMesh<PositionMaterialNormal>* result);
|
||||
void execute();
|
||||
};
|
||||
};
|
||||
%template(SurfaceExtractorSimpleVolumeDensity8) PolyVox::SurfaceExtractor<PolyVox::SimpleVolume<PolyVox::Density8> >;
|
||||
|
@ -1,10 +1,37 @@
|
||||
%module Vector
|
||||
%{
|
||||
#include "Vector.h"
|
||||
#include <sstream>
|
||||
%}
|
||||
|
||||
%include "Vector.h"
|
||||
|
||||
PROPERTY(PolyVox::Vector, x, getX, setX)
|
||||
PROPERTY(PolyVox::Vector, y, getY, setY)
|
||||
PROPERTY(PolyVox::Vector, z, getZ, setZ)
|
||||
|
||||
%extend PolyVox::Vector {
|
||||
PolyVox::Vector __add__(const PolyVox::Vector& rhs) {
|
||||
return *$self + rhs;
|
||||
}
|
||||
PolyVox::Vector __sub__(const PolyVox::Vector& rhs) {
|
||||
return *$self - rhs;
|
||||
}
|
||||
PolyVox::Vector __div__(const PolyVox::Vector& rhs) {
|
||||
return *$self / rhs;
|
||||
}
|
||||
PolyVox::Vector __div__(const Type& rhs) {
|
||||
return *$self / rhs;
|
||||
}
|
||||
PolyVox::Vector __mul__(const PolyVox::Vector& rhs) {
|
||||
return *$self * rhs;
|
||||
}
|
||||
PolyVox::Vector __mul__(const Type& rhs) {
|
||||
return *$self * rhs;
|
||||
}
|
||||
STR()
|
||||
};
|
||||
|
||||
%template(Vector3DFloat) PolyVox::Vector<3,float>;
|
||||
%template(Vector3DDouble) PolyVox::Vector<3,double>;
|
||||
%template(Vector3DInt8) PolyVox::Vector<3,int8_t>;
|
||||
@ -14,4 +41,4 @@
|
||||
%template(Vector3DInt32) PolyVox::Vector<3,int32_t>;
|
||||
%template(Vector3DUint32) PolyVox::Vector<3,uint32_t>;
|
||||
|
||||
%rename(assign) Vector3DFloat::operator=;
|
||||
//%rename(assign) Vector3DFloat::operator=;
|
||||
|
Loading…
x
Reference in New Issue
Block a user