supereight2
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
mesh.hpp File Reference
#include <Eigen/StdVector>
#include <array>
#include <cstdint>
#include <map>
#include <optional>
#include <se/common/eigen_utils.hpp>
#include <se/common/math_util.hpp>
#include <se/common/rgb.hpp>
#include <se/map/utils/setup_util.hpp>
#include <se/map/utils/type_util.hpp>
#include <vector>
#include "impl/mesh_impl.hpp"
Include dependency graph for mesh.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  se::MeshFaceColourData< NumVertexes, ColB >
 
struct  se::MeshFaceColourData< NumVertexes, Colour::On >
 
struct  se::MeshFaceIdData< NumVertexes, IdB >
 
struct  se::MeshFaceIdData< NumVertexes, Id::On >
 
struct  se::MeshFace< NumVertexes, ColB, IdB >
 
struct  se::id::IdInfo
 
struct  se::meshing::Vertex
 
class  se::meshing::VertexIndexMesh< NumFaceVertices >
 

Namespaces

namespace  se
 Helper wrapper to allocate and de-allocate octants in the octree.
 
namespace  se::id
 
namespace  se::meshing
 

Typedefs

template<typename FaceT >
using se::Mesh = std::vector< FaceT >
 Meshes are represented as lists of faces.
 
template<Colour ColB = Colour::Off, Id IdB = Id::Off>
using se::Triangle = MeshFace< 3, ColB, IdB >
 
template<Colour ColB = Colour::Off, Id IdB = Id::Off>
using se::TriangleMesh = Mesh< Triangle< ColB, IdB > >
 
template<Colour ColB = Colour::Off, Id IdB = Id::Off>
using se::Quad = MeshFace< 4, ColB, IdB >
 
template<Colour ColB = Colour::Off, Id IdB = Id::Off>
using se::QuadMesh = Mesh< Quad< ColB, IdB > >
 

Functions

template<Colour ColB, Id IdB>
TriangleMesh< ColB, IdBse::quad_to_triangle_mesh (const QuadMesh< ColB, IdB > &quad_mesh)
 Return a triangle mesh containig two triangles for each face of quad_mesh.
 
template<typename FaceT , typename = std::enable_if_t<FaceT::id_ == Id::On>>
std::map< id_t, IdInfose::id::mesh_id_info (const Mesh< FaceT > &mesh)
 Return information about all identifiers in mesh.
 
template<typename FaceT , typename = std::enable_if_t<FaceT::id_ == Id::On>>
std::map< id_t, Mesh< FaceT > > se::id::extract_id_meshes (const Mesh< FaceT > &mesh)
 Extract per-identifier meshes for all identifiers in mesh.
 
template<typename FaceT , typename ExtractIdF , typename = std::enable_if_t<FaceT::id_ == Id::On>>
std::map< id_t, Mesh< FaceT > > se::id::extract_id_meshes (const Mesh< FaceT > &mesh, ExtractIdF extract_id)
 Extract per-identifier meshes for all identifiers in mesh for whose IDs extract_id returns true.
 
template<typename FaceT , typename = std::enable_if_t<FaceT::id_ == Id::On>>
void se::id::colour_mesh_by_id (Mesh< FaceT > &mesh, const bool enable_shading=true, const Eigen::Vector3f &light_dir_W=Eigen::Vector3f(-1, 0, -1), const RGB ambient=RGB{0x40, 0x40, 0x40})
 Colour the faces of mesh by their ID.