35#ifndef AIMS_RESAMPLING_MESHTOVOXELSRESAMPLER_H
36#define AIMS_RESAMPLING_MESHTOVOXELSRESAMPLER_H
38#include <cartodata/volume/volume.h>
40#include <aims/mesh/surface.h>
42#include <aims/bucket/bucket.h>
65 unsigned int connexity=26);
69 unsigned int dimx,
unsigned int dimy,
unsigned int dimz)
const;
73 void setVoxelSize( O & output,
float vx,
float vy,
float vz,
80MeshToVoxelsResampler<carto::rc_ptr<carto::Volume<unsigned int> > >::
82 unsigned int dimx,
unsigned int dimy,
unsigned int dimz)
const
87 fill_header( hdr, ima, offset, spacing );
92set( carto::rc_ptr<carto::Volume<unsigned int> > &output, uint x2, uint y2,
93 uint z2, uint ind )
const
95 output->at(x2, y2, z2) = ind;
100init_data(
const AimsVector<float,3> &offset,
float spacing,
101 unsigned int,
unsigned int,
unsigned int)
const
103 aims::BucketMap<Void> bucketmap;
105 bucketmap.
header().
value<carto::PropertySet>(), bucketmap, offset,
113set(aims::BucketMap<Void> &output, uint x2, uint y2, uint z2, uint)
const
121setVoxelSize( carto::rc_ptr<carto::Volume<unsigned int> > & output,
float vx,
122 float vy,
float vz,
float vt)
const
130setVoxelSize( aims::BucketMap<Void> & output,
float vx,
131 float vy,
float vz,
float vt)
const
void insert(const Point3d &pos, const T &item)
const aims::PythonHeader & header() const
void setSizeXYZT(float sizex, float sizey, float sizez, float sizet)
void setVoxelSize(float sizex, float sizey, float sizez, float sizet)
3D rasterization (voxelization) of a mesh O : VolumeRef<unsigned int> or BucketMap<Void>
O doit(const AimsSurfaceTriangle &surface, float spacing=1., unsigned int connexity=26)
surface : input mesh spacing : voxel size (according to mesh metric) connexity : 6 or 26
virtual ~MeshToVoxelsResampler()
AIMSDATA_API AimsTimeSurface< 3, Void > AimsSurfaceTriangle
AimsVector< int16_t, 3 > Point3d