FrameIT
PublicFactOrganizer Class Reference

JsonReader/ JsonWriter readable and creatable format. TODO? PERF? SE? JsonInheritanceProblem: scrap this hardwired class and implement dynamic approach with JsonConverter (see JSONManager.JsonInheritenceConverter<T>) More...

Inheritance diagram for PublicFactOrganizer:
FactOrganizer

Classes

struct  meta
 
struct  stepnote
 

Public Member Functions

 PublicFactOrganizer ()
 
- Public Member Functions inherited from FactOrganizer
 FactOrganizer (bool invoke=false)
 Standard Constructor for empty, ready to use FactOrganizer More...
 
bool ContainsKey (string id)
 wrappes FactDict.ContainsKey(id ) More...
 
bool ContainsLabel (string label)
 Looks up if there is a label Fact.Label in FactDict.Values More...
 
string Add (Fact value, out bool exists, bool samestep=false)
 Call this to Add a Fact to this instance. More...
 
bool Remove (Fact value, bool samestep=false)
 Call this to Remove a Fact from this instance. If other Facts depend on value Remove(/, true)will be called recursively/ cascadingly. More...
 
bool Remove (string key, bool samestep=false)
 Call this to Remove a Fact from this instance. If other Facts depend on value Remove(/, true)will be called recursively/ cascadingly. More...
 
bool safe_dependencies (string key, out List< string > dependencies)
 searches recursively for Facts where Fact.getDependentFactIds includes key / found dependencies More...
 
void undo ()
 Undoes an entire step or last softreset . No Fact will be actually added, removed or deleted; only its visablity and meta.active changes.

See also
marker, worksteps, backlog
More...
 
void redo ()
 Redoes an entire step . No Fact will be actually added, removed or deleted; only its visablity and meta.active changes.

See also
marker, worksteps, backlog
More...
 
void Clear ()
 Resets to "factory conditions". Neither deletes Facts nor invokes CommunicationEvents.RemoveFactEvent More...
 
void hardreset (bool invoke_event=true)
 Resets to "factory conditions". deletes Facts and invokes CommunicationEvents.RemoveFactEvent iff invoke_event && invoke. More...
 
void softreset ()
 Undoes all worksteps (since marker) and sets soft_resetted to true. More...
 
void fastforward ()
 Redoes all worksteps (from marker onwards) and sets soft_resetted to false. More...
 
void Draw (bool draw_all=false)
 Call this after assigning a stored instance in an empty world, that was not drawn. Redoes/ draws everything from marker = 0 to draw_all ? worksteps : backlog More...
 
void Undraw (bool force_invoke=false)
 Undraws everything by invoking CommunicationEvents.RemoveFactEvent, that is meta.active, but does not change that satus. More...
 
bool DynamiclySolved (SolutionOrganizer MinimalSolution, out List< List< string > > MissingElements, out List< List< string > > Solutions)
 Used to check wether this satisfies the constrains of an Solution. Only meta.active are accounted for. More...
 
void store (string name, List< Directories > hierarchie=null, bool use_install_folder=false, bool overwrite=true)
 
void delete ()
 

Public Attributes

List< PointFactPointFacts = new List<PointFact>()
 
List< LineFactLineFacts = new List<LineFact>()
 
List< RayFactRayFacts = new List<RayFact>()
 
List< OnLineFactOnLineFacts = new List<OnLineFact>()
 
List< AngleFactAngleFacts = new List<AngleFact>()
 
new Dictionary< string, metaMetaInf = new Dictionary<string, meta>()
 
new List< stepnoteWorkflow = new List<stepnote>()
 
new int marker = 0
 
new int worksteps = 0
 
new int backlog = 0
 
new bool soft_resetted = false
 
new bool invoke
 
new int MaxLabelId = 0
 
new SortedSet< int > UnusedLabelIds = new SortedSet<int>()
 
- Public Attributes inherited from FactOrganizer
bool invoke
 If set to true, Remove(string, bool) and Add(Fact, out bool, bool) will invoke CommunicationEvents.RemoveFactEvent and CommunicationEvents.AddFactEvent respectively. More...
 

