@@ -43,122 +43,6 @@ namespace geode
4343{
4444 namespace detail
4545 {
46- // template < typename Mesh >
47- // class VertexMerger< Mesh >::Impl
48- // {
49- // static constexpr auto dimension = Mesh::dim;
50- // using Builder = typename Mesh::Builder;
51- // using ColocatedInfo = typename NNSearch< dimension
52- // >::ColocatedInfo;
53-
54- // public:
55- // Impl(
56- // absl::Span< const std::reference_wrapper< const Mesh > >
57- // meshes, double epsilon ) : meshes_( meshes ),
58- // epsilon_( epsilon ),
59- // mesh_{ create_mesh( meshes ) },
60- // builder_{ Builder::create( *mesh_ ) },
61- // offset_vertices_( meshes.size() + 1 )
62- // {
63- // offset_vertices_[0] = 0;
64- // for( const auto m : Indices{ meshes_ } )
65- // {
66- // const auto& mesh = meshes_[m].get();
67- // offset_vertices_[m + 1] =
68- // offset_vertices_[m] + mesh.nb_vertices();
69- // }
70- // vertices_origins_.resize( offset_vertices_.back() );
71- // }
72-
73- // index_t vertex_in_merged( index_t mesh, index_t vertex ) const
74- // {
75- // OPENGEODE_ASSERT( mesh < meshes_.size(),
76- // "[Merger::vertex_in_merged] Wrong mesh index" );
77- // OPENGEODE_ASSERT( vertex < meshes_[mesh].get().nb_vertices(),
78- // "[Merger::vertex_in_merged] Wrong mesh vertex index" );
79- // OPENGEODE_ASSERT(
80- // offset_vertices_[mesh] + vertex < vertices_.size(),
81- // "[Merger::vertex_in_merged] Wrong global vertex index" );
82- // return vertices_[offset_vertices_[mesh] + vertex];
83- // }
84-
85- // const VertexOrigins& vertex_origins( index_t vertex ) const
86- // {
87- // return vertices_origins_[vertex];
88- // }
89-
90- // absl::Span< const std::reference_wrapper< const Mesh > >
91- // meshes() const
92- // {
93- // return meshes_;
94- // }
95-
96- // const Mesh& mesh() const
97- // {
98- // return *mesh_;
99- // }
100-
101- // std::unique_ptr< Mesh > steal_mesh()
102- // {
103- // return std::move( mesh_ );
104- // }
105-
106- // Builder& builder()
107- // {
108- // return *builder_;
109- // }
110-
111- // void create_points()
112- // {
113- // auto info = create_colocated_index_mapping();
114- // vertices_ = std::move( info.colocated_mapping );
115- // builder_->create_vertices( info.nb_unique_points() );
116- // for( const auto p : Range{ info.nb_unique_points() } )
117- // {
118- // builder_->set_point( p, info.unique_points[p] );
119- // }
120- // for( const auto m : Indices{ meshes_ } )
121- // {
122- // const auto& mesh = meshes_[m].get();
123- // for( const auto v : Range{ mesh.nb_vertices() } )
124- // {
125- // vertices_origins_[vertex_in_merged( m, v )]
126- // .emplace_back( m, v );
127- // }
128- // }
129- // }
130-
131- // private:
132- // ColocatedInfo create_colocated_index_mapping()
133- // {
134- // index_t nb_points{ 0 };
135- // for( const auto& mesh : meshes_ )
136- // {
137- // nb_points += mesh.get().nb_vertices();
138- // }
139- // std::vector< Point< dimension > > points;
140- // points.reserve( nb_points );
141- // for( const auto& mesh : meshes_ )
142- // {
143- // for( const auto v : Range{ mesh.get().nb_vertices() } )
144- // {
145- // points.emplace_back( mesh.get().point( v ) );
146- // }
147- // }
148- // NNSearch< dimension > nnsearch{ std::move( points ) };
149- // return nnsearch.colocated_index_mapping( epsilon_ );
150- // }
151-
152- // private:
153- // absl::Span< const std::reference_wrapper< const Mesh > > meshes_;
154- // const double epsilon_;
155- // std::unique_ptr< Mesh > mesh_;
156- // std::unique_ptr< Builder > builder_;
157- // std::vector< index_t > vertices_;
158- // absl::FixedArray< index_t > offset_vertices_;
159- // std::vector< VertexOrigins > vertices_origins_;
160- // };
161-
16246 template < typename Mesh, index_t dimension >
16347 class VertexMerger < Mesh, dimension >::Impl
16448 {
0 commit comments