Simbody  3.4 (development)
SimTK::CableObstacle::Surface Class Reference

This obstacle is a solid object represented by a ContactGeometry surface. More...

#include <CablePath.h>

+ Inheritance diagram for SimTK::CableObstacle::Surface:

List of all members.

Public Member Functions

 Surface ()
 Default constructor creates an empty handle.
 Surface (CablePath &path, const MobilizedBody &mobod, const Transform &X_BS, const ContactGeometry &surface)
 Create a new wrapping surface obstacle and insert it into the given CablePath.
SurfacesetDecorativeGeometry (const DecorativeGeometry &viz)
 Provide visualization geometry to be used to display this obstacle.
SurfacesetNearPoint (const Vec3 &point)
 Optionally provide a "near point" that can be used during path initialization to disambiguate when there is more than one geodesic that can connect the contact points, or when a straight line from the preceding to the following obstacle would miss the obstacle altogether.
SurfacesetContactPointHints (const Vec3 &startHint, const Vec3 &endHint)
 Optionally provide some hints for the initialization algorithm to use as starting guesses for the contact point locations.

Static Public Member Functions

static bool isInstance (const CableObstacle &)
 Return true if the given CableObstacle is a Surface.
static const Surfacedowncast (const CableObstacle &)
 Cast the given CableObstacle to a const Surface; will throw an exception if the obstacle is not a surface.
static SurfaceupdDowncast (CableObstacle &)
 Cast the given CableObstacle to a writable Surface; will throw an exception if the obstacle is not a surface.

Detailed Description

This obstacle is a solid object represented by a ContactGeometry surface.

The cable cannot penetrate the surface and will instead take the shortest path in an allowed direction on the surface.


Constructor & Destructor Documentation

Default constructor creates an empty handle.

SimTK::CableObstacle::Surface::Surface ( CablePath path,
const MobilizedBody mobod,
const Transform X_BS,
const ContactGeometry surface 
)

Create a new wrapping surface obstacle and insert it into the given CablePath.

The surface is fixed to mobilized body mobod and the surface frame S is positioned relative to that body's frame B according to the given transform X_BS.


Member Function Documentation

Provide visualization geometry to be used to display this obstacle.

The frame of the decorative geometry is made coincident with the surface's S frame.

Reimplemented from SimTK::CableObstacle.

Optionally provide a "near point" that can be used during path initialization to disambiguate when there is more than one geodesic that can connect the contact points, or when a straight line from the preceding to the following obstacle would miss the obstacle altogether.

The geodesic or straight line segment that passes closest to the near point will be selected. Without this point the obstacle will be skipped if possible, otherwise the shortest geodesic will be selected. This point is ignored during path continuation calculations. The point location is given in the local frame S of the contact surface.

Surface& SimTK::CableObstacle::Surface::setContactPointHints ( const Vec3 startHint,
const Vec3 endHint 
)

Optionally provide some hints for the initialization algorithm to use as starting guesses for the contact point locations.

These are ignored during path continuation calculations. These locations are given in the local frame S of the contact surface.

static bool SimTK::CableObstacle::Surface::isInstance ( const CableObstacle ) [static]

Return true if the given CableObstacle is a Surface.

static const Surface& SimTK::CableObstacle::Surface::downcast ( const CableObstacle ) [static]

Cast the given CableObstacle to a const Surface; will throw an exception if the obstacle is not a surface.

Cast the given CableObstacle to a writable Surface; will throw an exception if the obstacle is not a surface.


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