I am not a RealSense stream programming expert, so I apologize if my answer is not helpful. I spent a while carefully checking through your script and comparing sections of it to scripts on the internet.
I could find no examples where ijmap is used with the push_back instruction. Are you sure that it should not be iMap? I.e
Thank you,I use c++，ijmap is a vector<PXCPointF32>，I used a similar function such as pxcStatus PXCAPI ProjectDepthToCamera(pxcI32 npoints, PXCPoint3DF32 *pos_uvz, PXCPoint3DF32 *pos3d);It's successful。
Ok, sorry. Like I said, stream programming is not my expert area. I wanted to try to help though.
So you have got your program working successfully now?
Should your inputs be arrays instead of vectors maybe? I haven't done much with c++ so don't know if they're equivalent but it may be worth a try! Or does your working ProjectDepthToCamera call use vectors successfully? The only other thing I can think of is whether you've initialised your projection instance? (ie, you've called Device.CreateProjection())
Actually, it looks like you're giving the method a single PXCPoint by using ijmap instead of ijmap - in C# at least (may be different with C++) if you want to project a single point you need to give it an array with a single item in, not the point itself. Is that the issue?