Ejemplo n.º 1
0
 private static ViewBase FindView(SerializedObject so)
 {
     if (ViewFinder.FindRelativeView(((Component)so.targetObject).gameObject, ViewFinder.FindRelativeViewUpward, out ViewBase v))
     {
         return(v);
     }
     return(default);
Ejemplo n.º 2
0
        protected override ExecutionResult DoExecute(string arg)
        {
            var sessions = DataService.GetSessions().AsSwitchSessionResult();

            foreach (var s in sessions)
            {
                s.Icon = "FormatListNumbers";
            }

            ViewFinder.GetViewModel().SetResult(sessions, keepalive: true);
            return(ExecutionResult.SuccesShow);
        }
Ejemplo n.º 3
0
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            var uiApp = commandData.Application;
            var doc   = uiApp.ActiveUIDocument.Document;

            SetStatusText("Updating CO2e visualisation...");

            var view = new ViewFinder(doc).Get3DViewNamed("CO2e");

            if (view == null)
            {
                TaskDialog.Show("Error", "A 3D view named 'CO2e' must exist to view the AMEE CO2e visualization.");
                return(Result.Failed);
            }

            new AnalysisDisplayStyles().SetCO2eAnalysisDisplayStyle(view);

            var sfm = SpatialFieldManager.GetSpatialFieldManager(view);

            if (sfm == null)
            {
                sfm = SpatialFieldManager.CreateSpatialFieldManager(view, 1);              // One measurement value for each point
            }
            sfm.Clear();

            var sw = new Stopwatch();

            sw.Start();
            var collector = new FilteredElementCollector(doc, view.Id);
            ICollection <Element> co2eElements = collector.WherePasses(Settings.CreateFilterForElementsWithCO2eParameter()).WhereElementIsNotElementType().ToElements();
            var count = 0;

            foreach (var element in co2eElements)
            {
                if (count++ > 200)
                {
                    logger.InfoFormat("Skipping CO2e visualisation update for element {0} since we have already updated more than 200", element.Name);
                    continue;
                }
                SetStatusText("Updating CO2e visualisation for element {0}...", element.Name);
                CO2eVisualisationCreator.UpdateCO2eVisualization(sfm, element);
            }

            sw.Stop();
            SetStatusText("Updated all CO2e visualisations in {0}", sw.Elapsed);
            logger.InfoFormat("Updated all CO2e visualisations in {0}", sw.Elapsed);

            return(Result.Succeeded);
        }
Ejemplo n.º 4
0
        public void RegisterView(ViewZoom v)
        {
            base.Register(v);

            if (v.ViewFinder != null)
            {
                ViewFinder vf = v.ViewFinder;
                if (parentViewfinders.ContainsKey(vf.Parent))
                {
                    parentViewfinders[vf.Parent].Add(vf);
                }
                else
                {
                    parentViewfinders.Add(vf.Parent, new List <ViewFinder>()
                    {
                        vf
                    });
                }
            }
        }
        /// <inheritdoc />
        public async Task <MediaFile> TakePhotoAsync(StoreMediaOptions options)
        {
            if (!this.IsEnabled)
            {
                throw new NotSupportedException();
            }

            //var capture = new CameraCaptureUI(this.CameraFacingDirection);
            var capture = new ViewFinder(this.CameraFacingDirection);
            var result  = await capture.CaptureFileAsync();

            if (result == null)
            {
                return(null);
            }

            StorageFolder rootFolder = ApplicationData.Current.LocalFolder;

            string targetFilePath = options.GetFilePath(rootFolder.Path);
            var    directoryPath  = Path.GetDirectoryName(targetFilePath);
            var    directoryName  = options.Directory;

            if (!string.IsNullOrWhiteSpace(directoryName))
            {
                var exists = Directory.Exists(directoryPath);
                if (!exists)
                {
                    await rootFolder.CreateFolderAsync(directoryName, CreationCollisionOption.ReplaceExisting);
                }
            }

            rootFolder = await StorageFolder.GetFolderFromPathAsync(directoryPath);

            string targetFilename = Path.GetFileName(targetFilePath);

            var file = await result.CopyAsync(rootFolder, targetFilename, NameCollisionOption.ReplaceExisting).AsTask().ConfigureAwait(false);

            Stream stream = await file.OpenStreamForReadAsync().ConfigureAwait(false);

            return(new MediaFile(file.Path, () => stream));
        }
