1 #ifndef MESHING_VOXELIZE_H 2 #define MESHING_VOXELIZE_H 5 #include "TriMeshTopology.h" 6 #include <KrisLibrary/math3d/Segment3D.h> 7 #include <KrisLibrary/structs/array3d.h> 23 void GetSegmentCells(
const Segment3D& s,vector<IntTriple>& cells,vector<Real>* params=NULL);
32 void GetSegmentCells(
const Segment3D& s,
int m,
int n,
int p,
const AABB3D& bb,vector<IntTriple>& cells,vector<Real>* params=NULL);
44 void GetTriangleCells(
const Triangle3D& tri,
int m,
int n,
int p,
const AABB3D& bb,vector<IntTriple>& cells);
A lightweight integer 3-tuple class.
Definition: IntTriple.h:9
The namespace for all classes/functions in the Meshing package.
Definition: AnyGeometry.h:11
void DensityEstimate_RandomShooting(const TriMesh &m, Array3D< Real > &density, AABB3D &bb, int numSamples, int shootDirection)
Estimates the object's density filling the grid using a shooting method.
Definition: Voxelize.cpp:1088
void FastMarchingMethod(const TriMeshWithTopology &m, Array3D< Real > &distance, Array3D< Vector3 > &gradient, AABB3D &bb, vector< IntTriple > &surfaceCells)
Fills in a distance field on a 3D grid (occupied,bb) using the fast marching method initialized at th...
Definition: Voxelize.cpp:1548
void DensityEstimate_CenterShooting(const TriMesh &m, Array3D< Real > &density, AABB3D &bb, int shootDirection)
Estimates the object's density filling the grid using a shooting method.
Definition: Voxelize.cpp:1007
void VolumeOccupancyGrid_CenterShooting(const TriMesh &m, Array3D< bool > &occupied, AABB3D &bb, int shootDirection)
Sets cells of a boolean 3D grid (occupied,bb) to true if the cell's center is in the interior of the ...
Definition: Voxelize.cpp:922
void VolumeOccupancyGrid_FloodFill(const TriMesh &m, Array3D< bool > &occupied, AABB3D &bb, const IntTriple &seed, bool seedOccupied)
Sets cells of a boolean 3D grid (occupied,bb) to true if the cell's center is in the interior of the ...
Definition: Voxelize.cpp:722
void DensityEstimate_FMM(const TriMeshWithTopology &m, Array3D< Real > &density, AABB3D &bb)
Fills in a density estimate on a 3D grid (occupied,bb) using the FMM distance measurement.
Definition: Voxelize.cpp:1965
void SweepVisibilityGrid(const TriMesh &m, int direction, Array3D< bool > &visible, AABB3D &bb, bool singleSided)
From one "visible" side of the grid, sweeps the visibility across the volume until a mesh surface is ...
Definition: Voxelize.cpp:1180
void SurfaceOccupancyGrid(const TriMesh &m, Array3D< bool > &occupied, AABB3D &bb)
Sets cells of a boolean 3D grid (occupied,bb) that overlap the surface of m to true.
Definition: Voxelize.cpp:676
void GetTriangleCells(const Triangle2D &t, vector< IntPair > &cells)
Returns a list of cells that the triangle overlaps, given an infinite unit grid.
Definition: Rasterize.cpp:295
void FastMarchingMethod_Fill(const TriMeshWithTopology &m, Array3D< Real > &distance, Array3D< Vector3 > &gradient, AABB3D &bb, vector< IntTriple > &surfaceCells)
Same as FastMarchingMethod but constrains start points to the exterior of the mesh (sometimes avoids ...
Definition: Voxelize.cpp:1749
void DensityEstimate_FloodFill(const TriMeshWithTopology &m, Array3D< Real > &density, AABB3D &bb, const IntTriple &seed)
Fills in a density estimate on a 3D grid (occupied,bb) using a flood fill to determine inside/outside...
Definition: Voxelize.cpp:829
void GetSegmentCells(const Segment2D &s, vector< IntPair > &cells)
Returns a list of cells that the segment overlaps, given an infinite unit grid.
Definition: Rasterize.cpp:54