Пример #1
0
 public OnLineFact(string pid, string rid, string uri, FactOrganizer organizer) : base(organizer)
 {
     this.Pid  = pid;
     this.Rid  = rid;
     this._URI = uri;
     _         = this.Label;
 }
Пример #2
0
    public void SetMode(bool create)
    {
        if (create == creatorMode)
        {
            return;
        }

        creatorMode = create;

        if (create)
        {
            hiddenState = factState;
            factState.Undraw();

            factState        = solution as FactOrganizer;
            factState.invoke = true;
            factState.Draw();
        }
        else
        {
            solution = factState as SolutionOrganizer;
            factState.Undraw();
            //solution.invoke = false;

            factState = hiddenState;
            factState.Draw();
        }
    }
Пример #3
0
 public PointFact(float a, float b, float c, string uri, FactOrganizer organizer) : base(organizer)
 {
     this.Point  = new Vector3(a, b, c);
     this.Normal = new Vector3(0, 1, 0);
     this._URI   = uri;
     _           = this.Label;
 }
Пример #4
0
    public void delete(List <Directories> hierarchie)
    {
        hierarchie ??= new List <Directories>();
        hierarchie.AddRange(hierStage.AsEnumerable());

        FactOrganizer.delete(name, hierarchie, false);

        hierarchie.RemoveRange(hierarchie.Count - hierStage.Count, hierStage.Count);
    }
Пример #5
0
    protected Fact(Fact fact, FactOrganizer organizer)
    {
        this._Facts = organizer;
        LabelId     = fact.LabelId;

        if (hasCustomLabel)
        {
            _CustomLabel = fact.Label;
        }
    }
Пример #6
0
    public AngleFact(string Pid1, string Pid2, string Pid3, string backendURI, FactOrganizer organizer) : base(organizer)
    {
        this.Pid1 = Pid1;
        this.Pid2 = Pid2;
        this.Pid3 = Pid3;

        GetAngle();

        this._URI = backendURI;
        _         = this.Label;
    }
Пример #7
0
    public bool load(List <Directories> hierarchie)
    {
        hierarchie ??= new List <Directories>();
        hierarchie.AddRange(hierStage.AsEnumerable());

        factState = new FactOrganizer(false);
        bool loadable = FactOrganizer.load(ref factState, false, name, hierarchie, false, out _);

        if (!loadable)
        {
            return(false);
        }

        hierarchie.RemoveRange(hierarchie.Count - hierStage.Count, hierStage.Count);
        return(true);
    }
Пример #8
0
    public static bool load(ref SolutionOrganizer set, bool draw, string name, List <Directories> hierarchie = null, bool use_install_folder = false)
    {
        hierarchie ??= new List <Directories>();
        hierarchie.AddRange(hierVal.AsEnumerable());

        string path = CreatePathToFile(out bool loadable, name + endingVal, "JSON", hierarchie, use_install_folder);

        if (!loadable)
        {
            hierarchie.RemoveRange(hierarchie.Count - hierVal.Count, hierVal.Count);
            return(false);
        }


        FactOrganizer save = StageStatic.stage.factState;

        StageStatic.stage.factState = new SolutionOrganizer(false) as FactOrganizer;

        loadable = FactOrganizer.load(ref StageStatic.stage.player_record.factState
                                      , draw, name + endingSol, hierarchie, use_install_folder, out Dictionary <string, string> old_to_new);

        if (loadable)
        {
            set          = (SolutionOrganizer)StageStatic.stage.factState;
            set.path_Val = path;
        }

        StageStatic.stage.factState = save;
        hierarchie.RemoveRange(hierarchie.Count - hierVal.Count, hierVal.Count);
        if (!loadable)
        {
            return(false);
        }


        var JsonTmp = JSONManager.ReadFromJsonFile <List <SubSolution> > (path);

        foreach (var element in JsonTmp)
        // Parse and add
        {
            element.MasterIDs = new HashSet <string>(element.MasterIDs.Select(k => old_to_new[k]));
            set.ValidationSet.Add(element);
        }

        return(true);
    }
Пример #9
0
    public static bool load(ref FactOrganizer set, bool draw, string name, List<Directories> hierarchie, bool use_install_folder, out Dictionary<string, string> old_to_new)
    {
        old_to_new = null;
        hierarchie ??= new List<Directories>();
        hierarchie.AddRange(hierState.AsEnumerable());

        string path = CreatePathToFile(out bool loadable, name, "JSON", hierarchie, use_install_folder);
        hierarchie.RemoveRange(hierarchie.Count - hierState.Count, hierState.Count);
        if (!loadable)
            return false;

        PublicFactOrganizer de_json = JSONManager.ReadFromJsonFile<PublicFactOrganizer>(path);
        FactOrganizerFromPublic(ref set, de_json, draw, out old_to_new);
        set.path = path;

        return true;
    }
Пример #10
0
        public stepnote(string Id, bool samestep, bool creation, FactOrganizer that)
        {
            this.Id = Id;
            this.samestep = samestep;
            this.creation = creation;

            if (samestep)
            // steplink = !first_steptail ? previous.steplink : steproot
            {
                stepnote prev = that.Workflow[that.marker - 1];
                this.steplink = prev.samestep ? prev.steplink : that.marker - 1;
            }
            else
                // steproot sets steplink after itself (end of steptail)
                this.steplink = that.marker + 1;

        }
