724 bool doBase,bool bitmap,
725 uint32_t baseRows,uint32_t superRows,
726 uint32_t cellWidth,uint32_t cellHeight)
727{
730 float superRowsF = static_cast<float>(superRows);
731 for (;it!=m_rows.end() && !done;++it)
732 {
733 const auto &dr = *it;
736 {
737 uint32_t x=0,y=0,ys=0;
738 float xf=0.0f,yf=0.0f,ysf=0.0f;
739 auto rit = dr->begin();
740 while (rit!=dr->end())
741 {
746 if (di==last)
747 {
748 if (bitmap)
749 {
751 if (doBase)
752 {
759 }
760 else
761 {
768 }
769 }
770 else
771 {
773 if (doBase)
774 {
777 }
778 else
779 {
782 << " in\n";
783 }
784 }
785 }
786 else
787 {
788 if (bitmap)
789 {
792 if (doBase)
793 {
797 y = ys - cellHeight/2;
798 }
799 else
800 {
803 y = ys + cellHeight/2;
804 }
805 }
806 else
807 {
809 if (doBase)
810 {
812 yf = ysf + 0.5f;
813 }
814 else
815 {
817 yf = ysf - 0.25f;
818 }
819 }
820 while (di!=last)
821 {
822 if (bitmap)
823 {
824 if (doBase)
825 {
830 }
831 else
832 {
837 }
838 }
839 else
840 {
842 if (doBase)
843 {
844 t << "1 " << xf << " " << yf << " hedge\n";
845 yf += 1.0f;
846 }
847 else
848 {
849 t << "0 " << xf << " " << yf << " hedge\n";
850 yf -= 1.0f;
851 }
852 }
853 ++rit;
854 if (rit!=dr->end()) di = (*rit).get(); else di=nullptr;
855 }
856
857 if (bitmap)
858 {
859 if (doBase)
860 {
867 }
868 else
869 {
876 }
877 }
878 else
879 {
881 if (doBase)
882 {
883 t << "1 " << xf << " " << yf << " hedge\n";
884 }
885 else
886 {
887 t << "0 " << xf << " " << yf << " hedge\n";
888 }
890 if (doBase)
891 {
892 t << xf << " " << ysf << " " << yf << " vedge\n";
893 }
894 else
895 {
896 t << xf << " " << (ysf + 0.25f) << " " << yf << " vedge\n";
897 }
898 }
899 }
900 if (rit!=dr->end()) ++rit;
901 }
903 }
904 else
905 {
906 for (const auto &di : *dr)
907 {
908 uint32_t x=0,y=0;
912 {
913 if (bitmap)
914 {
916 if (doBase)
917 {
921
925 }
926 else
927 {
931
935 }
936 }
937 else
938 {
940 if (doBase)
941 {
942 t << "1 " << di->xfPos()/gridWidth << " "
943 << (di->yfPos()/gridHeight+superRowsF-1.0f) << " in\n";
944 }
945 else
946 {
947 t << "0 " << di->xfPos()/gridWidth << " "
949 << " in\n";
950 }
951 }
952 }
953 if (!dil.empty())
954 {
958 if (bitmap)
959 {
961 if (doBase)
962 {
968 }
969 else
970 {
972 cellHeight+
975 }
976 }
977 else
978 {
980 if (doBase)
981 {
982 t << "0 " << di->xfPos()/gridWidth << " "
983 << (di->yfPos()/gridHeight+superRowsF-1.0f) << " out\n";
984 }
985 else
986 {
987 t << "1 " << di->xfPos()/gridWidth << " "
989 << " out\n";
990 }
991 }
992
995 if (first!=last && !first->isInList())
996 {
997 if (bitmap)
998 {
1000 + cellWidth/2;
1002 + cellWidth/2;
1003 if (doBase)
1004 {
1006 }
1007 else
1008 {
1010 }
1011 }
1012 else
1013 {
1015 if (doBase)
1016 {
1020 << " conn\n";
1021 }
1022 else
1023 {
1027 << " conn\n";
1028 }
1029 }
1030 }
1031 }
1032 }
1033 }
1034 }
1035}