[][src]Trait pbrt::core::shape::Shape

pub trait Shape {
    fn object_bound(&self) -> Bounds3f;
fn world_bound(&self) -> Bounds3f;
fn intersect(&self, r: &Ray) -> Option<(SurfaceInteraction, Float)>;
fn intersect_p(&self, r: &Ray) -> bool;
fn get_reverse_orientation(&self) -> bool;
fn get_transform_swaps_handedness(&self) -> bool;
fn area(&self) -> Float;
fn sample(&self, u: &Point2f, pdf: &mut Float) -> InteractionCommon;
fn sample_with_ref_point(
        &self,
        iref: &InteractionCommon,
        u: &Point2f,
        pdf: &mut Float
    ) -> InteractionCommon;
fn pdf_with_ref_point(&self, iref: &dyn Interaction, wi: &Vector3f) -> Float; fn pdf(&self, _iref: &InteractionCommon) -> Float { ... } }

Required Methods

Provided Methods

Implementors

impl Shape for Curve
[src]

impl Shape for Cylinder
[src]

impl Shape for Disk
[src]

impl Shape for Sphere
[src]

impl Shape for Triangle
[src]