Simbody
3.4 (development)
|
This ContactGeometry subclass represents a smooth surface fit through a set of sampled points using bicubic patches to provide C2 continuity. More...
#include <ContactGeometry.h>
Public Member Functions | |
SmoothHeightMap (const BicubicSurface &surface) | |
Create a SmoothHeightMap surface using an already-existing BicubicSurface. | |
const BicubicSurface & | getBicubicSurface () const |
Return a reference to the BicubicSurface object being used by this SmoothHeightMap. | |
const OBBTree & | getOBBTree () const |
(Advanced) Return a reference to the oriented bounding box tree for this surface. | |
const Impl & | getImpl () const |
Impl & | updImpl () |
Internal use only. | |
Static Public Member Functions | |
static bool | isInstance (const ContactGeometry &geo) |
Return true if the supplied ContactGeometry object is a SmoothHeightMap. | |
static const SmoothHeightMap & | getAs (const ContactGeometry &geo) |
Cast the supplied ContactGeometry object to a const SmoothHeightMap. | |
static SmoothHeightMap & | updAs (ContactGeometry &geo) |
Cast the supplied ContactGeometry object to a writable SmoothHeightMap. | |
static ContactGeometryTypeId | classTypeId () |
Obtain the unique id for SmoothHeightMap contact geometry. |
This ContactGeometry subclass represents a smooth surface fit through a set of sampled points using bicubic patches to provide C2 continuity.
It is particularly useful as a bounded terrain. The boundary is an axis-aligned rectangle in the local x-y plane. Within the boundary, every (x,y) location has a unique height z, so caves and overhangs cannot be represented.
The surface is parameterized as z=f(x,y) where x,y,z are measured in the surface's local coordinate frame. This can also be described as the implicit function F(x,y,z)=f(x,y)-z=0, as though this were an infinitely thick slab in the -z direction below the surface.
SimTK::ContactGeometry::SmoothHeightMap::SmoothHeightMap | ( | const BicubicSurface & | surface | ) | [explicit] |
Create a SmoothHeightMap surface using an already-existing BicubicSurface.
The BicubicSurface object is referenced, not copied, so it may be shared with other users.
const BicubicSurface& SimTK::ContactGeometry::SmoothHeightMap::getBicubicSurface | ( | ) | const |
Return a reference to the BicubicSurface object being used by this SmoothHeightMap.
const OBBTree& SimTK::ContactGeometry::SmoothHeightMap::getOBBTree | ( | ) | const |
(Advanced) Return a reference to the oriented bounding box tree for this surface.
static bool SimTK::ContactGeometry::SmoothHeightMap::isInstance | ( | const ContactGeometry & | geo | ) | [inline, static] |
Return true if the supplied ContactGeometry object is a SmoothHeightMap.
static const SmoothHeightMap& SimTK::ContactGeometry::SmoothHeightMap::getAs | ( | const ContactGeometry & | geo | ) | [inline, static] |
Cast the supplied ContactGeometry object to a const SmoothHeightMap.
static SmoothHeightMap& SimTK::ContactGeometry::SmoothHeightMap::updAs | ( | ContactGeometry & | geo | ) | [inline, static] |
Cast the supplied ContactGeometry object to a writable SmoothHeightMap.
static ContactGeometryTypeId SimTK::ContactGeometry::SmoothHeightMap::classTypeId | ( | ) | [static] |
Obtain the unique id for SmoothHeightMap contact geometry.
const Impl& SimTK::ContactGeometry::SmoothHeightMap::getImpl | ( | ) | const |
Internal use only.
Reimplemented from SimTK::ContactGeometry.
Internal use only.
Reimplemented from SimTK::ContactGeometry.