public IJoint DeepCopy() { AssimpBoneWrapper copy = new AssimpBoneWrapper(Id, Name); copy.BaseTransform = new Matrix4x4(BaseTransform); copy.AnimationTransform = new Matrix4x4(AnimationTransform); foreach (IJoint child in Children) { copy.AddChild(child.DeepCopy()); } for (int i = 0; i < 3; i++) { copy.Constraints[i] = new Vector2D(Constraints[i]); } return(copy); }
private void CreateSkeleton(ref Skeleton skeleton, AssimpNode node,string parent, ref int id) { IJoint joint = new AssimpBoneWrapper(node); joint.Id = id; id++; if (skeleton.Root == null) skeleton.InsertJoint("", joint); else skeleton.InsertJoint(parent, joint); foreach (AssimpNode child in node.Children) { CreateSkeleton(ref skeleton,child, node.Name, ref id); } }
public IJoint DeepCopy() { AssimpBoneWrapper copy = new AssimpBoneWrapper(Id, Name); copy.BaseTransform = new Matrix4x4(BaseTransform); copy.AnimationTransform = new Matrix4x4(AnimationTransform); foreach (IJoint child in Children) copy.AddChild(child.DeepCopy()); for (int i = 0; i < 3; i++) copy.Constraints[i] = new Vector2D(Constraints[i]); return copy; }