EBGeometry 1.0
Loading...
Searching...
No Matches
EBGeometry_STL.hpp
1/* EBGeometry
2 * Copyright © 2026 Robert Marskar
3 * Please refer to Copyright.txt and LICENSE in the EBGeometry root directory.
4 */
5
6#ifndef EBGeometry_STL
7#define EBGeometry_STL
8
9// Std includes
10#include <vector>
11#include <map>
12
13// Our includes
14#include "EBGeometry_Vec.hpp"
17
23template <typename T>
24class STL
25{
26public:
31
36 STL(const std::string a_id) noexcept;
37
42
46 std::string&
48
52 const std::string&
54
59 std::vector<Vec3T<T>>&
61
66 const std::vector<Vec3T<T>>&
68
73 std::vector<std::vector<size_t>>&
75
80 const std::vector<std::vector<size_t>>&
82
88 std::shared_ptr<EBGeometry::DCEL::MeshT<T, Meta>>
90
95 std::string m_id;
96
101
105 std::vector<std::vector<size_t>> m_facets;
106};
107
108#include "EBGeometry_NamespaceFooter.hpp"
109
110#include "EBGeometry_STLImplem.hpp"
111
112#endif
Declaration of a mesh class which stores a DCEL mesh (with signed distance functions)
Declaration of 2D and 3D point/vector classes with templated precision. Used with DCEL tools.
Class for storing contents of STL files.
Definition EBGeometry_STL.hpp:25
std::string & getID() noexcept
Get the identifier for this object.
std::vector< std::vector< size_t > > & getFacets() noexcept
Get the triangle facet indices.
std::vector< Vec3T< T > > m_vertexCoordinates
Vertex coordinates.
Definition EBGeometry_STL.hpp:100
std::shared_ptr< EBGeometry::DCEL::MeshT< T, Meta > > convertToDCEL() const noexcept
Turn the STL mesh into a DCEL mesh.
std::vector< Vec3T< T > > & getVertexCoordinates() noexcept
Get the vertex coordinates.
std::vector< std::vector< size_t > > m_facets
Triangle facets.
Definition EBGeometry_STL.hpp:105
std::string m_id
STL object ID.
Definition EBGeometry_STL.hpp:95
STL() noexcept
Default constructor. Initializes empty member data holder.
Three-dimensional vector class with arithmetic operators.
Definition EBGeometry_Vec.hpp:218
Namespace containing various double-connected edge list (DCEL) functionality.
Name space for all of EBGeometry.
Definition EBGeometry.hpp:23