using Earthblend.Nts.Common.MeshGenerators;
using Earthblend.Nts.Common.MeshGenerators.Base;
using Earthblend.Tts.Common.Core.Members;
using Earthblend.Tts.Common.Core.MeshGenerators;
using Earthblend.Tts.Common.Core.MeshGenerators.Base;
using Earthblend.Tts.Common.MeshGenerators;
using System;
using System.Windows.Media;
using System.Windows.Media.Media3D;
using System.Xml.Serialization;
using VirtualCanvasTestCode.MeshGenerators;

namespace Earthblend.Tts.Common.Core.Statics
{
    public static class XmlUtil
    {
        [XmlIgnore]
        public static Type[] LoadSaveTypes { get; set; } = new Type[]
        {
             typeof(VirtualCanvasPluginDataItem)
            ,typeof(VirtualWorld3DPluginDataItem)
            ,typeof(ArrowMeshGenerator)
            ,typeof(BoxMeshGenerator)
            ,typeof(ConeMeshGenerator)
            ,typeof(CylinderMeshGenerator)
            ,typeof(DodecahedronMeshGenerator)
            ,typeof(DoubleArrowMeshGenerator)
            ,typeof(EllipsoidMeshGenerator)
            ,typeof(HollowCylinderMeshGenerator)
            ,typeof(IcosahedronMeshGenerator)
            ,typeof(OctahedronMeshGenerator)
            ,typeof(PipeMeshGenerator)
            ,typeof(HoseMeshGenerator)
            ,typeof(RibbonTextMeshGenerator)
            ,typeof(SkewBoxMeshGenerator)
            ,typeof(SphereMeshGenerator)
            ,typeof(TetrahedronMeshGenerator)
            ,typeof(TorusMeshGenerator)
            ,typeof(TravelingTorusMeshGenerator)
            ,typeof(MeshGeneratorBase)
            ,typeof(TubeMeshGenerator)
            ,typeof(WedgeMeshGenerator)
            ,typeof(Node)
            //,typeof(CanvasItemsExport)
            //,typeof(WorldItemsExport)
            //,typeof(PermutationRuleItemsExport)
            ,typeof(StackedCylinderMeshGenerator)

            ,typeof(MatrixTransform3D)
            ,typeof(GeometryModel3D)
            ,typeof(DiffuseMaterial)
            ,typeof(SolidColorBrush)
            ,typeof(MatrixTransform)
        };

    }
}