Class virtual_plane_sensor_t¶
Defined in File virtual_plane_sensor.hpp
Inheritance Relationships¶
Base Types¶
public wt::sensor::film_backed_sensor_t< 2 >
(Template Class film_backed_sensor_t)public wt::sensor::virtual_coverage_sensor_t
(Class virtual_coverage_sensor_t)
Class Documentation¶
-
class virtual_plane_sensor_t : public wt::sensor::film_backed_sensor_t<2>, public wt::sensor::virtual_coverage_sensor_t¶
A two-dimensional virtual plane sensor. Sensor consists of a virtual plane positioned in space, and the energy that falls upon its front face (as defined by its normal) is recorded on the underlying film’s elements. Useful for signal coverage simulations.
Public Functions
-
virtual_plane_sensor_t(const wt_context_t &ctx, std::string id, const transform_t &transform, pqvec2_t sensor_extent, film_t film, std::uint32_t samples_per_element, bool ray_trace, std::optional<f_t> requested_tan_alpha) noexcept¶
-
virtual_plane_sensor_t(virtual_plane_sensor_t&&) = default¶
-
inline const auto &frame() const noexcept¶
-
inline const auto &extent() const noexcept¶
Returns the sensor’s extent.
-
inline auto area() const noexcept¶
Returns the sensor’s area.
-
inline auto element_extent() const noexcept¶
Returns a sensor element’s extent.
-
inline auto centre() const noexcept¶
-
inline virtual vec3u32_t sensor_elements() const noexcept override¶
Total number of sensor elements (e.g., pixels), per dimension. Returns 1 for unused dimensions.
-
inline virtual pqvec3_t position_for_element(const sensor::sensor_element_sample_t &element) const noexcept override¶
Returns the world position of an element on this virtual sensor.
- Parameters:
element – sensor element id and offset
-
inline virtual sensor::sensor_element_sample_t element_for_position(const pqvec3_t &wp) const noexcept override¶
Returns the film element for a world position on this virtual sensor.
-
inline auto sensor_area() const noexcept¶
Returns the sensor physical area.
-
inline virtual bool is_delta_position() const noexcept override¶
-
inline virtual bool is_delta_direction() const noexcept override¶
-
inline beam::sourcing_geometry_t sourcing_geometry(const wavenumber_t k) const noexcept¶
-
inline virtual beam::phase_space_extent_t sourcing_beam_extent(const wavenumber_t k) const noexcept override¶
Returns the beam phase-space extent for sourced beams from this sensor for a given wavenumber.
-
inline importance_beam_t Se(const ray_t &r, const wavenumber_t k) const noexcept¶
-
virtual sensor_sample_t sample(sampler::sampler_t &sampler, const vec3u32_t &sensor_element, const wavenumber_t k) const noexcept override¶
Samples a time-reversed beam (“importance”) around the specified film position.
- Parameters:
element – sensor pixel to sample from
k – wavenumber
-
virtual sensor_direct_sample_t sample_direct(sampler::sampler_t &sampler, const pqvec3_t &wp, const wavenumber_t k) const noexcept override¶
Samples a direct connection to a world position.
- Parameters:
wp – world position
k – wavenumber
-
virtual std::optional<sensor_direct_connection_t> Si(const spectral_radiant_flux_beam_t &beam, const pqrange_t<> &range) const noexcept override¶
Makes a direct connection to an incident beam.
- Parameters:
beam – incident beam
range – range from beam’s origin over which a connection may be made
-
virtual area_sampling_pd_t pdf_position(const pqvec3_t &p) const noexcept override¶
Sampling PDF of a sensor position.
- Parameters:
p – position
-
virtual solid_angle_sampling_pd_t pdf_direction(const pqvec3_t &p, const dir3_t &dir) const noexcept override¶
Sampling PDF of a direction.
- Parameters:
p – sensor position
dir – direction
Public Static Functions
-
static std::shared_ptr<virtual_plane_sensor_t> load(std::string id, scene::loader::loader_t *loader, const scene::loader::node_t &node, const wt::wt_context_t &context)¶
Friends
- friend class wt::scene_t
-
virtual_plane_sensor_t(const wt_context_t &ctx, std::string id, const transform_t &transform, pqvec2_t sensor_extent, film_t film, std::uint32_t samples_per_element, bool ray_trace, std::optional<f_t> requested_tan_alpha) noexcept¶