Пример #1
0
        /// <summary>
        /// Generate or update nodes within this model to structurally represent
        /// the vertices of elements.
        /// </summary>
        /// <param name="options"></param>
        public void GenerateNodes(NodeGenerationParameters options)
        {
            Elements.GenerateNodes(options);

            if (options.DeleteUnusedNodes)
            {
                foreach (Node node in Nodes)
                {
                    if (!node.IsDeleted && node.GetConnectedElements().UndeletedCount() == 0)
                    {
                        if (node.Model != null)
                        {
                            Node mNode = node.Model.Nodes.ClosestNodeTo(node.Position,
                                                                        options.ConnectionTolerance, node);
                            if (mNode != null)
                            {
                                mNode.Merge(node);
                            }
                        }
                        node.Delete();
                    }
                }
            }
        }