public virtual void AddTemplate(GestureTemplate gestureTemplate) { #region standard loading procedure if (gestureTemplate.ClassName == null) { //gestureTemplate.ClassName = templates.Count.ToString(); throw new ArgumentException("gesture template doesn't contain class name"); } if (!templates.ContainsKey(gestureTemplate.ClassName)) { GestureClass gestureClass = new GestureClass(); gestureClass.ClassName = gestureTemplate.ClassName; // gestureTemplate.TemplateNumber = 0; gestureClass.Add(gestureTemplate); templates.Add(gestureClass.ClassName, gestureClass); } else { //TODO: this avoids adding of templates under same class name as templates //that differ in token count -> remove in final version or parameterize // templates[gestureTemplate.ClassName][0].Count //&& templates[gestureTemplate.ClassName].Count<11 //if (3 == gestureTemplate.Count ) { // gestureTemplate.TemplateNumber = templates[gestureTemplate.ClassName].Count; templates[gestureTemplate.ClassName].Add(gestureTemplate); } //else //{ // Console.WriteLine("Template contained wrong number of tokens"); // System.Diagnostics.Process.GetCurrentProcess().Kill(); //} } #endregion }
public virtual GestureClass[] GetGestureClasses() { GestureClass[] result = new GestureClass[templates.Count]; int i = 0; foreach (KeyValuePair <string, GestureClass> template in templates) { result[i++] = template.Value; } return(result); }
public GestureClassFoMHandler(GestureClass owningClass, params IFoMComponent[] components) { className = owningClass.className; Components.RaiseListChangedEvents = true; Components.ListChanged += (o, e) => { Renormalize(); if (e.ListChangedType == ListChangedType.ItemAdded) { Components[e.NewIndex].CoefficientChanged += (ob, ev) => Renormalize(); } }; foreach (var comp in components) { Components.Add(comp); } }