// Token: 0x06000039 RID: 57 RVA: 0x0000306C File Offset: 0x0000126C
        private static MassTagg createMassTagg(int nPoints, float totalMass)
        {
            MassTagg massTagg = new MassTagg();

            massTagg.Name     = "#Mass#";
            massTagg.DataSize = (uint)(nPoints * 4);
            massTagg.mass     = new float[nPoints];
            for (int i = 0; i < nPoints; i++)
            {
                massTagg.mass[i] = totalMass / (float)nPoints;
            }
            return(massTagg);
        }
        // Token: 0x06000030 RID: 48 RVA: 0x00002774 File Offset: 0x00000974
        private static MLOD_LOD OdolLod2MLOD(ODOL odol, LOD src)
        {
            MLOD_LOD mlod_LOD    = new MLOD_LOD(src.Resolution);
            int      vertexCount = src.VertexCount;

            Conversion.ConvertPoints(odol, mlod_LOD, src);
            mlod_LOD.normals = src.Normals;
            Conversion.ConvertFaces(odol, mlod_LOD, src);
            float    mass     = odol.modelInfo.mass;
            Skeleton skeleton = odol.Skeleton;

            mlod_LOD.taggs = new List <Tagg>();
            if (src.Resolution == 1E+13f)
            {
                MassTagg item = Conversion.createMassTagg(vertexCount, mass);
                mlod_LOD.taggs.Add(item);
            }
            IEnumerable <UVSetTagg> collection = Conversion.createUVSetTaggs(src);

            mlod_LOD.taggs.AddRange(collection);
            IEnumerable <PropertyTagg> collection2 = Conversion.createPropertyTaggs(src);

            mlod_LOD.taggs.AddRange(collection2);
            IEnumerable <NamedSelectionTagg> collection3 = Conversion.createNamedSelectionTaggs(src);

            mlod_LOD.taggs.AddRange(collection3);
            IEnumerable <AnimationTagg> collection4 = Conversion.createAnimTaggs(src);

            mlod_LOD.taggs.AddRange(collection4);
            if (Resolution.KeepsNamedSelections(src.Resolution))
            {
                return(mlod_LOD);
            }
            Dictionary <string, List <Conversion.PointWeight> > nsPoints = new Dictionary <string, List <Conversion.PointWeight> >();
            Dictionary <string, List <int> > nsFaces = new Dictionary <string, List <int> >();

            Conversion.ReconstructNamedSelectionBySections(src, out nsPoints, out nsFaces);
            Dictionary <string, List <Conversion.PointWeight> > nsPoints2 = new Dictionary <string, List <Conversion.PointWeight> >();
            Dictionary <string, List <int> > nsFaces2 = new Dictionary <string, List <int> >();

            Conversion.ReconstructProxies(src, out nsPoints2, out nsFaces2);
            Dictionary <string, List <Conversion.PointWeight> > nsPoints3 = new Dictionary <string, List <Conversion.PointWeight> >();

            Conversion.ReconstructNamedSelectionsByBones(src, odol.Skeleton, out nsPoints3);
            Conversion.ApplySelectedPointsAndFaces(mlod_LOD, nsPoints, nsFaces);
            Conversion.ApplySelectedPointsAndFaces(mlod_LOD, nsPoints2, nsFaces2);
            Conversion.ApplySelectedPointsAndFaces(mlod_LOD, nsPoints3, null);
            return(mlod_LOD);
        }