Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'extern/carve/include/carve/pointset_decl.hpp')
-rw-r--r--extern/carve/include/carve/pointset_decl.hpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/extern/carve/include/carve/pointset_decl.hpp b/extern/carve/include/carve/pointset_decl.hpp
new file mode 100644
index 00000000000..d09f9e0e724
--- /dev/null
+++ b/extern/carve/include/carve/pointset_decl.hpp
@@ -0,0 +1,61 @@
+// Begin License:
+// Copyright (C) 2006-2011 Tobias Sargeant (tobias.sargeant@gmail.com).
+// All rights reserved.
+//
+// This file is part of the Carve CSG Library (http://carve-csg.com/)
+//
+// This file may be used under the terms of the GNU General Public
+// License version 2.0 as published by the Free Software Foundation
+// and appearing in the file LICENSE.GPL2 included in the packaging of
+// this file.
+//
+// This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+// INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE.
+// End:
+
+#pragma once
+
+#include <iterator>
+#include <list>
+#include <iterator>
+#include <limits>
+
+#include <carve/carve.hpp>
+#include <carve/tag.hpp>
+#include <carve/geom.hpp>
+#include <carve/kd_node.hpp>
+#include <carve/geom3d.hpp>
+#include <carve/aabb.hpp>
+
+namespace carve {
+ namespace point {
+
+ struct Vertex : public tagable {
+ carve::geom3d::Vector v;
+ };
+
+
+
+ struct vec_adapt_vertex_ptr {
+ const carve::geom3d::Vector &operator()(const Vertex * const &v) { return v->v; }
+ carve::geom3d::Vector &operator()(Vertex *&v) { return v->v; }
+ };
+
+
+
+ struct PointSet {
+ std::vector<Vertex> vertices;
+ carve::geom3d::AABB aabb;
+
+ PointSet(const std::vector<carve::geom3d::Vector> &points);
+ PointSet() {
+ }
+
+ void sortVertices(const carve::geom3d::Vector &axis);
+
+ size_t vertexToIndex_fast(const Vertex *v) const;
+ };
+
+ }
+}