public static HitStatus Hitscan(dpoint3d start, dpoint3d direction, out lpoint3d voxel, out Color color, out Face face) { IntPtr ind; hitscan(ref start, ref direction, out voxel, out ind, out face); if (ind == IntPtr.Zero) { color = Color.Transparent; return HitStatus.Nohit; } color = Color.FromArgb(Marshal.ReadInt32(ind)); return HitStatus.Hit; }
public static HitStatus Hitscan(dpoint3d start, dpoint3d direction, out lpoint3d voxel, out Color color, out Face face) { IntPtr ind; hitscan(ref start, ref direction, out voxel, out ind, out face); if (ind == IntPtr.Zero) { color = Color.Transparent; return(HitStatus.Nohit); } color = Color.FromArgb(Marshal.ReadInt32(ind)); return(HitStatus.Hit); }
extern static int loadvxl([MarshalAs(UnmanagedType.LPStr)] string filename, out dpoint3d ipo, out dpoint3d ist, out dpoint3d ihe, out dpoint3d ifo);
extern static void loadnul(out dpoint3d ipo, out dpoint3d ist, out dpoint3d ihe, out dpoint3d ifo);
public static dpoint3d ClipMove(dpoint3d start, dpoint3d movementVector, double objectRadius) { clipmove(ref start, ref movementVector, objectRadius); return(start); }
public static void SetCamera(dpoint3d ipo, dpoint3d ist, dpoint3d ihe, dpoint3d ifo, float dahx, float dahy, float dahz) { setcamera(ref ipo, ref ist, ref ihe, ref ifo, dahx, dahy, dahz); }
extern static void clipmove(ref dpoint3d inout, ref dpoint3d movement, double radius);
extern static void hitscan(ref dpoint3d startpos, ref dpoint3d direction, out lpoint3d coordOfVoxelHit, out IntPtr color, out Face face);
extern static void setcamera(ref dpoint3d ipo, ref dpoint3d ist, ref dpoint3d ihe, ref dpoint3d iho, float dahx, float dahy, float dahz);
static extern void setcamera(ref dpoint3d ipo, ref dpoint3d ist, ref dpoint3d ihe, ref dpoint3d iho, float dahx, float dahy, float dahz);
public static dpoint3d ClipMove(dpoint3d start, dpoint3d movementVector, double objectRadius) { clipmove(ref start, ref movementVector, objectRadius); return start; }
static extern int loadvxl([MarshalAs(UnmanagedType.LPStr)] string filename, out dpoint3d ipo, out dpoint3d ist, out dpoint3d ihe, out dpoint3d ifo);
static extern void loadnul(out dpoint3d ipo, out dpoint3d ist, out dpoint3d ihe, out dpoint3d ifo);
static extern void hitscan(ref dpoint3d startpos, ref dpoint3d direction, out lpoint3d coordOfVoxelHit, out IntPtr color, out Face face);
static extern void clipmove(ref dpoint3d inout, ref dpoint3d movement, double radius);