1#ifndef AMREX_MARCHING_CUBES_H_
2#define AMREX_MARCHING_CUBES_H_
62void write_stl (std::string
const& filename, std::map<
int,std::unique_ptr<MCFab>>
const& mc_fabs);
A Fortran Array of REALs.
Definition AMReX_FArrayBox.H:231
Rectangular problem domain geometry.
Definition AMReX_Geometry.H:74
Minimal container holding marching-cubes output for one FAB.
Definition AMReX_MarchingCubes.H:51
Vertex m_vertices
Definition AMReX_MarchingCubes.H:55
Triangle m_triangles
Definition AMReX_MarchingCubes.H:54
Dynamically allocated vector for trivially copyable data.
Definition AMReX_PODVector.H:308
Definition AMReX_MarchingCubes.cpp:23
void write_stl(std::string const &filename, std::map< int, std::unique_ptr< MCFab > > const &mc_fabs)
Write the collected marching-cubes output to an STL file.
Definition AMReX_MarchingCubes.cpp:924
void marching_cubes(Geometry const &geom, FArrayBox &sdf_fab, MCFab &mc_fab)
Run marching cubes on signed-distance field sdf_fab.
Definition AMReX_MarchingCubes.cpp:693
void Finalize()
Destroy any static storage allocated by Initialize().
Definition AMReX_MarchingCubes.cpp:664
void Initialize()
Initialize internal lookup tables and device buffers for marching cubes.
Definition AMReX_MarchingCubes.cpp:651
Fixed-size array that can be used on GPU.
Definition AMReX_Array.H:43
Triangle index buffer referencing Vertex entries.
Definition AMReX_MarchingCubes.H:39
GpuArray< int *, 3 > dataPtrs()
Raw device pointers for kernel launches.
Definition AMReX_MarchingCubes.H:46
Gpu::DeviceVector< int > v1
Definition AMReX_MarchingCubes.H:40
Gpu::DeviceVector< int > v3
Definition AMReX_MarchingCubes.H:40
Gpu::DeviceVector< int > v2
Definition AMReX_MarchingCubes.H:40
void resize(int n)
Resize the triangle buffer to hold n faces.
Definition AMReX_MarchingCubes.cpp:686
Vertex buffer storing coordinates and normals for extracted surfaces.
Definition AMReX_MarchingCubes.H:27
void resize(int n)
Resize the vertex buffers to hold n entries.
Definition AMReX_MarchingCubes.cpp:676
Gpu::DeviceVector< Real > ny
Definition AMReX_MarchingCubes.H:28
Gpu::DeviceVector< Real > x
Definition AMReX_MarchingCubes.H:28
Gpu::DeviceVector< Real > nx
Definition AMReX_MarchingCubes.H:28
GpuArray< Real *, 6 > dataPtrs()
Raw device pointers used when launching kernels.
Definition AMReX_MarchingCubes.H:34
Gpu::DeviceVector< Real > y
Definition AMReX_MarchingCubes.H:28
Gpu::DeviceVector< Real > z
Definition AMReX_MarchingCubes.H:28
Gpu::DeviceVector< Real > nz
Definition AMReX_MarchingCubes.H:28