pub trait Interaction {
Show 13 methods
// Required methods
fn is_surface_interaction(&self) -> bool;
fn is_medium_interaction(&self) -> bool;
fn spawn_ray(&self, d: &Vector3f) -> Ray;
fn get_common(&self) -> &InteractionCommon;
fn get_p(&self) -> &Point3f;
fn get_time(&self) -> Float;
fn get_p_error(&self) -> &Vector3f;
fn get_wo(&self) -> &Vector3f;
fn get_n(&self) -> &Normal3f;
fn get_medium_interface(&self) -> Option<Arc<MediumInterface>>;
fn get_bsdf(&self) -> Option<&Bsdf>;
fn get_shading_n(&self) -> Option<&Normal3f>;
fn get_phase(&self) -> Option<Arc<HenyeyGreenstein>>;
}