Simbody  3.7
SimTK::CableObstacle::Surface Class Reference

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

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

Public Member Functions

 Surface ()
 Default constructor creates an empty handle. More...
 
 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. More...
 
SurfacesetDecorativeGeometry (const DecorativeGeometry &viz)
 Provide visualization geometry to be used to display this obstacle. More...
 
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. More...
 
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. More...
 
- Public Member Functions inherited from SimTK::CableObstacle
 CableObstacle ()
 Create an empty obstacle handle that can refer to any type of obstacle. More...
 
 CableObstacle (CablePath &path)
 Insert this obstacle into the given cable path. More...
 
 CableObstacle (const CableObstacle &source)
 Copy constructor is shallow and reference-counted; this handle will point to the same object as does the source. More...
 
CableObstacleoperator= (const CableObstacle &source)
 Copy assignment is shallow and reference-counted; this handle will point to the same object as does the source. More...
 
 ~CableObstacle ()
 Destructor clears the handle, deleting the referenced object if this was the last reference. More...
 
const TransformgetDefaultTransform () const
 Return the default pose X_BS of the obstacle S on its body B. More...
 
const MobilizedBodygetMobilizedBody () const
 Get a reference to the Mobilized body to which this obstacle is fixed. More...
 
const CablePathgetCablePath () const
 Return a reference to the CablePath in which this obstacle resides. More...
 
CableObstacleIndex getObstacleIndex () const
 Return the obstacle index within this obstacle's CablePath. More...
 
const DecorativeGeometrygetDecorativeGeometry () const
 Return decorative geometry that can be used to display this obstacle. More...
 
DecorativeGeometryupdDecorativeGeometry ()
 Obtain writable access to the decorative geometry stored with this obstacle so you can modify it. More...
 
bool isDisabledByDefault () const
 Is this obstacle disabled by default? Note that this does not tell you whether it is currently disabled, just the setting that determines how it is treated when the system is first constructed. More...
 
CableObstaclesetDisabledByDefault (bool shouldBeDisabled)
 Set the "disabled by default" flag. More...
 
CableObstaclesetDefaultTransform (const Transform &X_BS)
 Replace the default transform for this obstacle; this is usually set in the constructor. More...
 
CableObstaclesetDecorativeGeometry (const DecorativeGeometry &viz)
 Replace the decorative geometry used for automatically-generated visualization of this obstacle when visualizing the cable path. More...
 
void clear ()
 Clear this handle, deleting the referenced object if this was the last reference. More...
 
bool isEmpty () const
 See if this handle is empty. More...
 
const Impl & getImpl () const
 
Impl & updImpl ()
 

Static Public Member Functions

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

Additional Inherited Members

- Protected Member Functions inherited from SimTK::CableObstacle
 CableObstacle (Impl *impl)
 

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

◆ Surface() [1/2]

Default constructor creates an empty handle.

◆ Surface() [2/2]

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

◆ setDecorativeGeometry()

Surface& SimTK::CableObstacle::Surface::setDecorativeGeometry ( const DecorativeGeometry viz)
inline

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.

◆ setNearPoint()

Surface& SimTK::CableObstacle::Surface::setNearPoint ( 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.

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.

◆ setContactPointHints()

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.

◆ isInstance()

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

Return true if the given CableObstacle is a Surface.

◆ downcast()

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.

◆ updDowncast()

static Surface& SimTK::CableObstacle::Surface::updDowncast ( CableObstacle )
static

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: