public static void Draw <C>(AccelMsg message, Drawing3d drawing, Color color, GameObject origin, float lengthScale = 1, float sphereRadius = 1, float thickness = 0.01f) where C : ICoordinateSpace, new()
    {
        Vector3 originPos = (origin == null) ? Vector3.zero : origin.transform.position;

        drawing.DrawArrow(originPos, originPos + message.linear.From <C>() * lengthScale, color, thickness);
        VisualizationUtils.DrawAngularVelocityArrow(drawing, message.angular.From <C>(), originPos, color, sphereRadius, thickness);
    }
Example #2
0
 public override Action CreateGUI(AccelWithCovarianceMsg message, MessageMetadata meta)
 {
     return(() =>
     {
         message.accel.GUI();
         VisualizationUtils.GUIGrid(message.covariance, 6, ref m_ViewCovariance);
     });
 }
 public override Action CreateGUI(MagneticFieldMsg message, MessageMetadata meta)
 {
     return(() =>
     {
         message.header.GUI();
         message.magnetic_field.GUI("Magnetic field (Tesla)");
         VisualizationUtils.GUIGrid(message.magnetic_field_covariance, 3, "Covariance", ref m_ViewCovariance);
     });
 }
 public override Action CreateGUI(PoseWithCovarianceStampedMsg message, MessageMetadata meta)
 {
     return(() =>
     {
         message.header.GUI();
         message.pose.pose.GUI();
         VisualizationUtils.GUIGrid(message.pose.covariance, 6, ref m_ViewCovariance);
     });
 }
 public static void Draw <C>(PoseMsg message, Drawing3d drawing, float size = 0.1f, bool drawUnityAxes = false)
     where C : ICoordinateSpace, new()
 {
     VisualizationUtils.DrawAxisVectors <C>(
         drawing,
         new Vector3Msg(message.position.x, message.position.y, message.position.z),
         message.orientation,
         size,
         drawUnityAxes
         );
 }
    public override void Draw(Drawing3d drawing, PointMsg msg, MessageMetadata meta)
    {
        // If the user doesn't specify a color, SelectColor helpfully picks one
        // based on the message topic.
        Color finalColor = VisualizationUtils.SelectColor(m_Color, meta);

        // Most of the default visualizers offer static drawing functions
        // so that your own visualizers can easily send work to them.
        PointDefaultVisualizer.Draw <FLU>(msg, drawing, finalColor, m_Size);

        // You can also directly use the drawing functions provided by the Drawing class
        drawing.DrawLabel(m_Label, msg.From <FLU>(), finalColor, m_Size);
    }
Example #7
0
 public override Action CreateGUI(ImuMsg message, MessageMetadata meta)
 {
     return(() =>
     {
         message.header.GUI();
         message.orientation.GUI("Orientation");
         message.angular_velocity.GUI("Angular velocity");
         message.linear_acceleration.GUI("Linear acceleration");
         VisualizationUtils.GUIGrid(message.orientation_covariance, 3, "Orientation covariance", ref m_ViewOrientation);
         VisualizationUtils.GUIGrid(message.angular_velocity_covariance, 3, "Angular velocity covariance", ref m_ViewAngular);
         VisualizationUtils.GUIGrid(message.linear_acceleration_covariance, 3, "Linear acceleration covariance", ref m_ViewAccel);
     });
 }
 public override Action CreateGUI(CameraInfoMsg message, MessageMetadata meta, Texture2D tex)
 {
     return(() =>
     {
         message.header.GUI();
         GUILayout.Label($"Height x Width: {message.height}x{message.width}\nDistortion model: {message.distortion_model}");
         GUILayout.Label($"Distortion parameters: {string.Join(", ", message.d)}");
         VisualizationUtils.GUIGrid(message.k, 3, "K", ref m_ViewK);
         VisualizationUtils.GUIGrid(message.r, 3, "R", ref m_ViewR);
         VisualizationUtils.GUIGrid(message.p, 3, "P", ref m_ViewP);
         GUILayout.Label($"Binning X: {message.binning_x}\nBinning Y: {message.binning_y}");
         message.roi.GUI(tex);
     });
 }
    public override Texture2D CreateTexture(CameraInfoMsg message)
    {
        // False if ROI not used, true if subwindow captured
        if (!message.roi.do_rectify)
        {
            return(null);
        }

        ITextureVisual imageVisual = VisualizationUtils.GetVisual(ImageTopic) as ITextureVisual;

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

        return(message.roi.RegionOfInterestTexture(imageVisual.GetTexture()));
    }
Example #10
0
        public void AddMessage(Message message)
        {
            if (!VisualizationUtils.AssertMessageType <OccupancyGridMsg>(message, m_Topic))
            {
                return;
            }

            m_Message        = (OccupancyGridMsg)message;
            m_TextureIsDirty = true;

            if (m_IsDrawingEnabled && Time.time > m_LastDrawingFrameTime)
            {
                Redraw();
            }

            m_LastDrawingFrameTime = Time.time;
        }
        public virtual void AddMessage(Message message)
        {
            if (!VisualizationUtils.AssertMessageType <ImageMsg>(message, m_Topic))
            {
                return;
            }

            this.message     = (ImageMsg)message;
            m_Texture2D      = null;
            m_CheapTexture2D = null;
            m_Width          = (int)this.message.width;
            m_Height         = (int)this.message.height;
            m_Encoding       = this.message.encoding;
            //m_CheapTextureMaterial.SetFloat("_gray", this.message.GetNumChannels() == 1 ? 1.0f : 0.0f);
            m_CheapTextureMaterial.SetFloat("_convertBGR", this.message.EncodingRequiresBGRConversion() ? 1.0f : 0.0f);

            // if anyone wants to know about the texture, notify them
            if (m_OnChangeCallbacks.Count > 0)
            {
                GetTexture();
            }
        }
