layout method
AnnotationLayoutResult
layout({
- required List<
ArAnnotation> annotations, - required ArSensor arSensor,
- required Position deviceLocation,
- required double width,
- required double height,
- required AnnotationLayoutConfig config,
Implementation
AnnotationLayoutResult layout({
required List<ArAnnotation> annotations,
required ArSensor arSensor,
required Position deviceLocation,
required double width,
required double height,
required AnnotationLayoutConfig config,
}) {
final status = _calculateFOV(arSensor.orientation, width, height);
var visible = _calculateDistanceAndBearingFromUser(
annotations, deviceLocation, arSensor, status);
visible = visible
.where(
(element) => element.distanceFromUser < config.maxVisibleDistance)
.toList();
visible = _visibleAnnotations(visible, arSensor.heading, status);
_transformAnnotation(visible, config);
return AnnotationLayoutResult(annotations: visible, status: status);
}