generateCurve method
AdjustableCurve2D
generateCurve(
- double distanceBetweenPoints,
- Segment segment,
- SpacePosition spacePosition
Implementation
AdjustableCurve2D generateCurve(double distanceBetweenPoints, Segment segment, SpacePosition spacePosition) {
for(var i=0; i < generationAttemntsLimit; i++) {
Array startPoint = getRandomStartPoint(segment);
List<Array> coordinates = generateCoordinates(startPoint, spacePosition, distanceBetweenPoints);
if (!isCurveIntersectingBorders(coordinates)) {
logger.d('Line generated in ${i+1} attempts/-s');
return AdjustableCurve2D(coordinates[0], coordinates[1]);
}
}
logger.d('Problems with random line generation. Returning dummy line.');
return generateDummyCurve(distanceBetweenPoints);
}