Go to the documentation of this file.
36 #ifndef LVR2_ALGORITHM_MATERIALIZER_H_
37 #define LVR2_ALGORITHM_MATERIALIZER_H_
39 #include <boost/shared_ptr.hpp>
40 #include <boost/smart_ptr/make_shared.hpp>
41 #include <boost/optional.hpp>
59 #include <unordered_map>
60 #include <unordered_set>
72 template<
typename BaseVecT>
73 struct MaterializerResult
79 boost::optional<StableVector<TextureHandle, Texture>>
m_textures;
85 boost::optional<std::unordered_map<BaseVecT, std::vector<float>>>
m_keypoints;
111 std::unordered_map<BaseVecT, std::vector<float>> keypoints
130 template<
typename BaseVecT>
199 #include "lvr2/algorithm/Materializer.tcc"
const FaceMap< Normal< typename BaseVecT::CoordType > > & m_normals
Normals.
void saveTextures()
Saves the textures by calling the saveTextures() method of the texturizer.
const PointsetSurface< BaseVecT > & m_surface
Point cloud.
MaterializerResult(DenseClusterMap< Material > clusterMaterials, StableVector< TextureHandle, Texture > textures, SparseVertexMap< ClusterTexCoordMapping > vertexTexCoords, std::unordered_map< BaseVecT, std::vector< float >> keypoints)
Constructor.
Interface for attribute maps.
MaterializerResult(DenseClusterMap< Material > clusterMaterials)
Constructor.
Result struct for the materializer.
DenseClusterMap< Material > m_clusterMaterials
Materials for each cluster.
boost::optional< Texturizer< BaseVecT > & > m_texturizer
Texturizer.
A map with constant lookup overhead using small-ish integer-keys.
Class that performs texture-related tasks.
A vector which guarantees stable indices and features O(1) deletion.
boost::optional< SparseVertexMap< ClusterTexCoordMapping > > m_vertexTexCoords
Cluster texture coordinates for each vertex.
An interface class to wrap all functionality that is needed to generate a surface approximation from ...
boost::optional< StableVector< TextureHandle, Texture > > m_textures
A stable vector of textures. each texture is identified by a tex.-handle.
void setTexturizer(Texturizer< BaseVecT > &texturizer)
Sets the texturizer.
const BaseMesh< BaseVecT > & m_mesh
Mesh.
MaterializerResult< BaseVecT > generateMaterials()
Generates materials.
Materializer(const BaseMesh< BaseVecT > &mesh, const ClusterBiMap< FaceHandle > &cluster, const FaceMap< Normal< typename BaseVecT::CoordType >> &normals, const PointsetSurface< BaseVecT > &surface)
Constructor.
Interface for triangle-meshes with adjacency information.
const ClusterBiMap< FaceHandle > & m_cluster
Clusters.
A map of clusters, which also saves a back-reference from handle to cluster.
Class for calculating materials for each cluster of a given mesh.
boost::optional< std::unordered_map< BaseVecT, std::vector< float > > > m_keypoints
Keypoints.
lvr2
Author(s): Thomas Wiemann
, Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:24