pub trait SurfaceEvaluator<S>:
Debug
+ Send
+ Sync {
type Error: Error + Send + Sync + 'static;
// Required methods
fn evaluate(
&self,
surface: &S,
u: f64,
v: f64,
tolerance: Tolerance,
) -> Result<DVec3, Self::Error>;
fn normal(
&self,
surface: &S,
u: f64,
v: f64,
tolerance: Tolerance,
) -> Result<DVec3, Self::Error>;
}Expand description
Evaluate one surface representation without coupling it to a kernel.