private VuMarkTarget CreateVuMarkTarget(VuforiaManagerImpl.VuMarkTargetData newVuMark) { VuMarkTemplateImpl template = (VuMarkTemplateImpl)this.GetVuMarkTemplate(newVuMark.templateId); uint dataLength = newVuMark.instanceId.dataLength; byte[] array = new byte[dataLength]; if (array.Length != 0) { Marshal.Copy(newVuMark.instanceId.buffer, array, 0, array.Length); } return(new VuMarkTargetImpl(newVuMark.id, array, newVuMark.instanceId.numericValue, (InstanceIdType)newVuMark.instanceId.dataType, dataLength, template)); }
private void UpdateNewVuMarks(VuforiaManagerImpl.VuMarkTargetData[] newVuMarks) { for (int i = 0; i < newVuMarks.Length; i++) { VuforiaManagerImpl.VuMarkTargetData newVuMark = newVuMarks[i]; VuMarkTarget vuMarkTarget = this.CreateVuMarkTarget(newVuMark); this.mActiveVuMarkTargets.Add(vuMarkTarget); if (this.mOnVuMarkDetected != null) { this.mOnVuMarkDetected.InvokeWithExceptionHandling(vuMarkTarget); } } }