|
void | point_cloud_to_normal (se::Image< Eigen::Vector3f > &normals, const se::Image< Eigen::Vector3f > &point_cloud, const bool is_lhc=false) |
|
template<typename MapT > |
std::enable_if_t< MapT::fld_==se::Field::Occupancy, std::optional< Eigen::Vector4f > > | raycast (MapT &map, const typename MapT::OctreeType &octree, const Eigen::Vector3f &ray_origin_W, const Eigen::Vector3f &ray_dir_W, const float t_near, const float t_far, const float mu, const float step, const float largestep) |
|
template<typename MapT > |
std::enable_if_t< MapT::fld_==se::Field::TSDF, std::optional< Eigen::Vector4f > > | raycast (MapT &map, const typename MapT::OctreeType &octree, const Eigen::Vector3f &ray_origin_W, const Eigen::Vector3f &ray_dir_W, const float t_near, const float t_far, const float mu, const float step, const float largestep) |
|
template<typename MapT , typename SensorT > |
void | raycast_volume (const MapT &map, const SensorT &sensor, const Eigen::Isometry3f &T_WS, se::Image< Eigen::Vector3f > &surface_point_cloud_W, se::Image< Eigen::Vector3f > &surface_normals_W, se::Image< int8_t > &surface_scale, se::Image< colour_t > *surface_colour=nullptr) |
|
template<typename GetDiffuseColourF > |
void | render_volume (se::Image< RGBA > &render, const se::Image< Eigen::Vector3f > &surface_points_W, const se::Image< Eigen::Vector3f > &surface_normals_W, const GetDiffuseColourF get_diffuse_colour, const Eigen::Vector3f &light_source_W=Eigen::Vector3f::Zero(), const RGB ambient_light=RGB{0x1A, 0x1A, 0x1A}) |
| Render the surface represented by surface_points_W and surface_normals_W into render .
|
|
void | render_volume_scale (se::Image< RGBA > &render, const se::Image< Eigen::Vector3f > &surface_points_W, const se::Image< Eigen::Vector3f > &surface_normals_W, const se::Image< int8_t > &surface_scale, const Eigen::Vector3f &light_source_W=Eigen::Vector3f::Zero(), const RGB ambient_light=RGB{0x1A, 0x1A, 0x1A}) |
| Render the surface represented by surface_points_W and surface_normals_W into render , coloured using the scale from surface_scale .
|
|
void | render_volume_colour (se::Image< RGBA > &render, const se::Image< Eigen::Vector3f > &surface_points_W, const se::Image< Eigen::Vector3f > &surface_normals_W, const se::Image< RGB > &surface_colour, const Eigen::Vector3f &light_source_W=Eigen::Vector3f::Zero(), const RGB ambient_light=RGB{0x1A, 0x1A, 0x1A}) |
| Render the surface represented by surface_points_W and surface_normals_W into render , coloured using the colours from surface_colour .
|
|
Render the surface represented by surface_points_W
and surface_normals_W
into render
.
The colour of each point is returned by the functor get_diffuse_colour
which must have the following prototype:
A colour represented as a Red-Green-Blue tuple with 8-bits per channel.
Definition rgb.hpp:18
where pixel_index
is a linear index into surface_points_W
.
The scene is lit by a point light located at light_source_W
and an ambient light with colour ambient_light
.
Uses Gouraud shading with a simplified Phong reflection model containing only ambient and diffuse components (no specular component.