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