//--------------------------------------------------------------------------------------------------------- /// <summary> /// Добавление слоя /// </summary> /// <param name="name">Имя слоя</param> /// <returns>Добавленный слой</returns> //--------------------------------------------------------------------------------------------------------- public static CCadLayer Add(String name) { CCadLayer layer = new CCadLayer(name); mLayers.Add(layer); return(layer); }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Добавление слоя /// </summary> /// <param name="name">Имя слоя</param> /// <param name="group">Группа слоя</param> /// <returns>Добавленный слой</returns> //--------------------------------------------------------------------------------------------------------- public static CCadLayer Add(String name, String group) { CCadLayer layer = new CCadLayer(name); layer.mGroup = group; mLayers.Add(layer); return(layer); }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Удаление контура из проекта /// </summary> /// <param name="sender">Источник события</param> /// <param name="args">Аргументы события</param> //--------------------------------------------------------------------------------------------------------- private void OnLayerManagerRemove(Object sender, RoutedEventArgs args) { CCadLayer layer = mCollectionViewLayers.CurrentItem as CCadLayer; if (layer != null) { XCadLayerManager.Remove(layer); } }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Добавление слоя /// </summary> /// <param name="name">Имя слоя</param> /// <param name="group">Группа слоя</param> /// <param name="id">Идентификатор слоя</param> /// <param name="is_print">Печать слоя</param> /// <returns>Добавленный слой</returns> //--------------------------------------------------------------------------------------------------------- public static CCadLayer Add(String name, String group, Int64 id, Boolean is_print = true) { CCadLayer layer = new CCadLayer(name); layer.mGroup = group; layer.ID = id; layer.mIsPrint = is_print; mLayers.Add(layer); return(layer); }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Удаления слоя /// </summary> /// <param name="layer">Слой</param> //--------------------------------------------------------------------------------------------------------- public static void Remove(CCadLayer layer) { // 1) Если объект константный - выходим if (layer.IsConst) { return; } //1) Проходим все проекты и перерисовываем элемент если он находится на данном слое и представлен на канве //for (Int32 ip = 0; ip < XManager.Projects.Count; ip++) //{ // ICadProject project = XManager.Projects[ip] as ICadProject; // if (project != null) // { // //for (Int32 id = 0; id < project.Documents.Count; id++) // //{ // // ICadDraft draft = project.Documents[id] as ICadDraft; // // if (draft != null) // // { // // for (Int32 ie = 0; ie < draft.Elements.Count; ie++) // // { // // ICadLayerSupport element = draft.Elements[ie] as ICadLayerSupport; // // if (element != null && element.Layer == layer) // // { // // element.SetLayer(DefaultLayer); // // } // // } // // } // //} // } //} //2) Проходим все документы и перерисовываем элемент если он находится на данном слое и представлен на канве //for (Int32 id = 0; id < XManager.Documents.Count; id++) //{ // ICadDraft draft = XManager.Documents[id] as ICadDraft; // if (draft != null) // { // //for (Int32 ie = 0; ie < draft.Elements.Count; ie++) // //{ // // ICadLayerSupport element = draft.Elements[ie] as ICadLayerSupport; // // if (element != null && element.Layer == layer) // // { // // element.SetLayer(DefaultLayer); // // } // //} // } //} // 3) Удаляем слой mLayers.Remove(layer); }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Поиск слоя по идентификатору /// </summary> /// <param name="id">Идентификатор слоя</param> /// <returns>Найденный слой</returns> //--------------------------------------------------------------------------------------------------------- public static CCadLayer GetFromId(Int64 id) { CCadLayer layer = DefaultLayer; for (Int32 i = 0; i < mLayers.Count; i++) { if (mLayers[i].ID == id) { return(mLayers[i]); } } return(layer); }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Поиск слоя по имени /// </summary> /// <param name="name">Имя слоя</param> /// <returns>Найденный слой</returns> //--------------------------------------------------------------------------------------------------------- public static CCadLayer GetFromName(String name) { CCadLayer layer = DefaultLayer; for (Int32 i = 0; i < mLayers.Count; i++) { if (mLayers[i].Name == name) { return(mLayers[i]); } } return(layer); }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Обновление параметров слоя /// </summary> /// <param name="layer">Слой</param> //--------------------------------------------------------------------------------------------------------- public static void Update(CCadLayer layer) { //1) Проходим все проекты и перерисовываем элемент если он находится на данном слое и представлен на канве //for (Int32 ip = 0; ip < XManager.Projects.Count; ip++) //{ // ICadProject project = XManager.Projects[ip] as ICadProject; // if (project != null) // { // //for (Int32 id = 0; id < project.Documents.Count; id++) // //{ // // ICadDraft draft = project.Documents[id] as ICadDraft; // // if (draft != null) // // { // // for (Int32 ie = 0; ie < draft.Elements.Count; ie++) // // { // // ICadLayerSupport element = draft.Elements[ie] as ICadLayerSupport; // // if (element != null) // // { // // element.UpdateLayer(); // // } // // } // // } // //} // } //} //2) Проходим все документы и перерисовываем элемент если он находится на данном слое и представлен на канве //for (Int32 id = 0; id < XManager.Documents.Count; id++) //{ // ICadDraft draft = XManager.Documents[id] as ICadDraft; // if (draft != null) // { // //for (Int32 ie = 0; ie < draft.Elements.Count; ie++) // //{ // // ICadLayerSupport element = draft.Elements[ie] as ICadLayerSupport; // // if (element != null) // // { // // element.UpdateLayer(); // // } // //} // } //} }