de-virtualize GenericSim
this should let us fold the GenericSim and MaterialSim traits together.
This commit is contained in:
@@ -14,18 +14,14 @@ fn main() {
|
||||
let mut cache = LoaderCache::new(loader, 2, 2);
|
||||
|
||||
let mut frame = cache.load_first();
|
||||
for meas in frame.dyn_measurements() {
|
||||
for key in meas.key_value(&**frame).keys() {
|
||||
print!("\"{}\",", key);
|
||||
}
|
||||
for meas in frame.measurements() {
|
||||
print!("\"{}\",", meas.key());
|
||||
}
|
||||
println!("");
|
||||
|
||||
loop {
|
||||
for meas in frame.dyn_measurements() {
|
||||
for value in meas.key_value(&**frame).values() {
|
||||
print!("\"{}\",", value);
|
||||
}
|
||||
for meas in frame.measurements() {
|
||||
print!("\"{}\",", meas.value());
|
||||
}
|
||||
println!("");
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
//! Post-processing tools
|
||||
use coremem::meas::{self, AbstractMeasurement};
|
||||
use coremem::meas;
|
||||
use coremem::render::{ColorTermRenderer, Renderer as _, RenderConfig, SerializedFrame};
|
||||
use coremem::sim::{GenericSim, StaticSim};
|
||||
|
||||
@@ -40,9 +40,6 @@ impl Frame {
|
||||
pub fn measurements(&self) -> &[meas::Evaluated] {
|
||||
&*self.data.measurements
|
||||
}
|
||||
pub fn dyn_measurements(&self) -> Vec<&dyn AbstractMeasurement> {
|
||||
self.measurements().into_iter().map(|m| m as &dyn AbstractMeasurement).collect()
|
||||
}
|
||||
pub fn path(&self) -> &Path {
|
||||
&*self.path
|
||||
}
|
||||
@@ -277,7 +274,10 @@ impl Viewer {
|
||||
}
|
||||
pub fn render(&self) {
|
||||
self.renderer.render_z_slice(
|
||||
&**self.viewing, self.z, &*self.viewing.dyn_measurements(), self.render_config
|
||||
&**self.viewing,
|
||||
self.z,
|
||||
&*meas::as_dyn_measurements(self.viewing.measurements()),
|
||||
self.render_config,
|
||||
);
|
||||
}
|
||||
pub fn render_config(&mut self) -> &mut RenderConfig {
|
||||
|
Reference in New Issue
Block a user