const std::shared_ptr<const ConvexCCWPolygon> translate(P p) const { return std::shared_ptr<const ConvexCCWPolygon>( new Point(P(myPoint.gX() + p.gX(), myPoint.gY() + p.gY()))); }