#define AGXSTREAM_DECLARE_SERIALIZABLE(T)
Use this in a Serializable class to add the required methods Important: Use full namespace in the dec...
#define AGXTERRAIN_EXPORT
Pure virtual interface class for the data storage grid classes we have.
std::function< void(GridCoord, float)> GridFunction
Class implementing the BasicGrid interface.
virtual size_t getMemoryUsage() const override
Get the memory usage.
virtual bool hasIterateSupport() const override
virtual std::tuple< float, float > getTotalAndLargest() const override
virtual agx::Real getTotal() const override
Returns the sum of all voxel values.
virtual bool isActiveVoxel(const GridCoord &ijk) const override
Test if voxel ijk is active.
virtual GridCoordVector getActiveVoxelIndices() const override
virtual size_t getNumActiveVoxels() const override
Return number of active voxels in the data structure.
virtual void setFloatValue(const GridCoord &ijk, float value) override
Set value for voxel ijk.
virtual void clearGrid() override
Clear the grid.
virtual bool empty() override
Test if the trid is empty.
virtual void sizeHint(size_t hint) override
Provide the implementation with a hint about the estimated number of voxels that are needed.
virtual agx::Vec3 getElementSize() const override
Get the element size used for the voxel grid.
HashVoxelGrid(float defaultValue, agx::Real voxelSize)
virtual void iterateVoxels(GridFunction) const override
virtual float getFloatValue(const GridCoord &ijk) const override
Return value for voxel ijk.
Inheritance with partial specialization due to bug with ref_ptr containers.
Vector containing 'raw' data.
The agxTerrain namespace contains a 3D model for a dynamic deformable Terrain and related classes.