Data structure depicting a height field given by the base grid dimensions and the elevation along the grid. More...
#include <hfield.h>
Public Types | |
typedef CollisionGeometry | Base |
typedef std::vector< Node > | BVS |
typedef HFNode< BV > | Node |
Public Member Functions | |
virtual HeightField< BV > * | clone () const |
Clone *this into a new CollisionGeometry. More... | |
void | computeLocalAABB () |
Compute the AABB for the HeightField, used for broad-phase collision. More... | |
const HFNode< BV > & | getBV (unsigned int i) const |
Access the bv giving the its index. More... | |
HFNode< BV > & | getBV (unsigned int i) |
Access the bv giving the its index. More... | |
const MatrixXf & | getHeights () const |
Returns a const reference of the heights. More... | |
FCL_REAL | getMaxHeight () const |
Returns the maximal height value of the Height Field. More... | |
FCL_REAL | getMinHeight () const |
Returns the minimal height value of the Height Field. More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
NODE_TYPE | getNodeType () const |
Get the BV type: default is unknown. More... | |
template<> | |
NODE_TYPE | getNodeType () const |
Specialization of getNodeType() for HeightField with different BV types. More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
template<> | |
NODE_TYPE | getNodeType () const |
get the node type More... | |
FCL_REAL | getXDim () const |
Returns the dimension of the Height Field along the X direction. More... | |
const VecXf & | getXGrid () const |
Returns a const reference of the grid along the X direction. More... | |
FCL_REAL | getYDim () const |
Returns the dimension of the Height Field along the Y direction. More... | |
const VecXf & | getYGrid () const |
Returns a const reference of the grid along the Y direction. More... | |
HeightField () | |
Constructing an empty HeightField. More... | |
HeightField (const FCL_REAL x_dim, const FCL_REAL y_dim, const MatrixXf &heights, const FCL_REAL min_height=(FCL_REAL) 0) | |
Constructing an HeightField from its base dimensions and the set of heights points. The granularity of the height field along X and Y direction is extraded from the Z grid. More... | |
HeightField (const HeightField &other) | |
Copy contructor from another HeightField. More... | |
void | updateHeights (const MatrixXf &new_heights) |
Update Height Field height. More... | |
virtual | ~HeightField () |
deconstruction, delete mesh data related. More... | |
Public Member Functions inherited from hpp::fcl::CollisionGeometry | |
CollisionGeometry () | |
CollisionGeometry (const CollisionGeometry &other)=default | |
Copy constructor. More... | |
virtual Matrix3f | computeMomentofInertiaRelatedToCOM () const |
compute the inertia matrix, related to the com More... | |
void * | getUserData () const |
get user data in geometry More... | |
bool | isFree () const |
whether the object is completely free More... | |
bool | isOccupied () const |
whether the object is completely occupied More... | |
bool | isUncertain () const |
whether the object has some uncertainty More... | |
bool | operator!= (const CollisionGeometry &other) const |
Difference operator. More... | |
bool | operator== (const CollisionGeometry &other) const |
Equality operator. More... | |
void | setUserData (void *data) |
set user data in geometry More... | |
virtual | ~CollisionGeometry () |
Protected Member Functions | |
int | buildTree () |
Build the bounding volume hierarchy. More... | |
Vec3f | computeCOM () const |
compute center of mass More... | |
Matrix3f | computeMomentofInertia () const |
compute the inertia matrix, related to the origin More... | |
FCL_REAL | computeVolume () const |
compute the volume More... | |
OBJECT_TYPE | getObjectType () const |
Get the object type: it is a HFIELD. More... | |
void | init (const FCL_REAL x_dim, const FCL_REAL y_dim, const MatrixXf &heights, const FCL_REAL min_height) |
FCL_REAL | recursiveBuildTree (const size_t bv_id, const Eigen::DenseIndex x_id, const Eigen::DenseIndex x_size, const Eigen::DenseIndex y_id, const Eigen::DenseIndex y_size) |
FCL_REAL | recursiveUpdateHeight (const size_t bv_id) |
Protected Attributes | |
BVS | bvs |
Bounding volume hierarchy. More... | |
MatrixXf | heights |
Elevation values in meters of the Height Field. More... | |
FCL_REAL | max_height |
FCL_REAL | min_height |
Minimal height of the Height Field: all values bellow min_height will be discarded. More... | |
unsigned int | num_bvs |
FCL_REAL | x_dim |
Dimensions in meters along X and Y directions. More... | |
VecXf | x_grid |
Grids along the X and Y directions. Useful for plotting or other related things. More... | |
FCL_REAL | y_dim |
VecXf | y_grid |
Private Member Functions | |
virtual bool | isEqual (const CollisionGeometry &_other) const |
equal operator with another object of derived type. More... | |
Additional Inherited Members | |
Public Attributes inherited from hpp::fcl::CollisionGeometry | |
Vec3f | aabb_center |
AABB center in local coordinate. More... | |
AABB | aabb_local |
AABB in local coordinate, used for tight AABB when only translation transform. More... | |
FCL_REAL | aabb_radius |
AABB radius. More... | |
FCL_REAL | cost_density |
collision cost for unit volume More... | |
FCL_REAL | threshold_free |
threshold for free (<= is free) More... | |
FCL_REAL | threshold_occupied |
threshold for occupied ( >= is occupied) More... | |
void * | user_data |
pointer to user defined data specific to this object More... | |
Data structure depicting a height field given by the base grid dimensions and the elevation along the grid.
BV | one of the bounding volume class in Bounding volumes. |
An height field is defined by its base dimensions along the X and Y axes and a set ofpoints defined by their altitude, regularly dispatched on the grid. The height field is centered at the origin and the corners of the geometry correspond to the following coordinates [± x_dim/2; ± y_dim/2].
typedef CollisionGeometry hpp::fcl::HeightField< BV >::Base |
typedef std::vector<Node> hpp::fcl::HeightField< BV >::BVS |
typedef HFNode<BV> hpp::fcl::HeightField< BV >::Node |
|
inline |
Constructing an empty HeightField.
|
inline |
Constructing an HeightField from its base dimensions and the set of heights points. The granularity of the height field along X and Y direction is extraded from the Z grid.
[in] | x_dim | Dimension along the X axis |
[in] | y_dim | Dimension along the Y axis |
[in] | heights | Matrix containing the altitude of each point compositng the height field |
[in] | min_height | Minimal height of the height field |
|
inline |
Copy contructor from another HeightField.
[in] | other | to copy. |
|
inlinevirtual |
|
inlineprotected |
|
inlinevirtual |
Clone *this into a new CollisionGeometry.
Implements hpp::fcl::CollisionGeometry.
|
inlineprotectedvirtual |
compute center of mass
Reimplemented from hpp::fcl::CollisionGeometry.
|
inlinevirtual |
Compute the AABB for the HeightField, used for broad-phase collision.
Implements hpp::fcl::CollisionGeometry.
|
inlineprotectedvirtual |
compute the inertia matrix, related to the origin
Reimplemented from hpp::fcl::CollisionGeometry.
|
inlineprotectedvirtual |
compute the volume
Reimplemented from hpp::fcl::CollisionGeometry.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
Definition at line 52 of file hfield.cpp.
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
Definition at line 57 of file hfield.cpp.
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
Definition at line 62 of file hfield.cpp.
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
Definition at line 67 of file hfield.cpp.
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
Definition at line 72 of file hfield.cpp.
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
Definition at line 77 of file hfield.cpp.
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
Definition at line 82 of file hfield.cpp.
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
Definition at line 87 of file hfield.cpp.
|
inlinevirtual |
Get the BV type: default is unknown.
Reimplemented from hpp::fcl::CollisionGeometry.
|
virtual |
Specialization of getNodeType() for HeightField with different BV types.
Reimplemented from hpp::fcl::CollisionGeometry.
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
|
virtual |
get the node type
Reimplemented from hpp::fcl::CollisionGeometry.
|
inlineprotectedvirtual |
Get the object type: it is a HFIELD.
Reimplemented from hpp::fcl::CollisionGeometry.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inlineprivatevirtual |
equal operator with another object of derived type.
Implements hpp::fcl::CollisionGeometry.
|
inlineprotected |
|
inlineprotected |
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |