public FloorPlanner(Func <double> random, INamedDataCollection metadata, Func <KeyValuePair <string, string>[], Type[], ScriptReference> finder, float wallThickness, WallGrowthParameters wallGrowthParameters, MergingParameters mergeParameters, CorridorParameters corridorParameters) { Contract.Requires(random != null); Contract.Requires(metadata != null); Contract.Requires(finder != null); Contract.Requires(wallGrowthParameters != null); _random = random; _metadata = metadata; _finder = finder; _wallThickness = wallThickness; _wallGrowthParameters = wallGrowthParameters; _mergeParameters = mergeParameters; _corridorParameters = corridorParameters; }
private static IList <Tree> Detect(PointSetGroup pointSetGroup) { var mergingParameters = new MergingParameters { MinimumRegressionGroupingDistance = 0.09, MaximumGroupingEmptyHeight = 20, MinimumGroupingDistance = 0.35, }; var treeFilters = new List <ITreeFilter> { new TreeHeightFilter { MinimalTreeHeight = 4 } }; var potentialTrees = pointSetGroup.BuildTrees(mergingParameters); return(FilterTrees(potentialTrees, treeFilters)); }