423 Float_t markerSizeReduced = scale * (
GetMarkerSize() - std::floor(markerLineWidth/2.)/4. * wscale);
424 const auto im = std::round(4*markerSizeReduced);
425 const auto im2 = std::round(2*markerSizeReduced);
428 shape.emplace_back(
x1,
y1);
429 shape.emplace_back(
x2,
y2);
430 shape.emplace_back(x3, y3);
434 shape.emplace_back(
x1,
y1);
435 shape.emplace_back(
x1,
y2);
436 shape.emplace_back(
x2,
y2);
438 shape.emplace_back(
x1,
y1);
439 shape.emplace_back(
x2,
y2);
440 shape.emplace_back(
x2,
y1);
446 switch (markerStyle) {
452 shape[0].fX = -im; shape[0].fY = 0;
453 shape[1].fX = im; shape[1].fY = 0;
454 shape[2].fX = 0; shape[2].fY = -im;
455 shape[3].fX = 0; shape[3].fY = im;
459 const auto imx = std::round(0.707*4*markerSizeReduced);
461 shape[0].fX = -im; shape[0].fY = 0;
462 shape[1].fX = im; shape[1].fY = 0;
463 shape[2].fX = 0 ; shape[2].fY = -im;
464 shape[3].fX = 0 ; shape[3].fY = im;
465 shape[4].fX = -imx; shape[4].fY = -imx;
466 shape[5].fX = imx; shape[5].fY = imx;
467 shape[6].fX = -imx; shape[6].fY = imx;
468 shape[7].fX = imx; shape[7].fY = -imx;
476 const auto imx = std::round(0.707*4*markerSizeReduced);
478 shape.emplace_back(-imx, -imx);
479 shape.emplace_back( imx, imx);
480 shape.emplace_back(-imx, imx);
481 shape.emplace_back( imx, -imx);
487 shape[0].fX = -1; shape[0].fY = 0;
488 shape[1].fX = 1; shape[1].fY = 0;
489 shape[2].fX = 0; shape[2].fY = -1;
490 shape[3].fX = 0; shape[3].fY = 1;
502 shape[0].fX = -1; shape[0].fY = -1;
503 shape[1].fX = 1; shape[1].fY = -1;
504 shape[2].fX = 1; shape[2].fY = 1;
505 shape[3].fX = -1; shape[3].fY = 1;
506 shape[4].fX = -1; shape[4].fY = -1;
521 shape[0].fX = -im; shape[0].fY = -im;
522 shape[1].fX = im; shape[1].fY = -im;
523 shape[2].fX = im; shape[2].fY = im;
524 shape[3].fX = -im; shape[3].fY = im;
525 shape[4].fX = -im; shape[4].fY = -im;
530 shape[0].fX = -im; shape[0].fY = im;
531 shape[1].fX = im; shape[1].fY = im;
532 shape[2].fX = 0; shape[2].fY = -im;
533 shape[3].fX = -im; shape[3].fY = im;
538 shape[0].fX = 0; shape[0].fY = im;
539 shape[1].fX = im; shape[1].fY = -im;
540 shape[2].fX = -im; shape[2].fY = -im;
541 shape[3].fX = 0; shape[3].fY = im;
545 shape[0].fX = -im; shape[0].fY = -im;
546 shape[1].fX = im; shape[1].fY = -im;
547 shape[2].fX = im; shape[2].fY = im;
548 shape[3].fX = -im; shape[3].fY = im;
549 shape[4].fX = -im; shape[4].fY = -im;
554 const auto imx = std::round(2.66*markerSizeReduced);
555 shape[0].fX =-imx; shape[0].fY = 0;
556 shape[1].fX = 0; shape[1].fY = -im;
557 shape[2].fX = imx; shape[2].fY = 0;
558 shape[3].fX = 0; shape[3].fY = im;
559 shape[4].fX =-imx; shape[4].fY = 0;
564 const auto imx = std::round(1.33*markerSizeReduced);
565 shape.reserve(3 * 6);
566 addSquare( -im, -imx, -imx, imx);
567 addSquare(-imx, -im, imx, im);
568 addSquare( imx, -imx, im, imx);
573 const auto imx = std::round(1.33*markerSizeReduced);
574 shape[0].fX = -im; shape[0].fY =-imx;
575 shape[1].fX =-imx; shape[1].fY =-imx;
576 shape[2].fX =-imx; shape[2].fY = -im;
577 shape[3].fX = imx; shape[3].fY = -im;
578 shape[4].fX = imx; shape[4].fY =-imx;
579 shape[5].fX = im; shape[5].fY =-imx;
580 shape[6].fX = im; shape[6].fY = imx;
581 shape[7].fX = imx; shape[7].fY = imx;
582 shape[8].fX = imx; shape[8].fY = im;
583 shape[9].fX =-imx; shape[9].fY = im;
584 shape[10].fX=-imx; shape[10].fY= imx;
585 shape[11].fX= -im; shape[11].fY= imx;
586 shape[12].fX= -im; shape[12].fY=-imx;
591 const auto im1 = std::round(0.66*markerSizeReduced);
592 const auto im3 = std::round(2.66*markerSizeReduced);
593 const auto im4 = std::round(1.33*markerSizeReduced);
594 shape.reserve(8 * 3);
596 addTriangle( -im, im4, -im2, -im1, -im4, im4);
597 addTriangle(-im2, -im1, -im3, -im, 0, -im2);
598 addTriangle( 0, -im2, im3, -im, im2, -im1);
599 addTriangle( im2, -im1, im, im4, im4, im4);
600 addTriangle( im4, im4, 0, im, -im4, im4);
601 addTriangle(-im4, im4, -im2, -im1, 0, -im2);
602 addTriangle(-im4, im4, 0, -im2, im2, -im1);
603 addTriangle(-im4, im4, im2, -im1, im4, im4);
607 const auto im1 = std::round(0.66*markerSizeReduced);
608 const auto im3 = std::round(2.66*markerSizeReduced);
609 const auto im4 = std::round(1.33*markerSizeReduced);
611 shape[0].fX = -im; shape[0].fY = im4;
612 shape[1].fX =-im2; shape[1].fY =-im1;
613 shape[2].fX =-im3; shape[2].fY = -im;
614 shape[3].fX = 0; shape[3].fY =-im2;
615 shape[4].fX = im3; shape[4].fY = -im;
616 shape[5].fX = im2; shape[5].fY =-im1;
617 shape[6].fX = im; shape[6].fY = im4;
618 shape[7].fX = im4; shape[7].fY = im4;
619 shape[8].fX = 0; shape[8].fY = im;
620 shape[9].fX =-im4; shape[9].fY = im4;
621 shape[10].fX= -im; shape[10].fY= im4;
626 shape[0].fX =-im; shape[0].fY = 0;
627 shape[1].fX = 0; shape[1].fY = -im;
628 shape[2].fX = 0; shape[2].fY = -im;
629 shape[3].fX = im; shape[3].fY = 0;
630 shape[4].fX = im; shape[4].fY = 0;
631 shape[5].fX = 0; shape[5].fY = im;
632 shape[6].fX = 0; shape[6].fY = im;
633 shape[7].fX =-im; shape[7].fY = 0;
634 shape[8].fX =-im; shape[8].fY = 0;
635 shape[9].fX = im; shape[9].fY = 0;
636 shape[10].fX = 0; shape[10].fY = im;
637 shape[11].fX = 0; shape[11].fY =-im;
641 shape[0].fX = -im; shape[0].fY = -im;
642 shape[1].fX = im; shape[1].fY = -im;
643 shape[2].fX = im; shape[2].fY = -im;
644 shape[3].fX = im; shape[3].fY = im;
645 shape[4].fX = im; shape[4].fY = im;
646 shape[5].fX = -im; shape[5].fY = im;
647 shape[6].fX = -im; shape[6].fY = im;
648 shape[7].fX = -im; shape[7].fY = -im;
649 shape[8].fX = -im; shape[8].fY = -im;
650 shape[9].fX = im; shape[9].fY = im;
651 shape[10].fX = -im; shape[10].fY = im;
652 shape[11].fX = im; shape[11].fY = -im;
656 shape[0].fX = 0; shape[0].fY = 0;
657 shape[1].fX =-im2; shape[1].fY = im;
658 shape[2].fX = im2; shape[2].fY = im;
659 shape[3].fX = 0; shape[3].fY = 0;
660 shape[4].fX =-im2; shape[4].fY = -im;
661 shape[5].fX = -im; shape[5].fY = 0;
662 shape[6].fX = 0; shape[6].fY = 0;
663 shape[7].fX = im; shape[7].fY = 0;
664 shape[8].fX = im2; shape[8].fY = -im;
665 shape[9].fX = 0; shape[9].fY = 0;
669 shape[0].fX = -im; shape[0].fY = 0;
670 shape[1].fX = -im; shape[1].fY =-im2;
671 shape[2].fX =-im2; shape[2].fY = -im;
672 shape[3].fX = im2; shape[3].fY = -im;
673 shape[4].fX = im; shape[4].fY =-im2;
674 shape[5].fX = im; shape[5].fY = im2;
675 shape[6].fX = im2; shape[6].fY = im;
676 shape[7].fX =-im2; shape[7].fY = im;
677 shape[8].fX = -im; shape[8].fY = im2;
678 shape[9].fX = -im; shape[9].fY = 0;
679 shape[10].fX = im; shape[10].fY = 0;
680 shape[11].fX = 0; shape[11].fY = 0;
681 shape[12].fX = 0; shape[12].fY = -im;
682 shape[13].fX = 0; shape[13].fY = im;
683 shape[14].fX = 0; shape[14].fY = 0;
686 shape.reserve(3 * 3);
687 addTriangle( -im, 0, -im2, im);
688 addTriangle( im2, im, im, 0);
689 addTriangle( im2, -im, -im2, -im);
693 shape[0].fX = 0; shape[0].fY = 0;
694 shape[1].fX = im2; shape[1].fY = im;
695 shape[2].fX = im; shape[2].fY = im2;
696 shape[3].fX = 0; shape[3].fY = 0;
697 shape[4].fX = im; shape[4].fY = -im2;
698 shape[5].fX = im2; shape[5].fY = -im;
699 shape[6].fX = 0; shape[6].fY = 0;
700 shape[7].fX = -im2; shape[7].fY = -im;
701 shape[8].fX = -im; shape[8].fY = -im2;
702 shape[9].fX = 0; shape[9].fY = 0;
703 shape[10].fX = -im; shape[10].fY = im2;
704 shape[11].fX = -im2; shape[11].fY = im;
705 shape[12].fX = 0; shape[12].fY = 0;
708 shape.reserve(4 * 3);
709 addTriangle( -im, im2, -im2, im);
710 addTriangle( im2, im, im, im2);
711 addTriangle( im, -im2, im2, -im);
712 addTriangle(-im2, -im, -im, -im2);
716 const auto im4 = std::round(markerSizeReduced);
717 shape.reserve(8 * 3);
718 addTriangle( 0, im, -im4, im4);
719 addTriangle(-im4, im4, -im, 0);
720 addTriangle( -im, 0, -im4, -im4);
721 addTriangle(-im4, -im4, 0, -im);
722 addTriangle( 0, -im, im4, -im4);
723 addTriangle( im4, -im4, im, 0);
724 addTriangle( im, 0, im4, im4);
725 addTriangle( im4, im4, 0, im);
729 const auto im4 = std::round(markerSizeReduced);
731 shape[0].fX= 0; shape[0].fY= im;
732 shape[1].fX= -im4; shape[1].fY= im4;
733 shape[2].fX = -im; shape[2].fY = 0;
734 shape[3].fX = -im4; shape[3].fY = -im4;
735 shape[4].fX = 0; shape[4].fY = -im;
736 shape[5].fX = im4; shape[5].fY = -im4;
737 shape[6].fX = im; shape[6].fY = 0;
738 shape[7].fX= im4; shape[7].fY= im4;
739 shape[8].fX= 0; shape[8].fY= im;
744 shape[0].fX = 0; shape[0].fY = 0;
745 shape[1].fX = im2; shape[1].fY = im;
746 shape[2].fX = -im2; shape[2].fY = im;
747 shape[3].fX = im2; shape[3].fY = -im;
748 shape[4].fX = -im2; shape[4].fY = -im;
749 shape[5].fX = 0; shape[5].fY = 0;
750 shape[6].fX = im; shape[6].fY = im2;
751 shape[7].fX = im; shape[7].fY = -im2;
752 shape[8].fX = -im; shape[8].fY = im2;
753 shape[9].fX = -im; shape[9].fY = -im2;
754 shape[10].fX = 0; shape[10].fY = 0;
757 shape.reserve(4 * 3);
758 addTriangle(-im2, im, im2, im);
759 addTriangle( im, im2, im, -im2);
760 addTriangle( im2, -im, -im2, -im);
761 addTriangle( -im, -im2, -im, im2);
765 shape.reserve(6 * 3);
766 addTriangle(-im2, 0, -im, im2, -im2, im);
767 addTriangle(-im2, 0, -im2, im, 0, im2);
768 addTriangle(-im2, -im, -im, -im2, im2, im);
769 addTriangle(-im2, -im, im2, im, im, im2);
770 addTriangle( im2, -im, 0, -im2, im2, 0);
771 addTriangle( im2, -im, im2, 0, im,-im2);
776 shape[0].fX = 0; shape[0].fY = im2;
777 shape[1].fX = -im2; shape[1].fY = im;
778 shape[2].fX = -im; shape[2].fY = im2;
779 shape[3].fX = -im2; shape[3].fY = 0;
780 shape[4].fX = -im; shape[4].fY = -im2;
781 shape[5].fX = -im2; shape[5].fY = -im;
782 shape[6].fX = 0; shape[6].fY = -im2;
783 shape[7].fX = im2; shape[7].fY = -im;
784 shape[8].fX = im; shape[8].fY = -im2;
785 shape[9].fX = im2; shape[9].fY = 0;
786 shape[10].fX = im; shape[10].fY = im2;
787 shape[11].fX = im2; shape[11].fY = im;
788 shape[12].fX = 0; shape[12].fY = im2;
791 shape.reserve(8 * 3);
792 addTriangle( -im2, 0, -im, im2, -im2, im);
793 addTriangle( -im2, 0, -im2, im, 0, im2);
794 addTriangle( im2, 0, 0, im2, im2, im);
795 addTriangle( im2, 0, im2, im, im, im2);
796 addTriangle( -im2, -im, -im, -im2, -im2, 0);
797 addTriangle( -im2, -im, -im2, 0, 0, -im2);
798 addTriangle( im2, -im, 0, -im2, im2, 0);
799 addTriangle( im2, -im, im2, 0, im, -im2);
802 const auto imx = std::round(1.33*markerSizeReduced);
803 shape.reserve(4 * 2 * 3);
804 addSquare(-imx, imx, imx, im);
805 addSquare( imx, -imx, im, imx);
806 addSquare( -im, -imx,-imx, imx);
807 addSquare(-imx, -im, imx, -imx);