Simbody  3.4 (development)
SimTK::ContactGeometry::SmoothHeightMap Class Reference

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>

+ Inheritance diagram for SimTK::ContactGeometry::SmoothHeightMap:

List of all members.

Public Member Functions

 SmoothHeightMap (const BicubicSurface &surface)
 Create a SmoothHeightMap surface using an already-existing BicubicSurface.
const BicubicSurfacegetBicubicSurface () const
 Return a reference to the BicubicSurface object being used by this SmoothHeightMap.
const OBBTreegetOBBTree () 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 SmoothHeightMapgetAs (const ContactGeometry &geo)
 Cast the supplied ContactGeometry object to a const SmoothHeightMap.
static SmoothHeightMapupdAs (ContactGeometry &geo)
 Cast the supplied ContactGeometry object to a writable SmoothHeightMap.
static ContactGeometryTypeId classTypeId ()
 Obtain the unique id for SmoothHeightMap contact geometry.

Detailed Description

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.


Constructor & Destructor Documentation

Create a SmoothHeightMap surface using an already-existing BicubicSurface.

The BicubicSurface object is referenced, not copied, so it may be shared with other users.


Member Function Documentation

Return a reference to the BicubicSurface object being used by this SmoothHeightMap.

(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.

Cast the supplied ContactGeometry object to a writable SmoothHeightMap.

Obtain the unique id for SmoothHeightMap contact geometry.

Internal use only.

Reimplemented from SimTK::ContactGeometry.

Internal use only.

Reimplemented from SimTK::ContactGeometry.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines