private void SetLandmarkPoint(PXCMFaceData.LandmarksData data, PXCMFaceData.LandmarkPoint[] points, PXCMFaceData.LandmarkType type, Item item) { var index = data.QueryPointIndex(type); var pos = points[index]; item.Position = CreatePosition(pos.image.ToPoint3D(), pos.world.ToPoint3D()); }
public static int FacePointName(PXCMFaceData.LandmarkType landmarkID) { if (landmarksData == null) { return(0); } return(landmarksData.QueryPointIndex(landmarkID)); }
/** * Displays Landmarks by type, as they are defined in the SDK * @param Graphics g for the view */ public override void Work(Graphics g) { if (!guInit) { GuiInit(); } if (model.FaceAktuell != null) { PXCMFaceData.LandmarksData lp = model.FaceAktuell.QueryLandmarks(); if (lp == null) { //Console.WriteLine("LandmarksData null, goddamnit!!"); g.DrawString("LandmarksData null, goddamnit!!", font, stringBrush, stringRect); return; } PXCMFaceData.LandmarkPoint lPoint; if (((PXCMFaceData.LandmarkType)crossThreadValue) == PXCMFaceData.LandmarkType.LANDMARK_NOT_NAMED) { for (int i = 1; i < 33; i++) { lp.QueryPoint(lp.QueryPointIndex((PXCMFaceData.LandmarkType)i), out lPoint); Point p = new Point(); p.X = (int)lPoint.image.x; p.Y = (int)lPoint.image.y; g.DrawEllipse(pen, lPoint.image.x - 2, lPoint.image.y - 2, 4, 4); } } else { lp.QueryPoint(lp.QueryPointIndex((PXCMFaceData.LandmarkType)crossThreadValue), out lPoint); Point p = new Point(); p.X = (int)lPoint.image.x; p.Y = (int)lPoint.image.y; g.DrawEllipse(pen, lPoint.image.x - 2, lPoint.image.y - 2, 4, 4); } } g.DrawString(((PXCMFaceData.LandmarkType)crossThreadValue).ToString(), font, stringBrush, stringRect); }
private PXCMFaceData.LandmarkPoint GetLandmarkPoint(PXCMFaceData.LandmarksData pxcmLandmarksData, PXCMFaceData.LandmarkType landmarkType) { PXCMFaceData.LandmarkPoint landmarkPoint = null; pxcmLandmarksData.QueryPoint(pxcmLandmarksData.QueryPointIndex(landmarkType), out landmarkPoint); return(landmarkPoint); }