use crate::genomic::cortical_area::descriptors::NeuronVoxelCoordinate;
#[derive(Clone, Debug, PartialEq)]
pub struct NeuronVoxelXYZP {
pub neuron_voxel_coordinate: NeuronVoxelCoordinate,
pub potential: f32 }
impl NeuronVoxelXYZP {
pub const NUMBER_BYTES_PER_NEURON: usize = (size_of::<u32>() * 3) + size_of::<f32>();
pub fn new(x: u32, y: u32, z: u32, potential: f32) -> Self {
NeuronVoxelXYZP {
neuron_voxel_coordinate: NeuronVoxelCoordinate::new(x, y, z),
potential
}
}
pub fn as_tuple(&self) -> (u32, u32, u32, f32) {
(self.neuron_voxel_coordinate.x, self.neuron_voxel_coordinate.y, self.neuron_voxel_coordinate.z, self.potential)
}
}
impl std::fmt::Display for NeuronVoxelXYZP {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
let s = format!("NeuronVoxelXYZP({}, {}, {}, {})", self.neuron_voxel_coordinate.x, self.neuron_voxel_coordinate.y, self.neuron_voxel_coordinate.z, self.potential);
write!(f, "{}", s)
}
}