/// <summary>
 /// Grabs the joints and groups from the Inventor results,
 /// </summary>
 /// <param name="results"></param>
 public CustomRigidResults(RigidBodyResults results)
 {
     Console.WriteLine("Building custom dataset");
     groups = new List <CustomRigidGroup>(results.RigidBodyGroups.Count);
     joints = new List <CustomRigidJoint>(results.RigidBodyJoints.Count);
     foreach (RigidBodyGroup group in results.RigidBodyGroups)
     {
         CustomRigidGroup tmp = new CustomRigidGroup(group);
         if ((!(groupIDToCustom.ContainsKey(tmp.fullQualifier))))
         {
             groups.Add(tmp);
             groupIDToCustom.Add(tmp.fullQualifier, tmp);
         }
         else
         {
             Console.WriteLine("GroupID Collision: " + groupIDToCustom[CustomRigidGroup.GetGroupQualifier(group)].ToString() + " and " + tmp.ToString());
         }
         Console.Write("Group " + groups.Count + "/" + results.RigidBodyGroups.Count + "\tJoint " + joints.Count + "/" + results.RigidBodyJoints.Count);
     }
     foreach (RigidBodyJoint joint in results.RigidBodyJoints)
     {
         joints.Add(new CustomRigidJoint(joint, groupIDToCustom[CustomRigidGroup.GetGroupQualifier(joint.GroupOne)], groupIDToCustom[CustomRigidGroup.GetGroupQualifier(joint.GroupTwo)]));
         Console.Write("Group " + groups.Count + "/" + results.RigidBodyGroups.Count + "\tJoint " + joints.Count + "/" + results.RigidBodyJoints.Count);
     }
     Console.WriteLine();
     Console.WriteLine("Built custom dataset");
     RigidBodyCleaner.CleanMeaningless(this);
 }