public TransformListener() { if (buf == IntPtr.Zero) { buf = TransformListenerDelegates.native_construct_buffer(); } if (listener == IntPtr.Zero) { listener = TransformListenerDelegates.native_construct_listener(buf); } }
/// <summary> /// Returns the ROS2 rotation between frames 'from' and 'to', or null /// if one or more of the frames do not exist. /// </summary> /// <param name="from"></param> /// <param name="to"></param> /// <returns></returns> public TfQuaternion?LookupRotation(string from, string to) { IntPtr transformHandle = IntPtr.Zero; transformHandle = TransformListenerDelegates.native_lookup_transform(buf, from, to, TransformListenerDelegates.native_construct_time(0, 0)); if (transformHandle == IntPtr.Zero) { return(null); } TfQuaternion output = new TfQuaternion(); TransformListenerDelegates.native_retrieve_rotation(transformHandle, out output); return(output); }