docs.unity3d.com
    Show / Hide Table of Contents

    Class CorrectPointCloudMotion

    Represents a transcoder taking an input point cloud distorted by motion, and generating the corrected output point cloud.

    Inheritance
    Object
    NodeRuntime
    Transcoder
    CorrectPointCloudMotion
    CorrectPointCloudMotionNode
    Inherited Members
    Transcoder.inTranscode
    Transcoder.outTranscode
    Transcoder._computeShader
    Transcoder._computeKernelIdx
    Transcoder.EnableInterfaceOnChangeEvent()
    Transcoder.DisableInterfaceOnChangeEvent()
    Transcoder.InitializeComputeShader(String, String)
    Transcoder.Release()
    NodeRuntime._parent
    NodeRuntime._portList
    NodeRuntime._queryPath
    NodeRuntime._tickCPUTimeNs
    NodeRuntime.Initialize(SystemGraphComponent)
    NodeRuntime.InternalInitialize()
    NodeRuntime.Start()
    NodeRuntime.OnTick(Double, Double, Scheduler.ClockState, Scheduler.Signal)
    NodeRuntime.Update()
    NodeRuntime.FixedUpdate()
    NodeRuntime.OnPortAdded(String, Type, String, PortDirection, FieldExtra, IPortType)
    NodeRuntime.OnPortRemoved(String)
    NodeRuntime.InitializeDynamicPorts(SystemGraphComponent)
    NodeRuntime.QueryPath
    NodeRuntime.TickCPUTimeNs
    NodeRuntime.PortDataList
    Namespace: Mechatronics.SensorSDK
    Syntax
    public class CorrectPointCloudMotion : Transcoder
    Remarks

    If a lidar moves during acquisition, each depth is measured at a different moment in time, and thus, each point has a different reference frame. This class adjusts the points so they are all expressed in the last pose of the reference frame.

    Fields

    _correctedPointCloud

    Point cloud where motion distortion has been corrected.

    Declaration
    protected PointCloud _correctedPointCloud
    Field Value
    Type Description
    PointCloud

    _prevReferenceToWorldPose

    Reference frame pose during the last call to Transcode(CustomPassContext).

    Declaration
    protected Pose _prevReferenceToWorldPose
    Field Value
    Type Description
    Pose

    beamCount

    Declaration
    [Tooltip("The number of laser beams stacked vertically.")]
    [Field("BeamCount", PortDirection.Left, FieldExtra.Read)]
    [SerializeField]
    protected PortType<uint> beamCount
    Field Value
    Type Description
    PortType<UInt32>

    enableCorrection

    Declaration
    [Tooltip("Whether to apply a correction or act as a passthrough.")]
    [Field("EnableCorrection", PortDirection.Left, FieldExtra.Read)]
    [SerializeField]
    protected PortType<bool> enableCorrection
    Field Value
    Type Description
    PortType<Boolean>

    inPointCloud

    Declaration
    [Tooltip("The input point cloud with motion distortion.")]
    [Field("InPointCloud", PortDirection.Left, FieldExtra.Read)]
    [SerializeField]
    protected PortType<PointCloud> inPointCloud
    Field Value
    Type Description
    PortType<PointCloud>

    isCellsSync

    Declaration
    [Tooltip("Whether vertically-stacked lasers fire simultaneously or sequentially.")]
    [Field("IsCellsSync", PortDirection.Left, FieldExtra.Read)]
    [SerializeField]
    protected PortType<bool> isCellsSync
    Field Value
    Type Description
    PortType<Boolean>

    outPointCloud

    Declaration
    [Tooltip("The output point cloud where motion distortion has been corrected.")]
    [Field("OutPointCloud", PortDirection.Right, FieldExtra.Write)]
    [SerializeField]
    protected PortType<PointCloud> outPointCloud
    Field Value
    Type Description
    PortType<PointCloud>

    referenceToWorldTransform

    The Transform in which the point clouds are expressed.

    Declaration
    [Binding("Reference frame")]
    [SerializeField]
    protected Binding<Transform> referenceToWorldTransform
    Field Value
    Type Description
    Binding<Transform>

    Properties

    ReferenceToWorldPose

    Retrieves the current pose of the reference frame.

    Declaration
    protected Pose ReferenceToWorldPose { get; }
    Property Value
    Type Description
    Pose
    Remarks

    If there is no bound transform to the reference frame, returns the identity pose instead.

    Methods

    Disable()

    Disable change event on the inTranscode port and release the graphics resources.

    Declaration
    public override void Disable()
    Overrides
    NodeRuntime.Disable()

    Enable(Scheduler.ClockState)

    Initialize the transcoder shader and enable on change event on the on inTranscode port.

    Declaration
    public override void Enable(Scheduler.ClockState clockState)
    Parameters
    Type Name Description
    Scheduler.ClockState clockState

    The parameters of the waveform associated to this node

    Overrides
    NodeRuntime.Enable(Scheduler.ClockState)

    Transcode(CustomPassContext)

    Add to the command buffer the conversion of the point cloud buffer into a depth buffer.

    Declaration
    protected override void Transcode(CustomPassContext ctx)
    Parameters
    Type Name Description
    CustomPassContext ctx

    Custom pass context

    Overrides
    Transcoder.Transcode(CustomPassContext)
    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023