public void Clear()
 {
     elements.Clear();
     isBuilt        = false;
     physicsApplied = false;
     isFreezed      = false;
 }
Ejemplo n.º 2
0
        protected override void LoadNode(XmlNode elNode)
        {
            base.LoadNode(elNode);

            ElementsContainer.Clear();

            foreach (XmlNode node in elNode.ChildNodes)
            {
                if (node.Name == "InnerNode")
                {
                    var nodeId = new Guid(node.Attributes["id"].Value);
                    var runs   = ElementsContainer[nodeId];
                    runs.Clear();

                    foreach (XmlNode run in node.ChildNodes)
                    {
                        if (run.Name == "Run")
                        {
                            var runElements = new List <ElementId>();
                            runs.Add(runElements);

                            var query = from XmlNode element in run.ChildNodes
                                        where element.Name == "Element"
                                        select element.InnerText;

                            foreach (var eid in query)
                            {
                                try
                                {
                                    runElements.Add(dynRevitSettings.Doc.Document.GetElement(eid).Id);
                                }
                                catch (NullReferenceException)
                                {
                                    DynamoLogger.Instance.Log("Element with UID \"" + eid + "\" not found in Document.");
                                }
                            }
                        }
                    }
                    var rNode = Definition.Workspace.Nodes.FirstOrDefault(x => x.GUID == nodeId) as dynRevitTransactionNode;
                    if (rNode != null)
                    {
                        rNode.RegisterAllElementsDeleteHook();
                    }
                }
            }
        }