|
| | ColumnHeightGrid (const float defaultValue, const size_t resolutionX, const size_t resolutionY, const agx::Real lowestMinimumHeight, const agx::Real voxelSize, const agx::RealVector &minimumHeights=agx::RealVector()) |
| |
| | ~ColumnHeightGrid () |
| |
| | AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agxTerrain::ColumnHeightGrid) |
| |
| virtual void | clearGrid () override |
| | Clear the grid.
|
| |
| agx::Vec3iVector | cylinderVoxelAABBIntersections (const agx::AffineMatrix4x4 &gridTransform, const agxCollide::Geometry *geometry, agx::Real voxelSize, agx::Real radius, agx::Real width, bool onlyOccupiedVoxels=true, bool onlyMidPoint=false) const |
| |
| virtual bool | empty () override |
| | Test if the trid is empty.
|
| |
| virtual agx::HashSet< agx::Vec3i > | findConvexVoxelIntersections (const agx::AffineMatrix4x4 &gridTransform, const agxCollide::Convex *convex, agx::Real voxelSize) override |
| |
| agx::Vec3iVector | findCylinderGeometryVoxelIntersections (const agx::AffineMatrix4x4 &gridTransform, const agxCollide::Geometry *geometry, agx::Real voxelSize, agx::Real radius, agx::Real width, bool onlyOccupiedVoxels=true, bool onlyMidPoint=false) const |
| |
| virtual agx::HashSet< agx::Vec3i > | findGeometryVoxelIntersections (const agx::AffineMatrix4x4 &gridTransform, const agxCollide::Geometry *geometry, agx::Real voxelSize, bool=true, bool onlyMidPoint=false) const override |
| | Find which voxels that overlap with a geometry.
|
| |
| virtual bool | findMeshVoxelIntersections (const agx::AffineMatrix4x4 &gridTransform, const agxCollide::Mesh *mesh, agx::Real voxelSize, agx::Vec3iVector &result) override |
| |
| virtual agx::HashSet< agx::Vec3i > | findVoxelsAboveTriangles (const agx::AffineMatrix4x4 &gridTransform, const TriangleVector &triangles, agx::Real voxelSize, agx::Real margin) override |
| |
| virtual agx::Vec3iVector | findVoxelsInLine (const agx::Line &gridLine) const override |
| |
| virtual void | findVoxelSurfaceFromIndex (const agx::Vec3i &index, agx::Vec3i &result) override |
| |
| virtual GridCoordVector | getActiveVoxelIndices () const override |
| |
| agxCollide::BoundingAABB | getBoundingBox () const override |
| |
| virtual agx::Vec3 | getElementSize () const override |
| | Get the element size used for the voxel grid.
|
| |
| bool | getEnableMinimumHeights () const |
| |
| virtual float | getFloatValue (const GridCoord &ijk) const override |
| | Return value for voxel ijk.
|
| |
| const GridElement & | getGridElement (const agx::Vec2i &ij) const |
| |
| agx::Real | getHeightFromVoxelZAndOccupancy (int voxelZ, float occupancy) |
| |
| agx::Real | getLocalHeight (const agx::Vec2i terrainIndex) |
| |
| agx::Int | getLowestAllowableVoxelIndexZ () const |
| |
| agx::Real | getLowestMinimumHeight () const |
| |
| virtual size_t | getMemoryUsage () const override |
| | Get the memory usage.
|
| |
| agx::Real | getMinimumHeight (agx::Vec2i terrainIndex) const |
| |
| agx::Int | getMinimumHeightIndexZ (agx::Vec2i terrainIndex) const |
| |
| agx::RealVector | getMinimumHeights () const |
| |
| virtual size_t | getNumActiveVoxels () const override |
| | Return number of active voxels in the data structure.
|
| |
| agx::Vec2i | getResolution () |
| |
| int | getSurfaceHeightIndex (const agx::Vec2i terrainIndex) const |
| |
| virtual agx::Real | getTotal () const override |
| | Returns the sum of all voxel values.
|
| |
| virtual std::tuple< float, float > | getTotalAndLargest () const override |
| |
| GridElement | getVoxelAndOccupancy (const agx::Vec2i &terrainIndex) |
| |
| GridElement | getVoxelZAndOccupancyFromLocalHeight (agx::Real height) |
| |
| agx::Int | getVoxelZFromHeight (agx::Real height) const |
| |
| virtual bool | hasIterateSupport () const override |
| |
| virtual bool | isActiveVoxel (const GridCoord &) const override |
| | Test if voxel ijk is active.
|
| |
| bool | isIndexOutsideBounds (agx::Vec2i index) const |
| |
| virtual void | iterateVoxels (GridFunction func) const override |
| |
| virtual ActiveZoneIntersectionData | removeVolumeInActiveZone (const agx::AffineMatrix4x4 &gridTransformation, const ActiveZoneShapes &activeZoneShapes, const ActiveZoneShapes &innerShape, const agx::Plane &innerShapeBoundary, const agx::Bound3 &activeZoneGeometryBound, const agx::Vec3iVector voxelsInPrimaryActiveZoneLastTimeStep, std::function< float(const agx::Vec3i &)> getCompression, std::function< bool(const agx::Vec2i &)> canRemoveIndex, agx::Real voxelSize, agx::Real minOccupancyRemoval, std::function< agx::Real(const agx::Vec2i &)> getMinAllowedHeight, bool useParticleFreeDeformers) override |
| |
| virtual ActiveZoneIntersectionData | removeVolumeInShape (const agx::AffineMatrix4x4 &gridTransformation, const ShapeIntersectionTestData &shape, std::function< float(const agx::Vec3i &)> getCompression, std::function< bool(const agx::Vec2i &)> canRemoveIndex, std::function< bool(const agx::Vec3 &, const agx::Vec3i &)> isWithinBoundry, agx::Real voxelSize, agx::Real minOccupancyRemoval, std::function< agx::Real(const agx::Vec2i &)> getMinAllowedHeight) override |
| |
| void | setEnableMinimumHeights (bool enable) |
| |
| virtual void | setFloatValue (const GridCoord &ijk, float value) override |
| | Set value for voxel ijk.
|
| |
| void | setGridColumnOccupancy (const agx::Vec2i terrainIndex, int voxelZ, float occupancy) |
| |
| void | setLowestMinimumHeight (agx::Real minimumHeight) |
| |
| bool | setMinimumHeight (agx::Vec2i terrainIndex, agx::Real minimumHeight) |
| |
| void | setMinimumHeights (const agx::RealVector &minimumHeights) |
| |
| void | setOccupancyInSurfaceVoxel (const agx::Vec2i terrainIndex, float occupancy) |
| |
| virtual void | setValuesBelowHeightField (const agxCollide::HeightField *heightField, agx::Real voxelSize, int lowestAllowedVoxelIndex, BasicGrid *compactionGrid) override |
| |
| virtual void | sizeHint (size_t) override |
| | Provide the implementation with a hint about the estimated number of voxels that are needed.
|
| |
| | AGXSTREAM_DECLARE_ABSTRACT_SERIALIZABLE (agxTerrain::Grid) |
| |
| virtual agx::HashSet< agx::Vec3i > | findConvexVoxelIntersections (const agx::AffineMatrix4x4 &gridTransform, const agxCollide::Convex *convex, agx::Real voxelSize)=0 |
| |
| virtual bool | findMeshVoxelIntersections (const agx::AffineMatrix4x4 &gridTransform, const agxCollide::Mesh *mesh, agx::Real voxelSize, agx::Vec3iVector &result)=0 |
| |
| virtual agx::HashSet< agx::Vec3i > | findVoxelsAboveTriangles (const agx::AffineMatrix4x4 &gridTransform, const TriangleVector &triangles, agx::Real voxelSize, agx::Real margin)=0 |
| |
| virtual agx::Vec3iVector | findVoxelsInLine (const agx::Line &gridLine) const =0 |
| |
| virtual void | findVoxelSurfaceFromIndex (const agx::Vec3i &index, agx::Vec3i &result)=0 |
| |
| virtual agxCollide::BoundingAABB | getBoundingBox () const =0 |
| |
| virtual ActiveZoneIntersectionData | removeVolumeInActiveZone (const agx::AffineMatrix4x4 &gridTransformation, const ActiveZoneShapes &activeZoneShapes, const ActiveZoneShapes &innerShape, const agx::Plane &innerShapeBoundary, const agx::Bound3 &activeZoneGeometryBound, const agx::Vec3iVector voxelsInPrimaryActiveZoneLastTimeStep, std::function< float(const agx::Vec3i &)> getCompression, std::function< bool(const agx::Vec2i &)> canRemoveIndex, agx::Real voxelSize, agx::Real minOccupancyRemoval, std::function< agx::Real(const agx::Vec2i &)> getMinAllowedHeight, bool useParticleFreeDeformers)=0 |
| |
| virtual ActiveZoneIntersectionData | removeVolumeInShape (const agx::AffineMatrix4x4 &gridTransformation, const ShapeIntersectionTestData &shape, std::function< float(const agx::Vec3i &)> getCompression, std::function< bool(const agx::Vec2i &)> canRemoveIndex, std::function< bool(const agx::Vec3 &, const agx::Vec3i &)> isWithinBoundry, agx::Real voxelSize, agx::Real minOccupancyRemoval, std::function< agx::Real(const agx::Vec2i &)> getMinAllowedHeight)=0 |
| |
| virtual void | setValuesBelowHeightField (const agxCollide::HeightField *heightField, agx::Real voxelSize, int lowestAllowedVoxelIndex, BasicGrid *compactionGrid)=0 |
| |
| | AGXSTREAM_DECLARE_ABSTRACT_SERIALIZABLE (agxTerrain::BasicGrid) |
| |
| virtual void | clearGrid ()=0 |
| | Clear the grid.
|
| |
| virtual bool | empty ()=0 |
| | Test if the trid is empty.
|
| |
| virtual agx::HashSet< agx::Vec3i > | findGeometryVoxelIntersections (const agx::AffineMatrix4x4 &gridTransform, const agxCollide::Geometry *geometry, agx::Real voxelSize, bool onlyOccupiedVoxels=true, bool onlyMidPoint=false) const =0 |
| | Find which voxels that overlap with a geometry.
|
| |
| virtual GridCoordVector | getActiveVoxelIndices () const =0 |
| |
| virtual agx::Vec3 | getElementSize () const =0 |
| | Get the element size used for the voxel grid.
|
| |
| virtual float | getFloatValue (const GridCoord &ijk) const =0 |
| | Return value for voxel ijk.
|
| |
| virtual size_t | getMemoryUsage () const =0 |
| | Get the memory usage.
|
| |
| virtual size_t | getNumActiveVoxels () const =0 |
| | Return number of active voxels in the data structure.
|
| |
| virtual agx::Real | getTotal () const =0 |
| | Returns the sum of all voxel values.
|
| |
| virtual std::tuple< float, float > | getTotalAndLargest () const =0 |
| |
| virtual bool | hasIterateSupport () const |
| |
| virtual bool | isActiveVoxel (const GridCoord &) const =0 |
| | Test if voxel ijk is active.
|
| |
| virtual void | iterateVoxels (GridFunction) const |
| |
| void | restore (agxStream::InputArchive &in) override=0 |
| |
| virtual void | setFloatValue (const GridCoord &ijk, float value)=0 |
| | Set value for voxel ijk.
|
| |
| virtual void | sizeHint (size_t) |
| | Provide the implementation with a hint about the estimated number of voxels that are needed.
|
| |
| void | store (agxStream::OutputArchive &out) const override=0 |
| |
| | Referenced () |
| | Default constructor.
|
| |
| | Referenced (const Referenced &) |
| |
| template<typename T > |
| T * | as () |
| | Subclass casting.
|
| |
| template<typename T > |
| const T * | as () const |
| |
| template<typename T > |
| T * | asSafe () |
| | Safe subclass casting, return nullptr if template type does not match.
|
| |
| template<typename T > |
| const T * | asSafe () const |
| |
| int | getReferenceCount () const |
| |
| template<typename T > |
| bool | is () const |
| | Subclass test.
|
| |
| Referenced & | operator= (const Referenced &) |
| | Assignment operator. Will increment the number of references to the referenced object.
|
| |
| void | reference (void *ptr=nullptr) const |
| | Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
|
| |
| void | unreference (void *ptr=nullptr) const |
| | Decrement the reference count by one, indicating that a pointer to this object is referencing it.
|
| |
| void | unreference_nodelete () const |
| | Decrement the reference count by one, indicating that a pointer to this object is referencing it.
|
| |
| virtual | ~Serializable () |
| | Destructor for normal C++ use but hidden from SWIG bindings.
|
| |
| virtual const char * | getClassName () const |
| |
| bool | getEnableSerialization () const |
| |
| bool | getEnableUuidGeneration () |
| |
| agx::UInt32 | getIndex () const |
| | This index is given at creation of this object.
|
| |
| virtual StorageAgent * | getStorageAgent () const =0 |
| |
| agx::Uuid | getUuid () const |
| |
| bool | isFinished () const |
| |
| void | setEnableSerialization (bool flag) |
| | Set to false to disable serialization of this object.
|
| |
| void | setFinished () |
| | Tells this class that it is restored correctly and should not be deleted during destruction of an Archive.
|
| |
| void | setUuid (const agx::Uuid &uuid) |
| | Explicitly set a Uuid on a serializable object.
|
| |