public VoronoiDiagram(int size, int seed, VoronoiOptions options) { mSize = size; delDistanceFunc = DistanceFunctions.GetDistanceFunction(options.metric); delCombiningFunc = CombinerFunctions.GetFunction(options.combiner); mNumFeaturePoints = options.numberOfFeaturePoints; mNumSubregions = options.numberOfSubregions; mMultiplier = options.multiplier; aFeaturePoints = new int[0]; mRNG = new LCGRandom(seed); }
public static CombiningFunc GetFunction(CombineFunction combineFunc) { CombiningFunc ret; switch(combineFunc) { case CombineFunction.D1: ret = new CombiningFunc(D1); break; case CombineFunction.D2MinusD1: ret = new CombiningFunc(D2MinusD1); break; case CombineFunction.D3MinusD1: ret = new CombiningFunc(D3MinusD1); break; default: ret = new CombiningFunc(D2MinusD1); break; } return ret; }