/// <summary> /// For a certain entity, this method adds a symbolic time interval to the list of symbolic time intervals the key symbolic time interval is in relation with. /// </summary> /// <param name="eIdx">Entity ID</param> /// <param name="tisKey">The key Symbolic Time Interval</param> /// <param name="tisVal">The symbolic time interval to add</param> public void AddStiToStiMapForEntity(int eIdx, SymbolicTimeInterval tisKey, SymbolicTimeInterval tisVal) { if (stiMapsInArrayIndexedByEntityID[eIdx].ContainsKey(tisKey)) { stiMapsInArrayIndexedByEntityID[eIdx][tisKey].Add(tisVal); } else { List <SymbolicTimeInterval> stiList = new List <SymbolicTimeInterval>(); stiList.Add(tisVal); stiMapsInArrayIndexedByEntityID[eIdx].Add(tisKey, stiList); AddEntity(eIdx); horizontalSupport++; } }
/// <summary> /// Adds a symbolic time interval to the mapping between key symbolic time intervals and symbolic time intervals for which the relation takes placed, indexed by entity id /// </summary> /// <param name="rel"></param> /// <param name="eIdx"></param> /// <param name="tisKey"></param> /// <param name="tisVal"></param> public void AddStiToStiMapForRelationByEntityID(int rel, int eIdx, SymbolicTimeInterval tisKey, SymbolicTimeInterval tisVal) { supportingInstancesIndexedByRelation[rel].AddStiToStiMapForEntity(eIdx, tisKey, tisVal); }
/// <summary> /// Adds a symbolic time interval to the tindexRelationEntry according to the symbols given. /// </summary> /// <param name="frstTncptIdx">First symbol index</param> /// <param name="scndTncptIdx">Second symbol index</param> /// <param name="rel">Relation between the two symbols</param> /// <param name="eIdx">Entity id</param> /// <param name="tisKey">Symbolic time interval key for the map</param> /// <param name="tisVal">Symbolic time interval to add</param> public void AddStiToTindexRelationEntryBySymbols(int frstTncptIdx, int scndTncptIdx, int rel, int eIdx, SymbolicTimeInterval tisKey, SymbolicTimeInterval tisVal) { Kindex[frstTncptIdx, scndTncptIdx].AddStiToStiMapForRelationByEntityID(rel, eIdx, tisKey, tisVal); }
public List <SymbolicTimeInterval> GetStisInRelationWithKeyStiForEntityByRelationAndSymbols(int frstTndx, int scndTndx, int rel, int eIdx, SymbolicTimeInterval tis) { return(Kindex[frstTndx, scndTndx].supportingInstancesIndexedByRelation[rel].GetStisInRelationWithKeyStiForEntity(eIdx, tis)); }
/// <summary> /// For an entity and a predefined relation, Gets all symbolic time intervals in relation with the key symbolic time interval /// </summary> /// <param name="eIdx">Entity id</param> /// <param name="tis">Key symbolic time interval</param> /// <returns></returns> public List <SymbolicTimeInterval> GetStisInRelationWithKeyStiForEntity(int eIdx, SymbolicTimeInterval tis) { if (stiMapsInArrayIndexedByEntityID[eIdx].ContainsKey(tis)) { return(stiMapsInArrayIndexedByEntityID[eIdx][tis]); } else { return(null); } }