Trait SurfaceEvaluator

Source
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.

Required Associated Types§

Source

type Error: Error + Send + Sync + 'static

Evaluator-specific structured error.

Required Methods§

Source

fn evaluate( &self, surface: &S, u: Scalar, v: Scalar, tolerance: Tolerance, ) -> Result<Point3, Self::Error>

Position at parameters (u, v).

Source

fn normal( &self, surface: &S, u: Scalar, v: Scalar, tolerance: Tolerance, ) -> Result<Vec3, Self::Error>

Surface normal at parameters (u, v).

Implementors§