Пример #1
0
        public EGMFile(EGMFile file)
        {
            this.version      = file.version.Clone() as string;
            this.verticeCount = file.verticeCount;
            this.symSize      = file.symSize;
            this.asymSize     = file.asymSize;
            this.dateStamp    = file.dateStamp;
            this.unknown      = new int[file.unknown.Length];
            for (int i = 0; i < file.unknown.Length; i++)
            {
                this.unknown[i] = file.unknown[i];
            }

            this.symMorphs = new List <EGMMorphset>();
            foreach (EGMMorphset morph in file.SymMorps)
            {
                this.symMorphs.Add(new EGMMorphset(morph));
            }

            this.asymMorphs = new List <EGMMorphset>();
            foreach (EGMMorphset morph in file.asymMorphs)
            {
                this.asymMorphs.Add(new EGMMorphset(morph));
            }
        }
Пример #2
0
 public HeadFile(string fileName)
 {
     if (fileName.ToLower().EndsWith("egm"))
     {
         FileStream stream = new FileStream(fileName, FileMode.Open);
         this.egm = new EGMFile(stream);
         stream.Close();
         stream = new FileStream(HeadFile.ReplaceExtention(fileName, "tri"),FileMode.Open);
         this.tri = new TRIFile(stream);
         stream.Close();
         stream = new FileStream(HeadFile.ReplaceExtention(fileName, "nif"), FileMode.Open);
         this.nif = new NifFile(stream);
         stream.Close();
     }
     if (fileName.ToLower().EndsWith("tri"))
     {
         FileStream stream = new FileStream(fileName, FileMode.Open);
         this.tri = new TRIFile(stream);
         stream.Close();
         stream = new FileStream(HeadFile.ReplaceExtention(fileName, "egm"), FileMode.Open);
         this.egm = new EGMFile(stream);
         stream.Close();
         stream = new FileStream(HeadFile.ReplaceExtention(fileName, "nif"), FileMode.Open);
         this.nif = new NifFile(stream);
         stream.Close();
     }
     if (fileName.ToLower().EndsWith("nif"))
     {
         FileStream stream = new FileStream(fileName, FileMode.Open);
         this.nif = new NifFile(stream);
         stream.Close();
         stream = new FileStream(HeadFile.ReplaceExtention(fileName, "egm"), FileMode.Open);
         this.egm = new EGMFile(stream);
         stream.Close();
         stream = new FileStream(HeadFile.ReplaceExtention(fileName, "tri"), FileMode.Open);
         this.tri = new TRIFile(stream);
         stream.Close();
     }
 }
Пример #3
0
 public void Append(List <int> verticeIndexes, EGMFile referenceFile)
 {
     this.verticeCount += verticeIndexes.Count;
     for (int i = 0; i < this.SymSize; i++)
     {
         List <VertexDisplacement> extraData = new List <VertexDisplacement>();
         for (int j = 0; j < verticeIndexes.Count; j++)
         {
             extraData.Add(referenceFile.SymMorps[i][verticeIndexes[j]]);
         }
         this.symMorphs[i].AddRange(extraData.ToArray());
     }
     for (int i = 0; i < this.AsymSize; i++)
     {
         List <VertexDisplacement> extraData = new List <VertexDisplacement>();
         for (int j = 0; j < verticeIndexes.Count; j++)
         {
             extraData.Add(referenceFile.AsymMorps[i][verticeIndexes[j]]);
         }
         this.asymMorphs[i].AddRange(extraData.ToArray());
     }
 }
Пример #4
0
 public HeadFile(string fileName)
 {
     if (fileName.ToLower().EndsWith("egm"))
     {
         FileStream stream = new FileStream(fileName, FileMode.Open);
         this.egm = new EGMFile(stream);
         stream.Close();
         stream   = new FileStream(HeadFile.ReplaceExtention(fileName, "tri"), FileMode.Open);
         this.tri = new TRIFile(stream);
         stream.Close();
         stream   = new FileStream(HeadFile.ReplaceExtention(fileName, "nif"), FileMode.Open);
         this.nif = new NifFile(stream);
         stream.Close();
     }
     if (fileName.ToLower().EndsWith("tri"))
     {
         FileStream stream = new FileStream(fileName, FileMode.Open);
         this.tri = new TRIFile(stream);
         stream.Close();
         stream   = new FileStream(HeadFile.ReplaceExtention(fileName, "egm"), FileMode.Open);
         this.egm = new EGMFile(stream);
         stream.Close();
         stream   = new FileStream(HeadFile.ReplaceExtention(fileName, "nif"), FileMode.Open);
         this.nif = new NifFile(stream);
         stream.Close();
     }
     if (fileName.ToLower().EndsWith("nif"))
     {
         FileStream stream = new FileStream(fileName, FileMode.Open);
         this.nif = new NifFile(stream);
         stream.Close();
         stream   = new FileStream(HeadFile.ReplaceExtention(fileName, "egm"), FileMode.Open);
         this.egm = new EGMFile(stream);
         stream.Close();
         stream   = new FileStream(HeadFile.ReplaceExtention(fileName, "tri"), FileMode.Open);
         this.tri = new TRIFile(stream);
         stream.Close();
     }
 }
Пример #5
0
        public EGMFile(EGMFile file)
        {
            this.version = file.version.Clone() as string;
            this.verticeCount = file.verticeCount;
            this.symSize = file.symSize;
            this.asymSize = file.asymSize;
            this.dateStamp = file.dateStamp;
            this.unknown = new int[file.unknown.Length];
            for (int i = 0; i < file.unknown.Length; i++)
                this.unknown[i] = file.unknown[i];

            this.symMorphs = new List<EGMMorphset>();
            foreach (EGMMorphset morph in file.SymMorps)
            {
                this.symMorphs.Add(new EGMMorphset(morph));
            }

            this.asymMorphs = new List<EGMMorphset>();
            foreach (EGMMorphset morph in file.asymMorphs)
            {
                this.asymMorphs.Add(new EGMMorphset(morph));
            }

        }
Пример #6
0
 public void Append(List<int> verticeIndexes,EGMFile referenceFile)
 {
     this.verticeCount += verticeIndexes.Count;
     for (int i = 0; i < this.SymSize; i++)
     {
         List<VertexDisplacement> extraData = new List<VertexDisplacement>();
         for(int j = 0;j < verticeIndexes.Count; j++)
             extraData.Add(referenceFile.SymMorps[i][verticeIndexes[j]]);
         this.symMorphs[i].AddRange(extraData.ToArray());
     }
     for (int i = 0; i < this.AsymSize; i++)
     {
         List<VertexDisplacement> extraData = new List<VertexDisplacement>();
         for (int j = 0; j < verticeIndexes.Count; j++)
         {
             extraData.Add(referenceFile.AsymMorps[i][verticeIndexes[j]]);
         }
         this.asymMorphs[i].AddRange(extraData.ToArray());
     }
 }
Пример #7
0
 public HeadFile(HeadFile file)
 {
     this.tri = new TRIFile(file.TRI);
     this.egm = new EGMFile(file.EGM);
     this.nif = new NifFile(file.Nif);
 }
Пример #8
0
 public HeadFile(HeadFile file)
 {
     this.tri = new TRIFile(file.TRI);
     this.egm = new EGMFile(file.EGM);
     this.nif = new NifFile(file.Nif);
 }