コード例 #1
0
ファイル: Utils3D.cs プロジェクト: secondii/Yutai
 public static void DeleteAllElementsByName(object object_0, string string_0)
 {
     if (object_0 is IScenePlugin)
     {
         IGraphicsContainer3D graphicsContainer3D = (object_0 as IScenePlugin).Scene.BasicGraphicsLayer as IGraphicsContainer3D;
         graphicsContainer3D.Reset();
         for (IElementProperties elementProperties = graphicsContainer3D.Next() as IElementProperties; elementProperties != null; elementProperties = (graphicsContainer3D.Next() as IElementProperties))
         {
             if (elementProperties.Name.ToLower() == string_0.ToLower())
             {
                 graphicsContainer3D.DeleteElement(elementProperties as IElement);
                 graphicsContainer3D.Reset();
             }
         }
         if (graphicsContainer3D.ElementCount > 0)
         {
             if (string_0 == "")
             {
                 graphicsContainer3D.DeleteAllElements();
             }
             else
             {
                 graphicsContainer3D.Reset();
                 for (IElementProperties elementProperties = graphicsContainer3D.Next() as IElementProperties; elementProperties != null; elementProperties = (graphicsContainer3D.Next() as IElementProperties))
                 {
                     if (elementProperties.Name.ToLower() == string_0.ToLower())
                     {
                         graphicsContainer3D.DeleteElement(elementProperties as IElement);
                         graphicsContainer3D.Reset();
                     }
                 }
             }
         }
     }
     else if (object_0 is IGraphicsContainer3D)
     {
         IGraphicsContainer3D graphicsContainer3D = object_0 as IGraphicsContainer3D;
         if (graphicsContainer3D.ElementCount > 0)
         {
             if (string_0 == "")
             {
                 graphicsContainer3D.DeleteAllElements();
             }
             else
             {
                 graphicsContainer3D.Reset();
                 for (IElementProperties elementProperties = graphicsContainer3D.Next() as IElementProperties; elementProperties != null; elementProperties = (graphicsContainer3D.Next() as IElementProperties))
                 {
                     if (elementProperties.Name.ToLower() == string_0.ToLower())
                     {
                         graphicsContainer3D.DeleteElement(elementProperties as IElement);
                         graphicsContainer3D.Reset();
                     }
                 }
             }
         }
     }
 }
コード例 #2
0
        /// <summary>
        /// 找指定名称的Element
        /// </summary>
        /// <param name="pGC"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static IElement GetElementByName(IGraphicsContainer3D pGC, string name)
        {
            IElement           result     = null;
            IElement           pElement   = null;
            IElementProperties pElemProps = null;

            pGC.Reset();
            pElement = pGC.Next();
            while (pElement != null)
            {
                pElemProps = (IElementProperties)pElement;
                if (pElemProps.Name == name)
                {
                    result = pElement;
                }
                pElement = pGC.Next();
            }
            return(result);
        }
コード例 #3
0
        /// <summary>
        /// 删除指定名称的  Element  张琪    20110628
        /// </summary>
        /// <param name="pScene"></param>
        /// <param name="sName"></param>
        public static void DeleteAllElementsWithName(IScene pScene, string sName)
        {
            IElement             pElement;
            IGraphicsContainer3D pGCon3D = pScene.BasicGraphicsLayer as IGraphicsContainer3D;

            if (pGCon3D.ElementCount > 0)
            {
                pGCon3D.Reset();
                pElement = pGCon3D.Next() as IElement;
                while (pElement != null)
                {
                    IElementProperties pElemProps = pElement as IElementProperties;
                    if (pElemProps.Name == sName)
                    {
                        pGCon3D.DeleteElement(pElement);
                        pGCon3D.Reset();
                    }
                    pElement = pGCon3D.Next() as IElement;
                }
            }
        }
コード例 #4
0
ファイル: FlyByUtils.cs プロジェクト: secondii/Yutai
        public static void DeleteFlyByElement(ISceneGraph isceneGraph_0, FlyByUtils.FlyByElementType flyByElementType_0, bool bool_0)
        {
            IGraphicsLayer       basicGraphicsLayer  = isceneGraph_0.Scene.BasicGraphicsLayer;
            IGraphicsContainer3D graphicsContainer3D = basicGraphicsLayer as IGraphicsContainer3D;

            switch (flyByElementType_0)
            {
            case FlyByUtils.FlyByElementType.FLYBY_PATH:
                if (FlyByUtils.pPathElem != null)
                {
                    graphicsContainer3D.DeleteElement(FlyByUtils.pPathElem);
                }
                break;

            case FlyByUtils.FlyByElementType.FLYBY_OBSERVER:
                if (FlyByUtils.pObserverElem != null)
                {
                    graphicsContainer3D.DeleteElement(FlyByUtils.pObserverElem);
                }
                break;

            case FlyByUtils.FlyByElementType.FLYBY_TARGET:
                if (FlyByUtils.pTargetElem != null)
                {
                    graphicsContainer3D.DeleteElement(FlyByUtils.pTargetElem);
                }
                break;

            case FlyByUtils.FlyByElementType.FLYBY_STATIC:
                graphicsContainer3D.Reset();
                for (IElementProperties elementProperties = graphicsContainer3D.Next() as IElementProperties; elementProperties != null; elementProperties = (graphicsContainer3D.Next() as IElementProperties))
                {
                    if (elementProperties.Name == "SceneFlyBy.StaticLoc")
                    {
                        graphicsContainer3D.DeleteElement(elementProperties as IElement);
                        break;
                    }
                }
                break;

            case FlyByUtils.FlyByElementType.FLYBY_BACKDROP:
                graphicsContainer3D.Reset();
                for (IElementProperties elementProperties = graphicsContainer3D.Next() as IElementProperties; elementProperties != null; elementProperties = (graphicsContainer3D.Next() as IElementProperties))
                {
                    if (elementProperties.Name == "_BACKDROP_")
                    {
                        graphicsContainer3D.DeleteElement(elementProperties as IElement);
                        break;
                    }
                }
                break;

            case FlyByUtils.FlyByElementType.FLYBY_ALL:
                if (FlyByUtils.pPathElem != null)
                {
                    graphicsContainer3D.DeleteElement(FlyByUtils.pPathElem);
                }
                if (FlyByUtils.pObserverElem != null)
                {
                    graphicsContainer3D.DeleteElement(FlyByUtils.pObserverElem);
                }
                if (FlyByUtils.pTargetElem != null)
                {
                    graphicsContainer3D.DeleteElement(FlyByUtils.pTargetElem);
                }
                graphicsContainer3D.Reset();
                for (IElementProperties elementProperties = graphicsContainer3D.Next() as IElementProperties; elementProperties != null; elementProperties = (graphicsContainer3D.Next() as IElementProperties))
                {
                    if (elementProperties.Name == "_BACKDROP_" || elementProperties.Name == "SceneFlyBy.AnchorPoint" || elementProperties.Name == "SceneFlyBy.StaticLoc")
                    {
                        graphicsContainer3D.DeleteElement(elementProperties as IElement);
                        graphicsContainer3D.Reset();
                    }
                }
                break;
            }
            if (bool_0)
            {
                isceneGraph_0.RefreshViewers();
            }
        }