//add subset
 private void button2_Click(object sender, EventArgs e)
 {
     currentLod.mats.Add(new Material.SubsetMaterial());
     currentSubSet = currentLod.mats[currentLod.mats.Count - 1];
     outMatLods();
     outLod();
     outSubSet();
 }
 //add lod
 private void button1_Click(object sender, EventArgs e)
 {
     thisekement.lodMats.Add(new Material.Lod());
     currentLod = thisekement.lodMats[thisekement.lodMats.Count - 1];
     currentSubSet = null;
     outMatLods();
     outLod();
     outSubSet();
 }
 //select subset
 private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (listBox2.SelectedIndex != -1 && currentLod != null)
     {
         currentSubSet = currentLod.mats[listBox2.SelectedIndex];
         outSubSet();
     }
 }
        //select lod
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex != -1)
            {
                currentLod = thisekement.lodMats[listBox1.SelectedIndex];
                currentSubSet = null;
                outLod();
                outSubSet();

            }
        }
 //del ss
 private void button5_Click(object sender, EventArgs e)
 {
     if (listBox2.SelectedIndex != -1 && currentLod != null)
     {
         currentLod.mats.RemoveAt(listBox2.SelectedIndex);
         currentSubSet = null;
         outMatLods();
         outLod();
         outSubSet();
     }
 }
 //del lod
 private void button4_Click(object sender, EventArgs e)
 {
     if (listBox1.SelectedIndex != -1)
     {
         thisekement.lodMats.RemoveAt(listBox1.SelectedIndex);
         currentSubSet = null;
         currentLod = null;
         outMatLods();
         outLod();
         outSubSet();
     }
 }