Class mesh_t

Nested Relationships

Nested Types

Class Documentation

class mesh_t

A triangular mesh.

Public Types

using tidx_t = std::uint32_t

Public Functions

mesh_t(const std::string &shape_id, const transform_d_t &to_world, std::vector<pqvec3_t> vertices, std::vector<dir3_t> normals, std::vector<vec2_t> texcoords, const std::vector<tri_indices_t> &indices, const wt_context_t &ctx)
mesh_t(mesh_t&&) = default
mesh_t(const mesh_t&) = default
mesh_t &operator=(mesh_t&&) = default
inline auto triangle_face_normal(tidx_t tidx) const noexcept
inline auto triangle_surface_area(tidx_t tidx) const noexcept
inline const surface_differentials_t &tangent_frame(tidx_t tidx) const noexcept

Tangent frame (partial derivatives of position w.r.t. uv coordinates)

inline const auto &triangle(tidx_t tidx) const noexcept
inline void flip_normals()
inline const auto &get_aabb() const noexcept
inline const auto &get_tris() const noexcept
scene::element::info_t description() const

Public Static Functions

static inline dir3_t triangle_face_normal(const triangle_t &t) noexcept
static inline auto triangle_surface_area(const triangle_t &t) noexcept
static inline const surface_differentials_t &tangent_frame(const triangle_t &t) noexcept

Tangent frame (partial derivatives of position w.r.t. uv coordinates)

struct tri_indices_t

Public Members

std::array<tidx_t, 3> idx