Example #12
0
        static void Main(string[] args)
        {
            // load documents
            Utils.VerboseLine("Loading documents ...");
            string[] docs     = File.ReadAllLines("C:\\newwork\\testclustering\\data\\yahoofinance.txt");
            BowSpace bowSpace = new BowSpace();

            bowSpace.StopWords      = StopWords.EnglishStopWords;
            bowSpace.Stemmer        = new PorterStemmer();
            bowSpace.WordWeightType = WordWeightType.TfIdf;
            RegexTokenizer tokenizer = new RegexTokenizer();

            tokenizer.IgnoreUnknownTokens = true;
            bowSpace.Tokenizer            = tokenizer;
            bowSpace.Initialize(docs);
            // compute layout
            SemanticSpaceLayout semSpc = new SemanticSpaceLayout(bowSpace);

            Vector2D[] coords = semSpc.ComputeLayout();
            // build spatial index
            //Utils.VerboseLine("Building spatial index ...");
            //SpatialIndex2D spatIdx = new SpatialIndex2D();
            //spatIdx.BuildIndex(coords);
            //spatIdx.InsertPoint(9000, new Vector2D(1000, 1000));
            //ArrayList<IdxDat<Vector2D>> points = spatIdx.GetPoints(new Vector2D(0.5, 0.5), 0.1);
            //Utils.VerboseLine("Number of retrieved points: {0}.", points.Count);

            ArrayList <Vector2D> tmp = new ArrayList <Vector2D>(coords);

            tmp.Shuffle();
            //tmp.RemoveRange(1000, tmp.Count - 1000);

            // compute elevation
            StreamWriter   writer = new StreamWriter("c:\\elev.txt");
            LayoutSettings ls     = new LayoutSettings(800, 600);

            ls.AdjustmentType = LayoutAdjustmentType.Soft;
            ls.StdDevMult     = 2;
            ls.FitToBounds    = true;
            ls.MarginVert     = 50;
            ls.MarginHoriz    = 50;
            double[,] zMtx    = VisualizationUtils.ComputeLayoutElevation(tmp, ls, 150, 200);
            VisualizationUtils.__DrawElevation__(tmp, ls, 300, 400).Save("c:\\elev.bmp");
            for (int row = 0; row < zMtx.GetLength(0); row++)
            {
                for (int col = 0; col < zMtx.GetLength(1); col++)
                {
                    writer.Write("{0}\t", zMtx[row, col]);
                }
                writer.WriteLine();
            }
            writer.Close();

            // output coordinates
            StreamWriter tsvWriter = new StreamWriter("c:\\layout.tsv");

            for (int i = 0; i < coords.Length; i++)
            {
                //if (i < points.Count)
                //{
                //    tsvWriter.WriteLine("{0}\t{1}\t{2}\t{3}", coords[i].X, coords[i].Y, points[i].Dat.X, points[i].Dat.Y);
                //}
                //else
                {
                    tsvWriter.WriteLine("{0}\t{1}", coords[i].X, coords[i].Y);
                }
            }
            tsvWriter.Close();
            //// get document names
            //int k = 0;
            //ArrayList<Pair<string, Vector2D>> layout = new ArrayList<Pair<string, Vector2D>>();
            //foreach (string doc in docs)
            //{
            //    string[] docInfo = doc.Split(' ');
            //    layout.Add(new Pair<string, Vector2D>(docInfo[0], coords[k++]));
            //}
            //Console.WriteLine(coords.Length);
            //Console.WriteLine(layout.Count);
            //StreamWriter writer = new StreamWriter("c:\\vidCoords.txt");
            //foreach (Pair<string, Vector2D> docPos in layout)
            //{
            //    writer.WriteLine("{0}\t{1}\t{2}", docPos.First, docPos.Second.X, docPos.Second.Y);
            //}
            //writer.Close();
        }
Example #13
0
 public static void Draw <C>(GridCellsMsg message, Drawing3d drawing, Color color, float radius = 0.01f)
     where C : ICoordinateSpace, new()
 {
     VisualizationUtils.DrawPointCloud <C>(message.cells, drawing, color, radius);
 }
Example #14
0
 public static void Draw <C>(ImuMsg message, Drawing3d drawing, Color color, float lengthScale = 1, float sphereRadius = 1, float thickness = 0.01f) where C : ICoordinateSpace, new()
 {
     QuaternionDefaultVisualizer.Draw <C>(message.orientation, drawing);
     drawing.DrawArrow(Vector3.zero, message.linear_acceleration.From <C>() * lengthScale, color, thickness);
     VisualizationUtils.DrawAngularVelocityArrow(drawing, message.angular_velocity.From <C>(), Vector3.zero, color, sphereRadius, thickness);
 }