public static AccessoryImageSet[] LoadDefinitionFile()
        {
            XmlTextReader            reader = new XmlTextReader(new Uri("AccessoryImageSets.xml", UriKind.Relative).ToString());
            List <AccessoryImageSet> sets   = new List <AccessoryImageSet>();
            AccessoryImageSet        set    = null;

            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Element && reader.Name == "AccessoryImageSet")
                {
                    set      = new AccessoryImageSet();
                    set.Name = reader.GetAttribute("ID");
                    set.FrequencyPercentage = int.Parse(reader.GetAttribute("Frequency"));
                    sets.Add(set);
                }
                else if (reader.NodeType == XmlNodeType.Element && reader.Name == "ImageJointCombo")
                {
                    Image img = new Image();
                    img.Source = new BitmapImage(new Uri(reader.GetAttribute("Image"), UriKind.Relative));
                    JointType       jt    = (JointType)Enum.Parse(typeof(JointType), reader.GetAttribute("JointType"));
                    Vector          vec   = new Vector(double.Parse(reader.GetAttribute("OffsetX")), double.Parse(reader.GetAttribute("OffsetY")));
                    ImageJointCombo combo = new ImageJointCombo(img, jt, vec, set.Name);

                    set.AddImageJointCombo(combo);
                }
            }

            AccessoryImageSet[] returnSets = new AccessoryImageSet[sets.Count];
            for (int i = 0; i < sets.Count; i++)
            {
                returnSets[i] = sets[i];
            }

            return(returnSets);
        }
 private void DrawHardCodedBS(ImageJointCombo combo, Vector coord, Vector offsetCoord, DrawingContext dc)
 {
     if (combo.Name == "BalloonHeadsRight" || combo.Name == "BalloonHeadsRight")
     {
         Vector start = new Vector(offsetCoord.X + (combo.Image.Width / 2), offsetCoord.Y + (combo.Image.Height / 2));
         Vector end   = coord;
         DrawLine(start, end, dc);
     }
 }
 private Vector GetImageCoordAfterOffset(ImageJointCombo combo, Vector coord)
 {
     coord.X = coord.X + combo.Offset.X;
     coord.Y = coord.Y - combo.Offset.Y;
     return(coord);
 }
 public void AddImageJointCombo(ImageJointCombo combo)
 {
     ImageCombos.Add(combo);
 }