Beispiel #1
0
    public static ISpaceRenderer GetSpaceRenderer(SpaceRendererClass src, LidarVisualizer owner)
    {
        ISpaceRenderer renderer = null;

        switch (src)
        {
        case SpaceRendererClass.BALL:
            renderer = new BallRenderer();      // TODO return new implementing class of proper type
            break;

        case SpaceRendererClass.BALL_LINE:
            renderer = new BallLineRenderer();
            break;

        case SpaceRendererClass.RING_MESH:
            renderer = owner.gameObject.AddComponent <RingMeshRenderer>();
            break;
        }
        if (renderer == null)
        {
            Debug.LogError("Unsupported space renderer was asked for");
        }
        renderer.Config(owner);
        return(renderer);
    }
 public void Config(LidarVisualizer viz)
 {
     _owner    = viz;
     _reserved = new List <float>(_owner.lidarResolution);
     for (int i = 0; i < _owner.lidarResolution; i++)
     {
         _reserved.Add(_owner.randomRange.y * ((float)i / (float)_owner.lidarResolution) - _owner.randomRange.x);
     }
 }
    public void Config(LidarVisualizer viz)
    {
        _owner = viz;

        _r2l = ROS2Listener.instance;
        _sub = _r2l.node.CreateSubscription <LaserScan>(
            _owner.topic, msg => {
            _curScan = msg;
        }, ROS2.Utils.QosProfile.Profile.SensorData);
    }
Beispiel #4
0
    public new static void CallBack(ROSBridgeMsg msg)
    {
        PointCloud2Msg pointCloudMsg = (PointCloud2Msg)msg;

        if (verbose)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(pointCloudMsg.GetHeader().GetSeq());
            sb.Append(":\n");
            sb.AppendFormat("Size: {0} X {1} = {2}\n", pointCloudMsg.GetWidth(), pointCloudMsg.GetHeight(), pointCloudMsg.GetWidth() * pointCloudMsg.GetHeight());
            sb.Append(pointCloudMsg.GetFieldString());
            Debug.Log(sb.ToString());
        }

        LidarVisualizer visualizer = GameObject.Find(rendererObjectName).GetComponent <LidarVisualizer>();

        visualizer.SetPointCloud(pointCloudMsg.GetCloud());
    }
 public void Config(LidarVisualizer viz)
 {
     _owner    = viz;
     _reserved = new float[_owner.lidarResolution];
 }
Beispiel #6
0
 public virtual void Config(LidarVisualizer viz)
 {
     _owner      = viz;
     _ballPrefab = _owner.ballPrefab;
 }
 public void Config(LidarVisualizer viz)
 {
     _owner = viz;
 }
Beispiel #8
0
    public static ILidarDataProvider GetLidarDataProvider(LidarDataProviderClass ldpc, LidarVisualizer owner)
    {
        ILidarDataProvider provider = null;

        switch (ldpc)
        {
        case LidarDataProviderClass.SIMPLE_RANDOM:
            provider = new SimpleRandomDataProvider();
            break;

        case LidarDataProviderClass.ROS2:
            provider = new ROS2LidarSubscription();
            break;
        }
        if (provider == null)
        {
            Debug.LogError("Unsupported lidar data provider was asked for");
            return(null);
        }
        provider.Config(owner);
        return(provider);
    }
    public static ILidarDataProvider GetLidarDataProvider(LidarDataProviderClass ldpc, LidarVisualizer owner)
    {
        ILidarDataProvider provider = null;

        switch (ldpc)
        {
        case LidarDataProviderClass.SIMPLE_RANDOM:
            provider = new SimpleRandomDataProvider();
            break;

        case LidarDataProviderClass.ROS1:
#if ROS1_MODULE_LIDAR
            ROS1LidarSubscription sub = owner.gameObject.AddComponent <ROS1LidarSubscription>();
            sub.Config(owner);
            sub.Init();
            provider = sub;
#else
            Debug.LogError("ROS1 data provider classes not imported!");
#endif
            break;

        case LidarDataProviderClass.ROS2:
#if ROS2_MODULE_LIDAR
            provider = new ROS2LidarSubscription();
#else
            Debug.LogError("ROS2 data provider classes not imported!");
#endif
            break;
        }
        if (provider == null)
        {
            Debug.LogError("Unsupported lidar data provider was asked for");
            return(null);
        }
        provider.Config(owner);
        return(provider);
    }
Beispiel #10
0
 public override void Config(LidarVisualizer viz)
 {
     base.Config(viz);
     _material = _owner.ballLineMaterial;
 }