Browse Source

New namespace and base class for mesh tools.

pull/279/head
Vladimír Vondruš 15 years ago
parent
commit
79a36bd373
  1. 54
      src/MeshTools/AbstractTool.h
  2. 4
      src/MeshTools/CMakeLists.txt

54
src/MeshTools/AbstractTool.h

@ -0,0 +1,54 @@
#ifndef Magnum_MeshTools_AbstractTool_h
#define Magnum_MeshTools_AbstractTool_h
/*
Copyright © 2010, 2011, 2012 Vladimír Vondruš <mosra@centrum.cz>
This file is part of Magnum.
Magnum is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License version 3
only, as published by the Free Software Foundation.
Magnum is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License version 3 for more details.
*/
/** @file
* @brief Class Magnum::MeshTools::AbstractTool
*/
#include "MeshBuilder.h"
namespace Magnum {
/**
* @brief %Mesh tools
*
* Tools for generating, optimizing and cleaning meshes.
*/
namespace MeshTools {
/**
* @brief Base class for mesh tools
*
* Provides access to internals of MeshBuilder instance for subclasses.
*/
template<class Vertex> class AbstractTool {
public:
/**
* @brief Constructor
* @param builder %Mesh builder to operate on
*/
inline AbstractTool(MeshBuilder<Vertex>& builder): builder(builder), vertices(builder._vertices), indices(builder._indices) {}
protected:
MeshBuilder<Vertex>& builder; /**< @brief Builder instance */
std::vector<Vertex>& vertices; /**< @brief Builder vertices */
std::vector<unsigned int>& indices; /**< @brief Builder indices */
};
}}
#endif

4
src/MeshTools/CMakeLists.txt

@ -0,0 +1,4 @@
if(BUILD_TESTS)
enable_testing()
add_subdirectory(Test)
endif()
Loading…
Cancel
Save