11#ifndef EBGEOMETRY_PLY_HPP
12#define EBGEOMETRY_PLY_HPP
35 static_assert(std::is_floating_point_v<T>,
"PLY<T>: T must be a floating-point type");
114 [[
nodiscard]] std::vector<std::vector<
size_t>>&
216#include "EBGeometry_PLYImplem.hpp"
Declaration of 2D and 3D point/vector classes with templated precision. Used with DCEL tools.
Class for storing Stanford PLY meshes.
Definition EBGeometry_PLY.hpp:34
std::map< std::string, std::vector< T > > m_faceProperties
Face properties.
Definition EBGeometry_PLY.hpp:211
std::vector< std::vector< size_t > > m_facets
Faces – each entry in the outer vector contains the indices defining one face.
Definition EBGeometry_PLY.hpp:201
std::string & getID() noexcept
Get the identifier for this object.
std::map< std::string, std::vector< T > > m_vertexProperties
Vertex properties.
Definition EBGeometry_PLY.hpp:206
std::vector< T > & getFaceProperties(const std::string a_property)
Get the face properties.
std::shared_ptr< EBGeometry::DCEL::MeshT< T, Meta > > convertToDCEL() const noexcept
Turn the PLY mesh into a DCEL mesh.
std::vector< Vec3T< T > > & getVertexCoordinates() noexcept
Get the vertex coordinates.
std::string m_id
PLY object ID.
Definition EBGeometry_PLY.hpp:191
void setFaceProperties(const std::string a_property, std::vector< T > a_data)
Set face properties.
void setVertexProperties(const std::string a_property, std::vector< T > a_data)
Set vertex properties.
std::vector< std::vector< size_t > > & getFacets() noexcept
Get the face indices.
std::vector< Vec3T< T > > m_vertexCoordinates
Vertex coordinates.
Definition EBGeometry_PLY.hpp:196
PLY() noexcept=default
Default constructor. Initializes empty member data holder.
std::vector< T > & getVertexProperties(const std::string a_property)
Get the vertex properties.
Three-dimensional vector class with arithmetic operators.
Definition EBGeometry_Vec.hpp:225
Namespace containing all of EBGeometry's functionality.
Definition EBGeometry_AnalyticDistanceFunctions.hpp:31