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

45 lines
1.2 KiB
OpenEdge ABL

%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>;
%template(Vector3DUint8) PolyVox::Vector<3,uint8_t>;
%template(Vector3DInt16) PolyVox::Vector<3,int16_t>;
%template(Vector3DUint16) PolyVox::Vector<3,uint16_t>;
%template(Vector3DInt32) PolyVox::Vector<3,int32_t>;
%template(Vector3DUint32) PolyVox::Vector<3,uint32_t>;
//%rename(assign) Vector3DFloat::operator=;