()
| 636 | } |
| 637 | |
| 638 | render() { |
| 639 | return ( |
| 640 | <BaseLayout title="Large Agent MAPF"> |
| 641 | <MKBox component="section"> |
| 642 | <Modal |
| 643 | open={this.state.isInfoDialogOpen} |
| 644 | onClose={() => { |
| 645 | this.setState({ isInfoDialogOpen: false }); |
| 646 | }} |
| 647 | sx={{ display: "grid", placeItems: "center" }} |
| 648 | > |
| 649 | <Slide direction="down" in={this.state.isInfoDialogOpen} timeout={500}> |
| 650 | <MKBox |
| 651 | position="relative" |
| 652 | width="50vw" |
| 653 | display="flex" |
| 654 | flexDirection="column" |
| 655 | borderRadius="xl" |
| 656 | variant="gradient" |
| 657 | shadow="sm" |
| 658 | > |
| 659 | <MKBox display="flex" alginItems="center" justifyContent="center" p={2}> |
| 660 | <MKTypography variant="h4">A few things to know</MKTypography> |
| 661 | </MKBox> |
| 662 | <Divider sx={{ my: 0 }} /> |
| 663 | |
| 664 | <MKBox px={6} py={3} textAlign="left"> |
| 665 | <MKTypography variant="body2" mb={1}> |
| 666 | 1. For better display of the map, the number of rows are restricted to be no |
| 667 | more that the number of columns. So if you want to add a map with more rows than |
| 668 | columns, simply swap these two numbers. |
| 669 | </MKTypography> |
| 670 | <MKTypography variant="body2" mb={1}> |
| 671 | 2. The MAPF variant you choose is <b>Large Agent MAPF</b>, and the algorithm you |
| 672 | choose is <b>MC-CBS</b>. The available improvement techniques include:{" "} |
| 673 | <b>Mutex Propagation</b>. |
| 674 | </MKTypography> |
| 675 | <MKTypography variant="body2" mb={1}> |
| 676 | 3. In <b>Large Agent MAPF</b>, we denote the location of an agent by the |
| 677 | coordinate of its top-left grid. |
| 678 | </MKTypography> |
| 679 | <MKTypography variant="body2" mb={1}> |
| 680 | 4. When you use <b>Mutex Propagation</b>, please make sure all agents are no |
| 681 | smaller than <b>2x2</b>. Agent with height or width of 1 is currently not |
| 682 | supported. |
| 683 | </MKTypography> |
| 684 | </MKBox> |
| 685 | <Divider light sx={{ my: 0 }} /> |
| 686 | <MKBox display="flex" justifyContent="right" py={1} px={1.5}> |
| 687 | <MKButton onClick={() => this.setState({ isInfoDialogOpen: false })}> |
| 688 | ok, got it |
| 689 | </MKButton> |
| 690 | </MKBox> |
| 691 | </MKBox> |
| 692 | </Slide> |
| 693 | </Modal> |
| 694 | </MKBox> |
| 695 | <MKBox component="section"> |
nothing calls this directly
no test coverage detected