public void RemeshObject() { Box3Fill changed = new Box3Fill(true); RemeshObject(changed); PathStore.Refresh(changed); }
protected void RemoveCollisions(SimPathStore simPathStore) { if (simPathStore != PathStore) { return; } if (PathStore == null) { IsSolid = false; } else { Box3Fill changed = new Box3Fill(true); RemoveFromWaypoints(changed); simPathStore.Refresh(changed); } }
public void RemoveFromWaypoints(Box3Fill changed) { float detail = PathStore.StepSize;// -0.001f; float MinX = OuterBox.MinX; float MaxX = OuterBox.MaxX; float MinY = OuterBox.MinY; float MaxY = OuterBox.MaxY; float MinZ = OuterBox.MinZ; float MaxZ = OuterBox.MaxZ; changed.AddPoint(MinX, MinY, MinZ, Vector3.Zero); changed.AddPoint(MaxX, MaxY, MaxZ, Vector3.Zero); for (float x = MinX; x <= MaxX; x += detail) { for (float y = MinY; y <= MaxY; y += detail) { RemoveFromWaypoint(x, y, MinZ, MaxZ); } } RemoveFromWaypoint(MaxX, MaxY, MinZ, MaxZ); }
} // = new List<Box3Fill>(); public MeshedObject(Box3Fill o, IList <Box3Fill> i, SimPathStore R) { OuterBox = o; InnerBoxes = i; PathStore = null;// R; }
/// <summary> /// Build the Boxes /// </summary> abstract public void RemeshObject(Box3Fill changed);