Mercurial > hg > orthanc-stone
comparison OrthancStone/Sources/Scene2D/AnnotationsSceneLayer.cpp @ 1986:e29783c92419
refactoring
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 31 Oct 2022 15:20:18 +0100 |
parents | bb307007f8e2 |
children | a595776232bb |
comparison
equal
deleted
inserted
replaced
1985:bb307007f8e2 | 1986:e29783c92419 |
---|---|
1619 ProbingAnnotation(that, units), | 1619 ProbingAnnotation(that, units), |
1620 handle1_(AddTypedPrimitive<Handle>(new Handle(*this, Handle::Shape_Square, p1))), | 1620 handle1_(AddTypedPrimitive<Handle>(new Handle(*this, Handle::Shape_Square, p1))), |
1621 handle2_(AddTypedPrimitive<Handle>(new Handle(*this, Handle::Shape_Square, p2))), | 1621 handle2_(AddTypedPrimitive<Handle>(new Handle(*this, Handle::Shape_Square, p2))), |
1622 segment1_(AddTypedPrimitive<Segment>(new Segment(*this, p1.GetX(), p1.GetY(), p2.GetX(), p1.GetY()))), | 1622 segment1_(AddTypedPrimitive<Segment>(new Segment(*this, p1.GetX(), p1.GetY(), p2.GetX(), p1.GetY()))), |
1623 segment2_(AddTypedPrimitive<Segment>(new Segment(*this, p2.GetX(), p1.GetY(), p2.GetX(), p2.GetY()))), | 1623 segment2_(AddTypedPrimitive<Segment>(new Segment(*this, p2.GetX(), p1.GetY(), p2.GetX(), p2.GetY()))), |
1624 segment3_(AddTypedPrimitive<Segment>(new Segment(*this, p2.GetX(), p2.GetY(), p1.GetX(), p2.GetY()))), | 1624 segment3_(AddTypedPrimitive<Segment>(new Segment(*this, p1.GetX(), p2.GetY(), p2.GetX(), p2.GetY()))), |
1625 segment4_(AddTypedPrimitive<Segment>(new Segment(*this, p1.GetX(), p2.GetY(), p1.GetX(), p1.GetY()))), | 1625 segment4_(AddTypedPrimitive<Segment>(new Segment(*this, p1.GetX(), p1.GetY(), p1.GetX(), p2.GetY()))), |
1626 label_(AddTypedPrimitive<Text>(new Text(that, *this))) | 1626 label_(AddTypedPrimitive<Text>(new Text(that, *this))) |
1627 { | 1627 { |
1628 TextSceneLayer content; | 1628 TextSceneLayer content; |
1629 content.SetAnchor(BitmapAnchor_CenterLeft); | 1629 content.SetAnchor(BitmapAnchor_CenterLeft); |
1630 content.SetBorder(10); | 1630 content.SetBorder(10); |
1658 const Scene2D& scene) ORTHANC_OVERRIDE | 1658 const Scene2D& scene) ORTHANC_OVERRIDE |
1659 { | 1659 { |
1660 if (&primitive == &handle1_ || | 1660 if (&primitive == &handle1_ || |
1661 &primitive == &handle2_) | 1661 &primitive == &handle2_) |
1662 { | 1662 { |
1663 const double x1 = handle1_.GetCenter().GetX(); | 1663 double x1 = handle1_.GetCenter().GetX(); |
1664 const double y1 = handle1_.GetCenter().GetY(); | 1664 double y1 = handle1_.GetCenter().GetY(); |
1665 const double x2 = handle2_.GetCenter().GetX(); | 1665 double x2 = handle2_.GetCenter().GetX(); |
1666 const double y2 = handle2_.GetCenter().GetY(); | 1666 double y2 = handle2_.GetCenter().GetY(); |
1667 | |
1667 segment1_.SetPosition(x1, y1, x2, y1); | 1668 segment1_.SetPosition(x1, y1, x2, y1); |
1668 segment2_.SetPosition(x2, y1, x2, y2); | 1669 segment2_.SetPosition(x2, y1, x2, y2); |
1669 segment3_.SetPosition(x2, y2, x1, y2); | 1670 segment3_.SetPosition(x1, y2, x2, y2); |
1670 segment4_.SetPosition(x1, y2, x1, y1); | 1671 segment4_.SetPosition(x1, y1, x1, y2); |
1671 } | 1672 } |
1672 else if (&primitive == &segment1_) | 1673 else if (&primitive == &segment1_ || |
1673 { | 1674 &primitive == &segment2_ || |
1674 const double x1 = segment1_.GetPosition1().GetX(); | 1675 &primitive == &segment3_ || |
1675 const double y1 = segment1_.GetPosition1().GetY(); | 1676 &primitive == &segment4_) |
1676 const double x2 = segment1_.GetPosition2().GetX(); | 1677 { |
1677 | 1678 const Segment& segment = dynamic_cast<const Segment&>(primitive); |
1678 const double y2 = y1 + handle2_.GetCenter().GetY() - handle1_.GetCenter().GetY(); | 1679 double x1 = segment.GetPosition1().GetX(); |
1679 //const double y2 = handle2_.GetCenter().GetY(); | 1680 double y1 = segment.GetPosition1().GetY(); |
1681 double x2 = segment.GetPosition2().GetX(); | |
1682 double y2 = segment.GetPosition2().GetY(); | |
1683 | |
1684 if (&primitive == &segment1_) | |
1685 { | |
1686 y2 = y1 + handle2_.GetCenter().GetY() - handle1_.GetCenter().GetY(); | |
1687 } | |
1688 else if (&primitive == &segment2_) | |
1689 { | |
1690 x1 = x2 + handle1_.GetCenter().GetX() - handle2_.GetCenter().GetX(); | |
1691 } | |
1692 else if (&primitive == &segment3_) | |
1693 { | |
1694 y1 = y2 + handle1_.GetCenter().GetY() - handle2_.GetCenter().GetY(); | |
1695 } | |
1696 else if (&primitive == &segment4_) | |
1697 { | |
1698 x2 = x1 + handle2_.GetCenter().GetX() - handle1_.GetCenter().GetX(); | |
1699 } | |
1700 else | |
1701 { | |
1702 throw Orthanc::OrthancException(Orthanc::ErrorCode_InternalError); | |
1703 } | |
1680 | 1704 |
1681 handle1_.SetCenter(x1, y1); | 1705 handle1_.SetCenter(x1, y1); |
1682 handle2_.SetCenter(x2, y2); | 1706 handle2_.SetCenter(x2, y2); |
1683 segment2_.SetPosition(x2, y1, x2, y2); | 1707 |
1684 segment3_.SetPosition(x2, y2, x1, y2); | 1708 if (&primitive != &segment1_) |
1685 segment4_.SetPosition(x1, y2, x1, y1); | 1709 { |
1686 } | 1710 segment1_.SetPosition(x1, y1, x2, y1); |
1687 else if (&primitive == &segment2_) | 1711 } |
1688 { | 1712 |
1689 const double y1 = segment2_.GetPosition1().GetY(); | 1713 if (&primitive != &segment2_) |
1690 const double x2 = segment2_.GetPosition2().GetX(); | 1714 { |
1691 const double y2 = segment2_.GetPosition2().GetY(); | 1715 segment2_.SetPosition(x2, y1, x2, y2); |
1692 | 1716 } |
1693 const double x1 = x2 + handle1_.GetCenter().GetX() - handle2_.GetCenter().GetX(); | 1717 |
1694 //const double x1 = handle1_.GetCenter().GetX(); | 1718 if (&primitive != &segment3_) |
1695 | 1719 { |
1696 handle1_.SetCenter(x1, y1); | 1720 segment3_.SetPosition(x1, y2, x2, y2); |
1697 handle2_.SetCenter(x2, y2); | 1721 } |
1698 segment1_.SetPosition(x1, y1, x2, y1); | 1722 |
1699 segment3_.SetPosition(x2, y2, x1, y2); | 1723 if (&primitive != &segment4_) |
1700 segment4_.SetPosition(x1, y2, x1, y1); | 1724 { |
1701 } | 1725 segment4_.SetPosition(x1, y1, x1, y2); |
1702 else if (&primitive == &segment3_) | 1726 } |
1703 { | |
1704 const double x1 = segment3_.GetPosition2().GetX(); | |
1705 const double x2 = segment3_.GetPosition1().GetX(); | |
1706 const double y2 = segment3_.GetPosition2().GetY(); | |
1707 | |
1708 const double y1 = y2 + handle1_.GetCenter().GetY() - handle2_.GetCenter().GetY(); | |
1709 //const double y1 = handle1_.GetCenter().GetY(); | |
1710 | |
1711 handle1_.SetCenter(x1, y1); | |
1712 handle2_.SetCenter(x2, y2); | |
1713 segment1_.SetPosition(x1, y1, x2, y1); | |
1714 segment2_.SetPosition(x2, y1, x2, y2); | |
1715 segment4_.SetPosition(x1, y2, x1, y1); | |
1716 } | |
1717 else if (&primitive == &segment4_) | |
1718 { | |
1719 const double x1 = segment4_.GetPosition2().GetX(); | |
1720 const double y1 = segment4_.GetPosition2().GetY(); | |
1721 const double y2 = segment4_.GetPosition1().GetY(); | |
1722 | |
1723 const double x2 = x1 + handle2_.GetCenter().GetX() - handle1_.GetCenter().GetX(); | |
1724 //const double x2 = handle2_.GetCenter().GetX(); | |
1725 | |
1726 handle1_.SetCenter(x1, y1); | |
1727 handle2_.SetCenter(x2, y2); | |
1728 segment1_.SetPosition(x1, y1, x2, y1); | |
1729 segment2_.SetPosition(x2, y1, x2, y2); | |
1730 segment3_.SetPosition(x2, y2, x1, y2); | |
1731 } | 1727 } |
1732 else | 1728 else |
1733 { | 1729 { |
1734 throw Orthanc::OrthancException(Orthanc::ErrorCode_NotImplemented); | 1730 throw Orthanc::OrthancException(Orthanc::ErrorCode_NotImplemented); |
1735 } | 1731 } |