Skip to content

Instantly share code, notes, and snippets.

@stephanmg
Last active July 22, 2019 07:52
Show Gist options
  • Save stephanmg/3fa1e7c43558db7ffc666ceceea81b6d to your computer and use it in GitHub Desktop.
Save stephanmg/3fa1e7c43558db7ffc666ceceea81b6d to your computer and use it in GitHub Desktop.
// CopyGrid defined in lib_grid/file_io/file_io.cpp
CopyGrid<APosition>(grid, gridOut, sh, destSh, aPosition);
size_t numVertsGrid = grid.num<Vertex>();
size_t numVertsGridOut = gridOut.num<Vertex>();
UG_COND_THROW(numVertsGrid != numVertsGridOut, "Num vertices of copied grid must agree.");
for (VertexIterator iter = grid.vertices_begin(); iter != grid.vertices_end(); ++iter) {
UG_LOGN("(grid before) aaSurfParams[*iter]: " << aaSurfParams[*iter]);
}
for (VertexIterator iter = gridOut.vertices_begin(); iter != gridOut.vertices_end(); ++iter) {
UG_LOGN("(gridOut before) aaSurfParams[*iter]: " << aaSurfParams[*iter]);
}
@stephanmg
Copy link
Author

Output:

(grid before) aaSurfParams[*iter]: 0 0 0 0.5

(gridOut before) aaSurfParams[*iter]: 0 0 0 0.5
(gridOut before) aaSurfParams[*iter]: 0 0 0 0
(gridOut before) aaSurfParams[*iter]: 0 0 0 0
(gridOut before) aaSurfParams[*iter]: 0 0 0 0

@bsumirak
Copy link

Das Hauptproblem dürfte sein, dass CopyGrid keine Attachments kopiert (außer das explizit übergebene Positionsattachment), zumindest sehe ich nicht, wo das passieren sollte.
Es ist allerdings verwunderlich, dass das neue Grid mehr Vertices hat als das alte.
Verwende außerdem einen eigenen AttachmentAccessor für gridOut. Ich glaube nicht, dass man mit dem ans alte Grid gebundenen auf die Attachments vom neuen Grid zugreifen kann.

@stephanmg
Copy link
Author

Okay, das hatte ich auch probiert, aber hatte nicht funktioniert. Ich habe das umgangen jetzt indem ich Tetrahedralize(...) auf einer Selektion eingeführt habe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment