/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 * 
 * This file is not intended to be easily readable and contains a number of 
 * coding conventions designed to improve portability and efficiency. Do not make
 * changes to this file unless you know what you are doing--modify the SWIG 
 * interface file instead. 
 * ----------------------------------------------------------------------------- */

package example


type _swig_fnptr *byte
type _swig_memberptr *byte


func _swig_allocatememory(int) *byte
func _swig_internal_allocate(len int) *byte {
	return _swig_allocatememory(len)
}

func _swig_allocatestring(*byte, int) string
func _swig_internal_makegostring(p *byte, l int) string {
	return _swig_allocatestring(p, l)
}

func _swig_internal_gopanic(p *byte, l int) {
	panic(_swig_allocatestring(p, l))
}

type SwigcptrVector uintptr

func (p SwigcptrVector) Swigcptr() uintptr {
	return (uintptr)(p)
}

func (p SwigcptrVector) SwigIsVector() {
}

func _swig_wrap_new_Vector(float64, float64, float64) SwigcptrVector

func NewVector(arg1 float64, arg2 float64, arg3 float64) Vector {
	return _swig_wrap_new_Vector(arg1, arg2, arg3)
}

func _swig_wrap_delete_Vector(uintptr)

func DeleteVector(arg1 Vector) {
	_swig_wrap_delete_Vector(arg1.Swigcptr())
}

func _swig_wrap_Vector_print(SwigcptrVector) string

func (arg1 SwigcptrVector) Print() string {
	return _swig_wrap_Vector_print(arg1)
}

type Vector interface {
	Swigcptr() uintptr
	SwigIsVector()
	Print() string
}

func _swig_wrap_addv(uintptr, uintptr) SwigcptrVector

func Addv(arg1 Vector, arg2 Vector) Vector {
	return _swig_wrap_addv(arg1.Swigcptr(), arg2.Swigcptr())
}

type SwigcptrVectorArray uintptr

func (p SwigcptrVectorArray) Swigcptr() uintptr {
	return (uintptr)(p)
}

func (p SwigcptrVectorArray) SwigIsVectorArray() {
}

func _swig_wrap_new_VectorArray(int) SwigcptrVectorArray

func NewVectorArray(arg1 int) VectorArray {
	return _swig_wrap_new_VectorArray(arg1)
}

func _swig_wrap_delete_VectorArray(uintptr)

func DeleteVectorArray(arg1 VectorArray) {
	_swig_wrap_delete_VectorArray(arg1.Swigcptr())
}

func _swig_wrap_VectorArray_size(SwigcptrVectorArray) int

func (arg1 SwigcptrVectorArray) Size() int {
	return _swig_wrap_VectorArray_size(arg1)
}

func _swig_wrap_VectorArray_get(SwigcptrVectorArray, int) SwigcptrVector

func (arg1 SwigcptrVectorArray) Get(arg2 int) Vector {
	return _swig_wrap_VectorArray_get(arg1, arg2)
}

func _swig_wrap_VectorArray_set(SwigcptrVectorArray, int, uintptr)

func (arg1 SwigcptrVectorArray) Set(arg2 int, arg3 Vector) {
	_swig_wrap_VectorArray_set(arg1, arg2, arg3.Swigcptr())
}

type VectorArray interface {
	Swigcptr() uintptr
	SwigIsVectorArray()
	Size() int
	Get(arg2 int) Vector
	Set(arg2 int, arg3 Vector)
}


type SwigcptrVoid uintptr
type Void interface {
	Swigcptr() uintptr;
}
func (p SwigcptrVoid) Swigcptr() uintptr {
	return uintptr(p)
}

