/// <summary> /// get vector ptr and length, no copy /// </summary> /// <param name="len"></param> /// <returns></returns> public unsafe DHVertex *GetPathDataPtr(out int len) { len = Length; if (IsNull) { len = 0; return(null); } DHVertex *vertices = Native.dh_getpathdata(path); return(vertices); }
/// <summary> /// copy path data to array /// </summary> /// <returns></returns> public DHVertex[] GetPathData() { if (IsNull) { return(null); } DHVertex *vertices = Native.dh_getpathdata(path); var ret = new DHVertex[Length]; for (int i = 0; i < Length; i++) { ret[i] = vertices[i]; } return(ret); }
public DHVertex[] GetVertexes() { if (IsNull || !mapLoaded) { return(null); } void *vuv1 = (void *)0; int size1 = 0; Native.dh_get_vectices(dh, ref vuv1, &size1); var ret = new DHVertex[size1]; for (int i = 0; i < size1; i++) { DHVertex *ut = (DHVertex *)vuv1; ret[i] = ut[i]; } return(ret); }