Example #1
0
        internal BoundaryMesh <T> CreateMesh(List <T> nodes, Settings settings)

        {
            MeshingAlgorithm.Settings meshingSettings = ConvertToMesherSettings(settings);
            BoundaryMesh <T>          mesh            = MeshingAlgorithm.ComputeMesh(nodes, meshingSettings);

            return(mesh);
        }
Example #2
0
        public VoronoiGrid CreateGrid(VoronoiNodes nodes, Settings settings)
        {
            List <Node>         mesherNodes = WrapInMesherNodes(nodes.Nodes);
            BoundaryMesh <Node> mesh        = CreateMesh(mesherNodes, settings);

            VoronoiGrid grid = Convert2VoronoiGrid(mesh, settings);

            return(grid);
        }
Example #3
0
        public static VoronoiGrid Convert2VoronoiGrid <T>(BoundaryMesh <T> mesh, VoronoiInfo info)
            where T : IVoronoiNodeCastable
        {
            IReadOnlyList <MeshCell <T> > cells = mesh.GetCells();

            (GridCommons grid, int[][] aggregation) = ExtractGridCommonsAndCellAggregation(cells);

            IList <T>           nodeList        = mesh.GetNodes();
            IList <VoronoiNode> voronoiNodeList = Cast(nodeList);
            VoronoiNodes        nodes           = new VoronoiNodes(voronoiNodeList);

            VoronoiGrid voronoiGrid = new VoronoiGrid(grid, aggregation, nodes, info);

            return(voronoiGrid);
        }
        public TrackedVoronoiGrid CreateGrid(VoronoiNodes nodes, Settings settings)
        {
            List <TrackableNode>         mesherNodes = WrapInMesherNodes(nodes.Nodes);
            BoundaryMesh <TrackableNode> mesh        = CreateMesh(mesherNodes, settings);
            VoronoiGrid grid = Convert2VoronoiGrid(mesh, settings);

            OneWayArrayMap     resultMap  = ExtractMap(mesh.GetNodes());
            OneWayArrayMap     inputMap   = GetInputMap(resultMap, nodes.Count);
            TrackedVoronoiGrid movingGrid = new TrackedVoronoiGrid
            {
                Result = grid,
                InputNodesToResultNodes = inputMap,
                ResultNodesToInputNodes = resultMap
            };

            return(movingGrid);
        }
Example #5
0
        internal VoronoiGrid Convert2VoronoiGrid(BoundaryMesh <T> mesh, Settings settings)
        {
            VoronoiGrid grid = GridConverter.Convert2VoronoiGrid(mesh, settings.GridInfo);

            return(grid);
        }