Пример #11
0
    protected internal PublicFactOrganizer(FactOrganizer expose)
    {
        // expose all non-abstract members
        marker = expose.marker;
        worksteps = expose.worksteps;
        backlog = expose.backlog;
        soft_resetted = expose.soft_resetted;
        invoke = expose.invoke;
        MaxLabelId = expose.MaxLabelId;
        UnusedLabelIds = expose.UnusedLabelIds;

        foreach (var sn in expose.Workflow)
            Workflow.Add(new stepnote(sn.Id, sn.samestep, sn.steplink, sn.creation));

        foreach (var mt in expose.MetaInf)
            MetaInf.Add(mt.Key, new meta(mt.Value.workflow_id, mt.Value.active));

        // expose and deserialize all abstract members
        foreach (var fc in expose.FactDict.Values)
        // keys are Fact.Id
        {
            switch (fc.GetType().Name)
            {
                case "PointFact":
                    PointFacts.Add(fc as PointFact);
                    break;
                case "LineFact":
                    LineFacts.Add(fc as LineFact);
                    break;
                case "RayFact":
                    RayFacts.Add(fc as RayFact);
                    break;
                case "OnLineFact":
                    OnLineFacts.Add(fc as OnLineFact);
                    break;
                case "AngleFact":
                    AngleFacts.Add(fc as AngleFact);
                    break;
                default:
                    throw new System.NotImplementedException();
            }
        }
    }
Пример #12
0
 public AngleFact(AngleFact fact, Dictionary <string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer)
 {
     init(old_to_new[fact.Pid1], old_to_new[fact.Pid2], old_to_new[fact.Pid3]);
 }
Пример #13
0
 protected FactWrappedCRTP(FactOrganizer organizer) : base(organizer)
 {
 }
Пример #14
0
 public OnLineFact(string pid, string rid, FactOrganizer organizer) : base(organizer)
 {
     init(pid, rid);
 }
Пример #15
0
 public OnLineFact(OnLineFact fact, Dictionary <string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer)
 {
     init(old_to_new[fact.Pid], old_to_new[fact.Rid]);
 }
Пример #16
0
 protected AbstractLineFact(string pid1, string pid2, FactOrganizer organizer) : base(organizer)
 {
     set_public_members(pid1, pid2);
 }
Пример #17
0
 protected Fact()
 // 0 parameter constructor for Json
 {
     this._Facts = new FactOrganizer();
     LabelId     = 0;
 }
Пример #18
0
 protected FactWrappedCRTP(FactWrappedCRTP <T> fact, FactOrganizer organizer) : base(fact, organizer)
 {
 }
Пример #19
0
 public PointFact(PointFact fact, Dictionary <string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer)
 {
     init(fact.Point, fact.Normal);
 }
Пример #20
0
 protected AbstractLineFactWrappedCRTP(string pid1, string pid2, string backendURI, FactOrganizer organizer) : base(pid1, pid2, backendURI, organizer)
 {
 }
Пример #21
0
 protected AbstractLineFactWrappedCRTP(AbstractLineFactWrappedCRTP <T> fact, Dictionary <string, string> old_to_new, FactOrganizer organizer) : base(fact, old_to_new, organizer)
 {
 }
Пример #22
0
 protected AbstractLineFact(string pid1, string pid2, string backendURI, FactOrganizer organizer) : base(organizer)
 {
     set_public_members(pid1, pid2);
     this._URI = backendURI;
 }
Пример #23
0
 public AngleFact(string pid1, string pid2, string pid3, FactOrganizer organizer) : base(organizer)
 {
     init(pid1, pid2, pid3);
 }
Пример #24
0
 public LineFact(string pid1, string pid2, string backendURI, FactOrganizer organizer) : base(pid1, pid2, backendURI, organizer)
 {
     SetDistance();
     _ = this.Label;
 }
Пример #25
0
 protected Fact(FactOrganizer organizer)
 {
     this._Facts = organizer;
     LabelId     = 0;
 }
Пример #26
0
 public RayFact(string pid1, string pid2, string backendURI, FactOrganizer organizer) : base(pid1, pid2, backendURI, organizer)
 {
     _ = this.Label;
 }
Пример #27
0
 public PlayerRecord(string name)
 {
     this.name = name;
     factState = new FactOrganizer();
 }
Пример #28
0
 public RayFact(string pid1, string pid2, FactOrganizer organizer) : base(pid1, pid2, organizer)
 {
     init(pid1, pid2);
 }
Пример #29
0
 public PointFact(Vector3 P, Vector3 N, FactOrganizer organizer) : base(organizer)
 {
     init(P, N);
 }
Пример #30
0
 protected AbstractLineFact(AbstractLineFact fact, Dictionary <string, string> old_to_new, FactOrganizer organizer) : base(fact, organizer)
 {
     set_public_members(old_to_new[fact.Pid1], old_to_new[fact.Pid2]);
 }