Exemplo n.º 1
0
    private void Initialize(Location deviceLocation)
    {
        try
        {
            // List<Location> locations = csv.PointsWithinRadius(deviceLocation, radius);

            // New function. Currently not in use
            double height = csv.GetHeight(deviceLocation);

            foreach (Location loc in locations)
            {
                GlobalLocalPosition glp = new GlobalLocalPosition(loc, Vector3.zero);
                // comment out once we just render the mesh
                GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Sphere);
                obj.transform.localScale = new Vector3(0.2f, 0.2f, 0.2f);
                obj.transform.SetParent(arLocationRoot.transform);
                obj.transform.localPosition = glp.localLocation;
                glp.gameObject = obj;
                // <---
                state.globalLocalPositions.Add(glp);
            }

            if (!hasInitialized)
            {
                if (PlacementOptions.HideObjectUntilItIsPlaced)
                {
                    //ToDo: Hide your mesh here!

                    state.globalLocalPositions.ForEach(obj => Misc.HideGameObject(obj.gameObject));
                }

                if (PlacementOptions.MovementSmoothing > 0)
                {
                    //foreach (GlobalLocalPosition obj in state.globalLocalPositions)
                    //    smoothMoves.Add(SmoothMove.AddSmoothMove(obj.localLocation, PlacementOptions.MovementSmoothing));
                }

                if (PlacementOptions.UseMovingAverage)
                {
                    movingAverageFilter = new MovingAveragePosition
                    {
                        aMax = locationProvider.Provider.Options.AccuracyRadius > 0
                            ? locationProvider.Provider.Options.AccuracyRadius
                            : 20
                    };
                }
            }
        }
        catch (Exception ex)
        {
            ARLocation.Utils.Logger.LogFromMethod("WaterMesh", "Initialize", $"({ex.ToString()})", DebugMode);
        }
    }
Exemplo n.º 2
0
    private void Initialize(Location deviceLocation)
    {
        try
        {
            foreach (Location loc in csvWaterLocations)
            {
                GlobalLocalPosition glp = new GlobalLocalPosition(loc, Vector3.zero);
                // comment out once we just render the mesh
                //GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Sphere);
                GameObject obj = new GameObject();
                //obj.transform.localScale = new Vector3(0.2f, 0.2f, 0.2f);
                // vad händer här?
                // Han gör ett nytt gameobject på rätt ställe i unity världen. jag ska Bara se en sak
                obj.transform.SetParent(arLocationRoot.transform);
                obj.transform.localPosition = glp.localLocation;
                // Det verkar itne som att han använder unity objectet efter han skapat det så det kanske bara är debug
                // SOåk, innan jag tittat aldeles för mycket så är jag nyfiken på, sa han att du skjulle göra några ändringar för att det skulle fungera? Ja men han sa att det var enkelt och att jag ´bara skulle andvända hans konvertering istället för den gamla
                // men jag använder ju massa events för att kolla när gpsen initierats och skit
                // Aight ska titta lite till
                // Innan du tittar vidare. Om denna klassen bara sköter konverteringen. Vad är smidigast? Att skriva om dety och inte anv'nda watermesh för det eller försöka modda befintlig kod?
                //Visa mig hans converterings klass
                //glp.gameObject = obj; // GO
                // <---
                state.globalLocalPositions.Add(glp);
            }

            if (!hasInitialized)
            {
                if (PlacementOptions.HideObjectUntilItIsPlaced)
                {
                    //ToDo: Hide your mesh here!

                    //state.globalLocalPositions.ForEach(obj => Misc.HideGameObject(obj.gameObject)); // GO
                }

                if (PlacementOptions.MovementSmoothing > 0)
                {
                    //foreach (GlobalLocalPosition obj in state.globalLocalPositions)
                    //    smoothMoves.Add(SmoothMove.AddSmoothMove(obj.localLocation, PlacementOptions.MovementSmoothing));
                }

                //if (UseGroundHeight)
                //{
                //    groundHeight = gameObject.AddComponent<GroundHeight>();
                //    groundHeight.Settings.Altitude = (float)state.Altitude;
                //}

                if (PlacementOptions.UseMovingAverage)
                {
                    movingAverageFilter = new MovingAveragePosition
                    {
                        aMax = locationProvider.Provider.Options.AccuracyRadius > 0
                            ? locationProvider.Provider.Options.AccuracyRadius
                            : 20
                    };
                }
            }
        }
        catch (Exception ex)
        {
            ARLocation.Utils.Logger.LogFromMethod("WaterMesh", "Initialize", $"({ex.ToString()})", DebugMode);
        }
    }