public void ShowSatisfiabilityGraph(Satisfiability satisfiability, HoloAd config) { if (satisfiability.GetLength() == maxX * maxY * maxZ) { for (int index = 0; index < maxX * maxY * maxZ; index++) { float sat = satisfiability.cells[index]; if (float.IsNaN(sat)) { sat = 0f; } Renderer renderer = cells[index].GetComponent <Renderer>(); if (sat < config.minVisibleSatisfiability) { renderer.enabled = false; } else { renderer.enabled = true; renderer.material.color = new Color(sat, sat, sat, sat); } } } else { ReconstructVisuals(config); ShowSatisfiabilityGraph(satisfiability, config); } }
public void ShowCriterionOnGraph(Criterion[] criterion) { RebuildMatrix(); if (visualizeMatrix) { Satisfiability satMap = new Satisfiability(this); satMap.TestCriterion(criterion, this); visualization.ShowSatisfiabilityGraph(satMap, this); } }
private void CalculateSatisfiability() { numberOfUnsatisfiedClauses = 0; foreach (var clause in Instance.Clauses) { if (!clause.IsSatisfiable(this)) { IncrementUnsatisfiedLiterals(clause); } } if (numberOfUnsatisfiedClauses == 0) { configurationSatisfiability = Satisfiability.SATISFIABLE; } else { configurationSatisfiability = Satisfiability.UNSATISFIABLE; } }