578 {
579 RSPParam LRSL1_param;
580 LRSL(x, y, phi, &LRSL1_param);
581 double LRSL1_lengths[4] = {LRSL1_param.t, -0.5 * M_PI, LRSL1_param.u,
582 LRSL1_param.v};
583 char LRSL1_types[] = "LRSL";
584 if (LRSL1_param.flag &&
585 !
SetRSP(4, LRSL1_lengths, LRSL1_types, all_possible_paths)) {
586 ADEBUG <<
"Fail at SetRSP with LRSL1_param";
587 return false;
588 }
589
590 RSPParam LRSL2_param;
591 LRSL(-x, y, -phi, &LRSL2_param);
592 double LRSL2_lengths[4] = {-LRSL2_param.t, 0.5 * M_PI, -LRSL2_param.u,
593 -LRSL2_param.v};
594 char LRSL2_types[] = "LRSL";
595 if (LRSL2_param.flag &&
596 !
SetRSP(4, LRSL2_lengths, LRSL2_types, all_possible_paths)) {
597 ADEBUG <<
"Fail at SetRSP with LRSL2_param";
598 return false;
599 }
600
601 RSPParam LRSL3_param;
602 LRSL(x, -y, -phi, &LRSL3_param);
603 double LRSL3_lengths[4] = {LRSL3_param.t, -0.5 * M_PI, LRSL3_param.u,
604 LRSL3_param.v};
605 char LRSL3_types[] = "RLSR";
606 if (LRSL3_param.flag &&
607 !
SetRSP(4, LRSL3_lengths, LRSL3_types, all_possible_paths)) {
608 ADEBUG <<
"Fail at SetRSP with LRSL3_param";
609 return false;
610 }
611
612 RSPParam LRSL4_param;
613 LRSL(-x, -y, phi, &LRSL4_param);
614 double LRSL4_lengths[4] = {-LRSL4_param.t, 0.5 * M_PI, -LRSL4_param.u,
615 -LRSL4_param.v};
616 char LRSL4_types[] = "RLSR";
617 if (LRSL4_param.flag &&
618 !
SetRSP(4, LRSL4_lengths, LRSL4_types, all_possible_paths)) {
619 ADEBUG <<
"Fail at SetRSP with LRSL4_param";
620 return false;
621 }
622
623 RSPParam LRSR1_param;
624 LRSR(x, y, phi, &LRSR1_param);
625 double LRSR1_lengths[4] = {LRSR1_param.t, -0.5 * M_PI, LRSR1_param.u,
626 LRSR1_param.v};
627 char LRSR1_types[] = "LRSR";
628 if (LRSR1_param.flag &&
629 !
SetRSP(4, LRSR1_lengths, LRSR1_types, all_possible_paths)) {
630 ADEBUG <<
"Fail at SetRSP with LRSR1_param";
631 return false;
632 }
633
634 RSPParam LRSR2_param;
635 LRSR(-x, y, -phi, &LRSR2_param);
636 double LRSR2_lengths[4] = {-LRSR2_param.t, 0.5 * M_PI, -LRSR2_param.u,
637 -LRSR2_param.v};
638 char LRSR2_types[] = "LRSR";
639 if (LRSR2_param.flag &&
640 !
SetRSP(4, LRSR2_lengths, LRSR2_types, all_possible_paths)) {
641 ADEBUG <<
"Fail at SetRSP with LRSR2_param";
642 return false;
643 }
644
645 RSPParam LRSR3_param;
646 LRSR(x, -y, -phi, &LRSR3_param);
647 double LRSR3_lengths[4] = {LRSR3_param.t, -0.5 * M_PI, LRSR3_param.u,
648 LRSR3_param.v};
649 char LRSR3_types[] = "RLSL";
650 if (LRSR3_param.flag &&
651 !
SetRSP(4, LRSR3_lengths, LRSR3_types, all_possible_paths)) {
652 ADEBUG <<
"Fail at SetRSP with LRSR3_param";
653 return false;
654 }
655
656 RSPParam LRSR4_param;
657 LRSR(-x, -y, phi, &LRSR4_param);
658 double LRSR4_lengths[4] = {-LRSR4_param.t, 0.5 * M_PI, -LRSR4_param.u,
659 -LRSR4_param.v};
660 char LRSR4_types[] = "RLSL";
661 if (LRSR4_param.flag &&
662 !
SetRSP(4, LRSR4_lengths, LRSR4_types, all_possible_paths)) {
663 ADEBUG <<
"Fail at SetRSP with LRSR4_param";
664 return false;
665 }
666
667
668 double xb = x * std::cos(phi) + y * std::sin(phi);
669 double yb = x * std::sin(phi) - y * std::cos(phi);
670
671 RSPParam LRSL5_param;
672 LRSL(xb, yb, phi, &LRSL5_param);
673 double LRSL5_lengths[4] = {LRSL5_param.v, LRSL5_param.u, -0.5 * M_PI,
674 LRSL5_param.t};
675 char LRSL5_types[] = "LSRL";
676 if (LRSL5_param.flag &&
677 !
SetRSP(4, LRSL5_lengths, LRSL5_types, all_possible_paths)) {
678 ADEBUG <<
"Fail at SetRSP with LRLRn_param";
679 return false;
680 }
681
682 RSPParam LRSL6_param;
683 LRSL(-xb, yb, -phi, &LRSL6_param);
684 double LRSL6_lengths[4] = {-LRSL6_param.v, -LRSL6_param.u, 0.5 * M_PI,
685 -LRSL6_param.t};
686 char LRSL6_types[] = "LSRL";
687 if (LRSL6_param.flag &&
688 !
SetRSP(4, LRSL6_lengths, LRSL6_types, all_possible_paths)) {
689 ADEBUG <<
"Fail at SetRSP with LRSL6_param";
690 return false;
691 }
692
693 RSPParam LRSL7_param;
694 LRSL(xb, -yb, -phi, &LRSL7_param);
695 double LRSL7_lengths[4] = {LRSL7_param.v, LRSL7_param.u, -0.5 * M_PI,
696 LRSL7_param.t};
697 char LRSL7_types[] = "RSLR";
698 if (LRSL7_param.flag &&
699 !
SetRSP(4, LRSL7_lengths, LRSL7_types, all_possible_paths)) {
700 ADEBUG <<
"Fail at SetRSP with LRSL7_param";
701 return false;
702 }
703
704 RSPParam LRSL8_param;
705 LRSL(-xb, -yb, phi, &LRSL8_param);
706 double LRSL8_lengths[4] = {-LRSL8_param.v, -LRSL8_param.u, 0.5 * M_PI,
707 -LRSL8_param.t};
708 char LRSL8_types[] = "RSLR";
709 if (LRSL8_param.flag &&
710 !
SetRSP(4, LRSL8_lengths, LRSL8_types, all_possible_paths)) {
711 ADEBUG <<
"Fail at SetRSP with LRSL8_param";
712 return false;
713 }
714
715 RSPParam LRSR5_param;
716 LRSR(xb, yb, phi, &LRSR5_param);
717 double LRSR5_lengths[4] = {LRSR5_param.v, LRSR5_param.u, -0.5 * M_PI,
718 LRSR5_param.t};
719 char LRSR5_types[] = "RSRL";
720 if (LRSR5_param.flag &&
721 !
SetRSP(4, LRSR5_lengths, LRSR5_types, all_possible_paths)) {
722 ADEBUG <<
"Fail at SetRSP with LRSR5_param";
723 return false;
724 }
725
726 RSPParam LRSR6_param;
727 LRSR(-xb, yb, -phi, &LRSR6_param);
728 double LRSR6_lengths[4] = {-LRSR6_param.v, -LRSR6_param.u, 0.5 * M_PI,
729 -LRSR6_param.t};
730 char LRSR6_types[] = "RSRL";
731 if (LRSR6_param.flag &&
732 !
SetRSP(4, LRSR6_lengths, LRSR6_types, all_possible_paths)) {
733 ADEBUG <<
"Fail at SetRSP with LRSR6_param";
734 return false;
735 }
736
737 RSPParam LRSR7_param;
738 LRSR(xb, -yb, -phi, &LRSR7_param);
739 double LRSR7_lengths[4] = {LRSR7_param.v, LRSR7_param.u, -0.5 * M_PI,
740 LRSR7_param.t};
741 char LRSR7_types[] = "LSLR";
742 if (LRSR7_param.flag &&
743 !
SetRSP(4, LRSR7_lengths, LRSR7_types, all_possible_paths)) {
744 ADEBUG <<
"Fail at SetRSP with LRSR7_param";
745 return false;
746 }
747
748 RSPParam LRSR8_param;
749 LRSR(-xb, -yb, phi, &LRSR8_param);
750 double LRSR8_lengths[4] = {-LRSR8_param.v, -LRSR8_param.u, 0.5 * M_PI,
751 -LRSR8_param.t};
752 char LRSR8_types[] = "LSLR";
753 if (LRSR8_param.flag &&
754 !
SetRSP(4, LRSR8_lengths, LRSR8_types, all_possible_paths)) {
755 ADEBUG <<
"Fail at SetRSP with LRSR8_param";
756 return false;
757 }
758 return true;
759}
void LRSL(const double x, const double y, const double phi, RSPParam *param)
void LRSR(const double x, const double y, const double phi, RSPParam *param)