1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
/*
 * File: geometry.rs
 * Project: src
 * Created Date: 22/05/2020
 * Author: Shun Suzuki
 * -----
 * Last Modified: 22/05/2020
 * Modified By: Shun Suzuki (suzuki@hapis.k.u-tokyo.ac.jp)
 * -----
 * Copyright (c) 2020 Hapis Lab. All rights reserved.
 *
 */

use crate::Vector3;

/// Geometry contains the position and direction of the AUTD device, that is, the position and direction of all the transducers that make up the AUTD.
pub trait Geometry {
    fn num_devices(&self) -> usize;
    fn position(&self, transducer_id: usize) -> Vector3;
    fn direction(&self, transducer_id: usize) -> Vector3;
}