private List<Object3D> WrapTransform(TransformNode node, float[,] transformation)
 {
     float[,] matrix = node.GenerateTransformMatrix();
     Shape3DComposite shapes = new Shape3DComposite();
     List<Object3D> objects = new List<Object3D>();
     objects.Add(shapes);
     foreach (BaseNode child in node) {
         List<Object3D> t = TestConvNode(child);
         foreach (Object3D obj in t) {
             if (obj != null) {
                 if (obj is Shape3D) {
                     shapes.Add((Shape3D)obj);
                 } else {
                     objects.Add(obj);
                 }
             }
         }
     }
     return objects;
 }