Package Functions

 PublicFactOrganizer (FactOrganizer expose)
 

Static Package Attributes

static List< string > WatchedFacts
 

Additional Inherited Members

- Static Public Member Functions inherited from FactOrganizer
static bool load (ref FactOrganizer set, bool draw, string name, List< Directories > hierarchie, bool use_install_folder, out Dictionary< string, string > old_to_new)
 
static void delete (string name, List< Directories > hierarchie, bool use_install_folder)
 
static void delete (string path)
 
- Package Attributes inherited from FactOrganizer
Dictionary< string, FactFactDict
 
Dictionary< string, metaMetaInf = new Dictionary<string, meta>()
 
List< stepnoteWorkflow = new List<stepnote>()
 Keeps track of insertion/ deletion/ etc. operations for undo and redo More...
 
int marker = 0
 Notes position in Workflow for undo and redo; the pointed to element is non-acitve More...
 
int worksteps = 0
 Backlock logic redundant - for convinience. Keeps track of number of steps in Workflow. One step can consist of multiple operations.

See also
stepnote
More...
 
int backlog = 0
 Backlock logic redundant - for convinience. Keeps track of number of steps in Workflow, which are not set active. One step can consist of multiple operations.

See also
stepnote
More...
 
bool soft_resetted = false
 Set to true if recently been resetted. More...
 
int MaxLabelId = 0
 Keeps track of maximum Fact.LabelId for Fact.generateLabel. More...
 
SortedSet< int > UnusedLabelIds = new SortedSet<int>()
 Stores unused Fact.LabelId for Fact.generateLabel, wich were freed in Fact.freeAutoLabel for later reuse to keep naming space compact. More...
 
- Properties inherited from FactOrganizer
Fact this[string id] [get]
 wrappes FactDict[id ]

See also
ContainsKey(string)
More...
 

Detailed Description

JsonReader/ JsonWriter readable and creatable format. TODO? PERF? SE? JsonInheritanceProblem: scrap this hardwired class and implement dynamic approach with JsonConverter (see JSONManager.JsonInheritenceConverter<T>)

Constructor & Destructor Documentation

◆ PublicFactOrganizer() [1/2]

PublicFactOrganizer.PublicFactOrganizer ( )

◆ PublicFactOrganizer() [2/2]

PublicFactOrganizer.PublicFactOrganizer ( FactOrganizer  expose)
package

Member Data Documentation

◆ AngleFacts

List<AngleFact> PublicFactOrganizer.AngleFacts = new List<AngleFact>()

◆ backlog

new int PublicFactOrganizer.backlog = 0

◆ invoke

new bool PublicFactOrganizer.invoke

◆ LineFacts

List<LineFact> PublicFactOrganizer.LineFacts = new List<LineFact>()

◆ marker

new int PublicFactOrganizer.marker = 0

◆ MaxLabelId

new int PublicFactOrganizer.MaxLabelId = 0

◆ MetaInf

new Dictionary<string, meta> PublicFactOrganizer.MetaInf = new Dictionary<string, meta>()

◆ OnLineFacts

List<OnLineFact> PublicFactOrganizer.OnLineFacts = new List<OnLineFact>()

◆ PointFacts

List<PointFact> PublicFactOrganizer.PointFacts = new List<PointFact>()

◆ RayFacts

List<RayFact> PublicFactOrganizer.RayFacts = new List<RayFact>()

◆ soft_resetted

new bool PublicFactOrganizer.soft_resetted = false

◆ UnusedLabelIds

new SortedSet<int> PublicFactOrganizer.UnusedLabelIds = new SortedSet<int>()

◆ WatchedFacts

List<string> PublicFactOrganizer.WatchedFacts
staticpackage
Initial value:
= new List<string>(new string[] {
"PointFact",
"LineFact",
"RayFact",
"OnLineFact",
"AngleFact"
})

◆ Workflow

new List<stepnote> PublicFactOrganizer.Workflow = new List<stepnote>()

◆ worksteps

new int PublicFactOrganizer.worksteps = 0

The documentation for this class was generated from the following file: