func (t vectorTree) AddVector(vec Point3D, value uint32) {
	t[newvec3IFromVec3(vec)] = value
}
AddVector adds a vector to the dictionary.
package go3mf
import (
	"fmt"
	"math"
)
type pairEntry struct {
	a, b uint32
}
type pairMatch map[pairEntry]uint32
func (t pairMatch) AddMatch(data1, data2, param uint32) {
	t[newPairEntry(data1, data2)] = param
}
func (t pairMatch) CheckMatch(data1, data2 uint32) (val uint32, ok bool) {
	val, ok = t[newPairEntry(data1, data2)]
	return
}
func newPairEntry(data1, data2 uint32) pairEntry {
	if data1 < data2 {
		return pairEntry{data1, data2}
	}
	return pairEntry{data2, data1}
}
type vec3I struct {
	X int32  
	Y int32  
	Z int32  
}
const micronsAccuracy = 1e-6
func newvec3IFromVec3(vec Point3D) vec3I {
	a := vec3I{
		X: int32(math.Floor(float64(vec.X() / micronsAccuracy))),
		Y: int32(math.Floor(float64(vec.Y() / micronsAccuracy))),
		Z: int32(math.Floor(float64(vec.Z() / micronsAccuracy))),
	}
	return a
}
type vectorTree map[vec3I]uint32