|
EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
|
Reconciling a DCEL mesh whose vertices moved, where its pool is: in parallel on a device, in host loops otherwise. More...
#include <cstddef>#include <cstdint>#include "EBGeometry_DCEL_Mesh.hpp"#include "EBGeometry_DCEL_Vertex.hpp"#include "EBGeometry_GPUTransform.hpp"#include "EBGeometry_Macros.hpp"#include "EBGeometry_PODVector.hpp"#include "EBGeometry_Pool.hpp"#include "EBGeometry_DCEL_ReconcileImplem.hpp"

Go to the source code of this file.
Classes | |
| struct | EBGeometry::DCEL::ReconcileDetail::Corner |
| One corner of a face, as seen from the vertex at it: the face, and the vertices before and after the vertex on the face's loop. More... | |
| class | EBGeometry::DCEL::ReconcileSchedule |
| Which faces touch each vertex of a mesh, checked and stored once, for DCEL::reconcile(). More... | |
Namespaces | |
| namespace | EBGeometry |
| Namespace containing all of EBGeometry's functionality. | |
| namespace | EBGeometry::DCEL |
| Namespace containing various double-connected edge list (DCEL) functionality. | |
| namespace | EBGeometry::DCEL::ReconcileDetail |
| Internals of DCEL::ReconcileSchedule and DCEL::reconcile(). | |
Functions | |
| template<class T > | |
| void | EBGeometry::DCEL::reconcile (Pool &a_pool, const MeshT< T > &a_mesh, const ReconcileSchedule &a_schedule) |
Reconcile the copy of a_mesh that lives in a_pool, after its vertices have moved: every face's normal, centroid, area and projection axes, and every half-edge's and vertex's pseudonormal, as MeshT::reconcile() computes them. | |
Reconciling a DCEL mesh whose vertices moved, where its pool is: in parallel on a device, in host loops otherwise.
MeshT::reconcile() checks the mesh's topology and builds which faces touch each vertex, as vectors, on every call, and runs on the host only. Moving vertices changes neither, so DCEL::ReconcileSchedule checks the topology and stores the vertex-to-face lists once, on the host, and DCEL::reconcile() then reconciles the mesh in three passes: one per face, per half-edge and per vertex.