public bool RayPick(Ray3F rayw, out RayPickRetVal retval) { INativeObject nobj = this.As <INativeObject>(); IntPtr retvalPtr = IntPtr.Zero; IntPtr rayptr = new IntPtr(&rayw); nobj.InvokeFunction("RayPick", rayptr, out retvalPtr); if (retvalPtr != IntPtr.Zero) { retval = *(RayPickRetVal *)retvalPtr; } else { retval = new RayPickRetVal(); } return(retval.picked); }
public bool RayPick(Ray3F rayw, out RayPickRetVal retval) { INativeObject nobj = this.As<INativeObject>(); IntPtr retvalPtr = IntPtr.Zero; IntPtr rayptr = new IntPtr(&rayw); nobj.InvokeFunction("RayPick", rayptr, out retvalPtr); if (retvalPtr != IntPtr.Zero) retval = *(RayPickRetVal*)retvalPtr; else retval = new RayPickRetVal(); return retval.picked; }