Beispiel #1
0
        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
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 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);
     }
 }