| 1072 | } |
| 1073 | |
| 1074 | void rebuildSegmentFromPathOnly( |
| 1075 | const ClipperLib::IntPoint& start_point, |
| 1076 | const ClipperLib::IntPoint& second_point, |
| 1077 | const ClipperLib::IntPoint& second_last_point, |
| 1078 | const ClipperLib::IntPoint& end_point, |
| 1079 | PathObject* object) |
| 1080 | { |
| 1081 | MapCoord start_point_c = MapCoord::fromNative64(start_point.X, start_point.Y); |
| 1082 | MapCoord second_point_c = MapCoord::fromNative64(second_point.X, second_point.Y); |
| 1083 | MapCoord second_last_point_c = MapCoord::fromNative64(second_last_point.X, second_last_point.Y); |
| 1084 | MapCoord end_point_c = MapCoord::fromNative64(end_point.X, end_point.Y); |
| 1085 | |
| 1086 | MapCoordF polygon_start_tangent = MapCoordF(second_point_c - start_point_c); |
| 1087 | polygon_start_tangent.normalize(); |
| 1088 | MapCoordF polygon_end_tangent = MapCoordF(second_last_point_c - end_point_c); |
| 1089 | polygon_end_tangent.normalize(); |
| 1090 | |
| 1091 | double tangent_length = BEZIER_HANDLE_DISTANCE * start_point_c.distanceTo(end_point_c); |
| 1092 | object->addCoordinate(MapCoord(MapCoordF(start_point_c) + tangent_length * polygon_start_tangent)); |
| 1093 | object->addCoordinate(MapCoord((MapCoordF(end_point_c) + tangent_length * polygon_end_tangent))); |
| 1094 | object->addCoordinate(end_point_c); |
| 1095 | } |
| 1096 | |
| 1097 | void rebuildTwoIndexSegment( |
| 1098 | ClipperLib::Path::size_type start_index, |
no test coverage detected