/// <summary> /// Sets the state of the node, all of its descendants and all of its ancestors to not filtered. /// </summary> /// <param name="id">[in] The id of the node.</param> /// <exception cref="Columbus.Csharp.Asg.CsharpException">Throws CsharpException if the id is too large (larger than the size of the Filter).</exception> public void setNotFiltered(uint id) { if (fact.getExist(id)) { Factory.TurnFilterOffSafely turnFilterOffSafely = new Factory.TurnFilterOffSafely(fact); Visitors.VisitorFilter visitorFilter = new Visitors.VisitorFilter(fact, false); Algorithms.AlgorithmPreorder algorithmPreorder = new Algorithms.AlgorithmPreorder(); algorithmPreorder.run(fact, visitorFilter, fact.getRef(id)); do { container[(int)id] = FilterState.NotFiltered; id = fact.getRef(id).Parent; } while (id != 0); turnFilterOffSafely.restore(); } }