[][src]Struct pbrt::integrators::bdpt::Vertex

pub struct Vertex<'a, 'p, 's> { /* fields omitted */ }

Methods

impl<'a, 'p, 's> Vertex<'a, 'p, 's>[src]

pub fn new(
    vertex_type: VertexType,
    ei: EndpointInteraction<'a>,
    beta: &Spectrum
) -> Self
[src]

pub fn create_camera_from_ray(
    camera: &'a Arc<dyn Camera + Send + Sync>,
    ray: &Ray,
    beta: &Spectrum
) -> Vertex<'a, 'p, 's>
[src]

pub fn create_camera_from_interaction(
    camera: &'a Arc<dyn Camera + Send + Sync>,
    it: &InteractionCommon,
    beta: &Spectrum
) -> Vertex<'a, 'p, 's>
[src]

pub fn create_surface_interaction(
    si: SurfaceInteraction<'p, 's>,
    beta: &Spectrum,
    pdf: Float,
    prev: &Vertex
) -> Vertex<'a, 'p, 's>
[src]

pub fn create_medium_interaction(
    mi: MediumInteraction,
    beta: &Spectrum,
    pdf: Float,
    prev: &Vertex
) -> Vertex<'a, 'p, 's>
[src]

pub fn create_light_interaction(
    ei: EndpointInteraction<'a>,
    beta: &Spectrum,
    pdf: Float
) -> Vertex<'a, 'p, 's>
[src]

pub fn create_light(
    light: &'a Arc<dyn Light + Send + Sync>,
    ray: &Ray,
    nl: &Normal3f,
    le: &Spectrum,
    pdf: Float
) -> Vertex<'a, 'p, 's>
[src]

pub fn p(&self) -> Point3f[src]

pub fn time(&self) -> Float[src]

pub fn ng(&self) -> Normal3f[src]

pub fn ns(&self) -> Normal3f[src]

pub fn is_on_surface(&self) -> bool[src]

pub fn f(&self, next: &Vertex, mode: TransportMode) -> Spectrum[src]

pub fn is_connectible(&self) -> bool[src]

pub fn is_light(&self) -> bool[src]

pub fn is_delta_light(&self) -> bool[src]

pub fn is_infinite_light(&self) -> bool[src]

pub fn le(&self, scene: &Scene, v: &Vertex) -> Spectrum[src]

pub fn convert_density(&self, pdf: Float, next: &Vertex) -> Float[src]

pub fn pdf(&self, scene: &Scene, prev: Option<&Vertex>, next: &Vertex) -> Float[src]

pub fn pdf_light(&self, scene: &Scene, v: &Vertex) -> Float[src]

pub fn pdf_light_origin(
    &self,
    scene: &Scene,
    v: &Vertex,
    light_distr: &Arc<Distribution1D>
) -> Float
[src]

Auto Trait Implementations

impl<'a, 'p, 's> !Send for Vertex<'a, 'p, 's>

impl<'a, 'p, 's> !Sync for Vertex<'a, 'p, 's>

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> SetParameter for T[src]

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
    T: Parameter<Self>, 
[src]

Sets value as a parameter of self.