Ejemplo n.º 6
0
    void CrossBranchOverlapTest()
    {
        v0 = new ViewZoom(0);
        v1 = new ViewZoom(1);
        v2 = new ViewZoom(1);
        v3 = new ViewZoom(2);
        v4 = new ViewZoom(2);

        //is overlap return false
        //vF1 = new ViewFinder(v0, v1, 0.15f, 0.15f, new Vector3(0.5f, 0.25f,0));
        //vF2 = new ViewFinder(v0, v2, 0.15f, 0.15f, new Vector3(0.75f, 0.25f,0));
        //vF3 = new ViewFinder(v0, v3, 0.15f, 0.15f, new Vector3(1f, 0.25f,0));

        //is overlap return true
        vF1 = new ViewFinder(v0, v1, 0.15f, 0.15f, new Vector3(1f, 0.25f, 0));
        vF2 = new ViewFinder(v0, v2, 0.15f, 0.15f, new Vector3(0.75f, 0.25f, 0));
        vF3 = new ViewFinder(v1, v3, 0.15f, 0.15f, new Vector3(0.6666666f, 0.5f, 0));
        vF4 = new ViewFinder(v2, v4, 0.15f, 0.15f, new Vector3(1.55f, 0.5f, 0));

        v1.ViewFinder = vF1;
        v2.ViewFinder = vF2;
        v3.ViewFinder = vF3;
        v4.ViewFinder = vF4;

        poly.Register(v0);
        poly.Register(v1);
        poly.Register(v2);
        poly.Register(v3);
        poly.Register(v4);
        poly.UpdateLayout();


        GameObject v0g = new GameObject();

        v0g.name = "V" + v0.Level;
        v0g.transform.position   = v0.Position;
        v0g.transform.localScale = new Vector3(v0.Width, v0.Height, 1);

        GameObject v1g = GameObject.CreatePrimitive(PrimitiveType.Cube);

        v1g.name = "V1" + v1.Level;
        v1g.transform.position   = v1.Position;
        v1g.transform.localScale = new Vector3(v1.Width, v1.Height, 1);

        GameObject v2g = GameObject.CreatePrimitive(PrimitiveType.Sphere);

        v2g.name = "V2" + v2.Level;
        v2g.transform.position   = v2.Position;
        v2g.transform.localScale = new Vector3(v2.Width, v2.Height, 1);

        GameObject v3g = GameObject.CreatePrimitive(PrimitiveType.Cube);

        v3g.name = "V3" + v3.Level;
        v3g.transform.position   = v3.Position;
        v3g.transform.localScale = new Vector3(v3.Width, v3.Height, 1);


        GameObject v4g = GameObject.CreatePrimitive(PrimitiveType.Sphere);

        v4g.name = "V4" + v4.Level;
        v4g.transform.position   = v4.Position;
        v4g.transform.localScale = new Vector3(v4.Width, v4.Height, 1);

        GameObject vf1g = GameObject.CreatePrimitive(PrimitiveType.Cube);

        vf1g.name = "VF" + vF1.Parent.Level;
        vf1g.transform.position   = vF1.Position;
        vf1g.transform.localScale = new Vector3(vF1.Width, vF1.Height, 1);

        GameObject vf2g = GameObject.CreatePrimitive(PrimitiveType.Sphere);

        vf2g.name = "VF" + vF2.Parent.Level;
        vf2g.transform.position   = vF2.Position;
        vf2g.transform.localScale = new Vector3(vF2.Width, vF2.Height, 1);

        GameObject vf3g = GameObject.CreatePrimitive(PrimitiveType.Cube);

        vf3g.name = "VF" + vF3.Parent.Level;
        vf3g.transform.position   = vF3.Position;
        vf3g.transform.localScale = new Vector3(vF3.Width, vF3.Height, 1);

        GameObject vf4g = GameObject.CreatePrimitive(PrimitiveType.Sphere);

        vf4g.name = "VF" + vF4.Parent.Level;
        vf4g.transform.position   = vF4.Position;
        vf4g.transform.localScale = new Vector3(vF4.Width, vF4.Height, 1);


        //There is overlap
        Debug.Log(poly.IsChildrenOverlap(v0));

        bool isSolve = true;

        //Solve overlap
        if (poly.IsChildrenOverlap(v0) && isSolve)
        {
            poly.SolveChildrenOverlap(v0);
        }
        if (poly.IsChildrenOverlap(v1) && isSolve)
        {
            poly.SolveChildrenOverlap(v1);
        }
        poly.UpdateLayout();


        v0g.transform.position   = v0.Position;
        v0g.transform.localScale = new Vector3(v0.Width, v0.Height, 1);

        v1g.transform.position   = v1.Position;
        v1g.transform.localScale = new Vector3(v1.Width, v1.Height, 1);

        v2g.transform.position   = v2.Position;
        v2g.transform.localScale = new Vector3(v2.Width, v2.Height, 1);

        v3g.transform.position   = v3.Position;
        v3g.transform.localScale = new Vector3(v3.Width, v3.Height, 1);

        vf4g.transform.position   = vF4.Position;
        vf4g.transform.localScale = new Vector3(vF4.Width, vF4.Height, 1);
    }