AGX Dynamics 2.42.2.1
Loading...
Searching...
No Matches
agxTerrain::ColumnHeightGrid Class Reference

Class implementing the BasicGrid interface. More...

#include <ColumnHeightGrid.h>

+ Inheritance diagram for agxTerrain::ColumnHeightGrid:

Public Member Functions

 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::Vec3ifindConvexVoxelIntersections (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::Vec3ifindGeometryVoxelIntersections (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::Vec3ifindVoxelsAboveTriangles (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 GridElementgetGridElement (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.
 
- Public Member Functions inherited from agxTerrain::Grid
 AGXSTREAM_DECLARE_ABSTRACT_SERIALIZABLE (agxTerrain::Grid)
 
virtual agx::HashSet< agx::Vec3ifindConvexVoxelIntersections (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::Vec3ifindVoxelsAboveTriangles (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
 
- Public Member Functions inherited from agxTerrain::BasicGrid
 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::Vec3ifindGeometryVoxelIntersections (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
 
- Public Member Functions inherited from agx::Referenced
 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.
 
Referencedoperator= (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.
 
- Public Member Functions inherited from agxStream::Serializable
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.
 

Static Public Member Functions

static agxStream::Serializablecreate (agxStream::InputArchive &)
 
- Static Public Member Functions inherited from agx::Referenced
template<typename T >
static bool ValidateCast (const Referenced *object)
 
- Static Public Member Functions inherited from agxStream::Serializable
static void setEnableUuidGeneration (bool flag)
 Specify if there should be UUID:s generated for each new Serializable object. By default it is enabled.
 

Protected Member Functions

 ColumnHeightGrid ()
 
void allocateMassArray ()
 
void allocateMinHeights ()
 
void clearMinHeights ()
 
- Protected Member Functions inherited from agxTerrain::BasicGrid
agx::Vec3 getGridPositionFromVoxelIndex (const agx::Vec3i &voxelIndex) const
 
agx::Vec3i getVoxelIndexFromGridPosition (agx::Vec3 position) const
 
- Protected Member Functions inherited from agx::Referenced
virtual ~Referenced ()
 Destructor.
 
void allocateObserverVector () const
 
void deleteUsingDeleteHandler () const
 
- Protected Member Functions inherited from agxStream::Serializable
 Serializable ()
 Default constructor.
 
 Serializable (const Serializable &other)
 Copy constructor.
 
void generateUuid ()
 

Additional Inherited Members

- Public Types inherited from agxTerrain::BasicGrid
using GridCoord = agx::Vec3i
 
using GridCoordVector = agx::VectorPOD< GridCoord >
 
using GridFunction = std::function< void(GridCoord, float)>
 
- Static Protected Member Functions inherited from agx::Referenced
static DeleteHandlergetDeleteHandler ()
 
static void setDeleteHandler (DeleteHandler *handler)
 Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to.
 
- Protected Attributes inherited from agx::Referenced
Mutex m_mutex
 
ObserverContainer m_observers
 
AtomicValue m_refCount
 

Detailed Description

Class implementing the BasicGrid interface.

Definition at line 26 of file ColumnHeightGrid.h.

Constructor & Destructor Documentation

◆ ColumnHeightGrid() [1/2]

agxTerrain::ColumnHeightGrid::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()

agxTerrain::ColumnHeightGrid::~ColumnHeightGrid ( )

◆ ColumnHeightGrid() [2/2]

agxTerrain::ColumnHeightGrid::ColumnHeightGrid ( )
protected

Member Function Documentation

◆ AGXSTREAM_DECLARE_SERIALIZABLE_BASE()

agxTerrain::ColumnHeightGrid::AGXSTREAM_DECLARE_SERIALIZABLE_BASE ( agxTerrain::ColumnHeightGrid  )

◆ allocateMassArray()

void agxTerrain::ColumnHeightGrid::allocateMassArray ( )
protected

◆ allocateMinHeights()

void agxTerrain::ColumnHeightGrid::allocateMinHeights ( )
protected

◆ clearGrid()

virtual void agxTerrain::ColumnHeightGrid::clearGrid ( )
overridevirtual

Clear the grid.

Implements agxTerrain::BasicGrid.

◆ clearMinHeights()

void agxTerrain::ColumnHeightGrid::clearMinHeights ( )
protected

◆ create()

static agxStream::Serializable * agxTerrain::ColumnHeightGrid::create ( agxStream::InputArchive )
inlinestatic

Definition at line 188 of file ColumnHeightGrid.h.

◆ cylinderVoxelAABBIntersections()

agx::Vec3iVector agxTerrain::ColumnHeightGrid::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

◆ empty()

virtual bool agxTerrain::ColumnHeightGrid::empty ( )
overridevirtual

Test if the trid is empty.

Implements agxTerrain::BasicGrid.

◆ findConvexVoxelIntersections()

virtual agx::HashSet< agx::Vec3i > agxTerrain::ColumnHeightGrid::findConvexVoxelIntersections ( const agx::AffineMatrix4x4 gridTransform,
const agxCollide::Convex convex,
agx::Real  voxelSize 
)
overridevirtual

Implements agxTerrain::Grid.

◆ findCylinderGeometryVoxelIntersections()

agx::Vec3iVector agxTerrain::ColumnHeightGrid::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

◆ findGeometryVoxelIntersections()

virtual agx::HashSet< agx::Vec3i > agxTerrain::ColumnHeightGrid::findGeometryVoxelIntersections ( const agx::AffineMatrix4x4 gridTransform,
const agxCollide::Geometry geometry,
agx::Real  voxelSize,
bool  onlyOccupiedVoxels = true,
bool  onlyMidPoint = false 
) const
overridevirtual

Find which voxels that overlap with a geometry.

Implements agxTerrain::BasicGrid.

◆ findMeshVoxelIntersections()

virtual bool agxTerrain::ColumnHeightGrid::findMeshVoxelIntersections ( const agx::AffineMatrix4x4 gridTransform,
const agxCollide::Mesh mesh,
agx::Real  voxelSize,
agx::Vec3iVector result 
)
overridevirtual

Implements agxTerrain::Grid.

◆ findVoxelsAboveTriangles()

virtual agx::HashSet< agx::Vec3i > agxTerrain::ColumnHeightGrid::findVoxelsAboveTriangles ( const agx::AffineMatrix4x4 gridTransform,
const TriangleVector triangles,
agx::Real  voxelSize,
agx::Real  margin 
)
overridevirtual

Implements agxTerrain::Grid.

◆ findVoxelsInLine()

virtual agx::Vec3iVector agxTerrain::ColumnHeightGrid::findVoxelsInLine ( const agx::Line gridLine) const
overridevirtual

Implements agxTerrain::Grid.

◆ findVoxelSurfaceFromIndex()

virtual void agxTerrain::ColumnHeightGrid::findVoxelSurfaceFromIndex ( const agx::Vec3i index,
agx::Vec3i result 
)
overridevirtual

Implements agxTerrain::Grid.

◆ getActiveVoxelIndices()

virtual GridCoordVector agxTerrain::ColumnHeightGrid::getActiveVoxelIndices ( ) const
overridevirtual

Implements agxTerrain::BasicGrid.

◆ getBoundingBox()

agxCollide::BoundingAABB agxTerrain::ColumnHeightGrid::getBoundingBox ( ) const
overridevirtual

Implements agxTerrain::Grid.

◆ getElementSize()

virtual agx::Vec3 agxTerrain::ColumnHeightGrid::getElementSize ( ) const
overridevirtual

Get the element size used for the voxel grid.

Implements agxTerrain::BasicGrid.

◆ getEnableMinimumHeights()

bool agxTerrain::ColumnHeightGrid::getEnableMinimumHeights ( ) const

◆ getFloatValue()

virtual float agxTerrain::ColumnHeightGrid::getFloatValue ( const GridCoord ijk) const
overridevirtual

Return value for voxel ijk.

Implements agxTerrain::BasicGrid.

◆ getGridElement()

const GridElement & agxTerrain::ColumnHeightGrid::getGridElement ( const agx::Vec2i ij) const

◆ getHeightFromVoxelZAndOccupancy()

agx::Real agxTerrain::ColumnHeightGrid::getHeightFromVoxelZAndOccupancy ( int  voxelZ,
float  occupancy 
)

◆ getLocalHeight()

agx::Real agxTerrain::ColumnHeightGrid::getLocalHeight ( const agx::Vec2i  terrainIndex)

◆ getLowestAllowableVoxelIndexZ()

agx::Int agxTerrain::ColumnHeightGrid::getLowestAllowableVoxelIndexZ ( ) const

◆ getLowestMinimumHeight()

agx::Real agxTerrain::ColumnHeightGrid::getLowestMinimumHeight ( ) const

◆ getMemoryUsage()

virtual size_t agxTerrain::ColumnHeightGrid::getMemoryUsage ( ) const
overridevirtual

Get the memory usage.

Implements agxTerrain::BasicGrid.

◆ getMinimumHeight()

agx::Real agxTerrain::ColumnHeightGrid::getMinimumHeight ( agx::Vec2i  terrainIndex) const

◆ getMinimumHeightIndexZ()

agx::Int agxTerrain::ColumnHeightGrid::getMinimumHeightIndexZ ( agx::Vec2i  terrainIndex) const

◆ getMinimumHeights()

agx::RealVector agxTerrain::ColumnHeightGrid::getMinimumHeights ( ) const

◆ getNumActiveVoxels()

virtual size_t agxTerrain::ColumnHeightGrid::getNumActiveVoxels ( ) const
overridevirtual

Return number of active voxels in the data structure.

Implements agxTerrain::BasicGrid.

◆ getResolution()

agx::Vec2i agxTerrain::ColumnHeightGrid::getResolution ( )

◆ getSurfaceHeightIndex()

int agxTerrain::ColumnHeightGrid::getSurfaceHeightIndex ( const agx::Vec2i  terrainIndex) const

◆ getTotal()

virtual agx::Real agxTerrain::ColumnHeightGrid::getTotal ( ) const
overridevirtual

Returns the sum of all voxel values.

Implements agxTerrain::BasicGrid.

◆ getTotalAndLargest()

virtual std::tuple< float, float > agxTerrain::ColumnHeightGrid::getTotalAndLargest ( ) const
overridevirtual

Implements agxTerrain::BasicGrid.

◆ getVoxelAndOccupancy()

GridElement agxTerrain::ColumnHeightGrid::getVoxelAndOccupancy ( const agx::Vec2i terrainIndex)

◆ getVoxelZAndOccupancyFromLocalHeight()

GridElement agxTerrain::ColumnHeightGrid::getVoxelZAndOccupancyFromLocalHeight ( agx::Real  height)

◆ getVoxelZFromHeight()

agx::Int agxTerrain::ColumnHeightGrid::getVoxelZFromHeight ( agx::Real  height) const

◆ hasIterateSupport()

virtual bool agxTerrain::ColumnHeightGrid::hasIterateSupport ( ) const
overridevirtual

Reimplemented from agxTerrain::BasicGrid.

◆ isActiveVoxel()

virtual bool agxTerrain::ColumnHeightGrid::isActiveVoxel ( const GridCoord ) const
overridevirtual

Test if voxel ijk is active.

Implements agxTerrain::BasicGrid.

◆ isIndexOutsideBounds()

bool agxTerrain::ColumnHeightGrid::isIndexOutsideBounds ( agx::Vec2i  index) const

◆ iterateVoxels()

virtual void agxTerrain::ColumnHeightGrid::iterateVoxels ( GridFunction  func) const
overridevirtual

Reimplemented from agxTerrain::BasicGrid.

◆ removeVolumeInActiveZone()

virtual ActiveZoneIntersectionData agxTerrain::ColumnHeightGrid::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 
)
overridevirtual

Implements agxTerrain::Grid.

◆ removeVolumeInShape()

virtual ActiveZoneIntersectionData agxTerrain::ColumnHeightGrid::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 
)
overridevirtual

Implements agxTerrain::Grid.

◆ setEnableMinimumHeights()

void agxTerrain::ColumnHeightGrid::setEnableMinimumHeights ( bool  enable)

◆ setFloatValue()

virtual void agxTerrain::ColumnHeightGrid::setFloatValue ( const GridCoord ijk,
float  value 
)
overridevirtual

Set value for voxel ijk.

Implements agxTerrain::BasicGrid.

◆ setGridColumnOccupancy()

void agxTerrain::ColumnHeightGrid::setGridColumnOccupancy ( const agx::Vec2i  terrainIndex,
int  voxelZ,
float  occupancy 
)

◆ setLowestMinimumHeight()

void agxTerrain::ColumnHeightGrid::setLowestMinimumHeight ( agx::Real  minimumHeight)

◆ setMinimumHeight()

bool agxTerrain::ColumnHeightGrid::setMinimumHeight ( agx::Vec2i  terrainIndex,
agx::Real  minimumHeight 
)

◆ setMinimumHeights()

void agxTerrain::ColumnHeightGrid::setMinimumHeights ( const agx::RealVector minimumHeights)

◆ setOccupancyInSurfaceVoxel()

void agxTerrain::ColumnHeightGrid::setOccupancyInSurfaceVoxel ( const agx::Vec2i  terrainIndex,
float  occupancy 
)

◆ setValuesBelowHeightField()

virtual void agxTerrain::ColumnHeightGrid::setValuesBelowHeightField ( const agxCollide::HeightField heightField,
agx::Real  voxelSize,
int  lowestAllowedVoxelIndex,
BasicGrid compactionGrid 
)
overridevirtual

Implements agxTerrain::Grid.

◆ sizeHint()

virtual void agxTerrain::ColumnHeightGrid::sizeHint ( size_t  )
overridevirtual

Provide the implementation with a hint about the estimated number of voxels that are needed.

Reimplemented from agxTerrain::BasicGrid.


The documentation for this class was generated from the following file: