diff --git a/src/MeshTools/AbstractTool.h b/src/MeshTools/AbstractTool.h index 70eb67d82..a773df1d4 100644 --- a/src/MeshTools/AbstractTool.h +++ b/src/MeshTools/AbstractTool.h @@ -40,7 +40,7 @@ template class AbstractTool { public: /** * @brief Constructor - * @param builder %Mesh builder to operate on + * @param builder %Mesh builder to operate on */ inline AbstractTool(MeshBuilder& builder): builder(builder), vertices(builder._vertices), indices(builder._indices) {} @@ -60,10 +60,17 @@ class AbstractIndexTool { public: /** * @brief Constructor - * @param builder %Mesh builder to operate on + * @param builder %Mesh builder to operate on */ template inline AbstractIndexTool(MeshBuilder& builder): indices(builder._indices), vertexCount(builder.vertexCount()) {} + /** + * @brief Constructor + * @param indices Indices array to operate on + * @param vertexCount Vertex count + */ + inline AbstractIndexTool(std::vector& indices, unsigned int vertexCount): indices(indices), vertexCount(vertexCount) {} + protected: std::vector& indices; /**< @brief Builder indices */ const unsigned int vertexCount; /**< @brief Count of builder vertices */ diff --git a/src/MeshTools/Tipsify.h b/src/MeshTools/Tipsify.h index bd38c6168..9789bd0b5 100644 --- a/src/MeshTools/Tipsify.h +++ b/src/MeshTools/Tipsify.h @@ -30,9 +30,12 @@ See tipsify() for full documentation. */ class Tipsify: public AbstractIndexTool { public: - /** @copydoc AbstractIndexTool::AbstractIndexTool() */ + /** @copydoc AbstractIndexTool::AbstractIndexTool(MeshBuilder&) */ template inline Tipsify(MeshBuilder& builder): AbstractIndexTool(builder) {} + /** @copydoc AbstractIndexTool::AbstractIndexTool(std::vector&, unsigned int) */ + inline Tipsify(std::vector& indices, unsigned int vertexCount): AbstractIndexTool(indices, vertexCount) {} + /** * @brief Functor * @@ -77,6 +80,18 @@ template inline void tipsify(MeshBuilder& builder, size_t Tipsify(builder).run(cacheSize); } +/** +@brief %Tipsify the mesh +@param indices Indices array to operate on +@param vertexCount Vertex count +@param cacheSize Post-transform vertex cache size + +See tipsify(MeshBuilder&, size_t) for more information. +*/ +inline void tipsify(std::vector& indices, unsigned int vertexCount, size_t cacheSize) { + Tipsify(indices, vertexCount).run(cacheSize); +} + }} #endif