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