1 #ifndef SimTK_SIMBODY_CABLE_PATH_H_ 2 #define SimTK_SIMBODY_CABLE_PATH_H_ 40 class CableTrackerSubsystem;
100 const Vec3& defaultOriginPoint,
102 const Vec3& defaultTerminationPoint);
141 void solveForInitialCablePath(
State& state)
const;
146 int getNumObstacles()
const;
154 Real getCableLength(
const State& state)
const;
161 Real getCableLengthDot(
const State& state)
const;
168 void applyBodyForces(
const State& state,
Real tension,
182 Real getIntegratedCableLengthDot(
const State& state)
const;
188 void setIntegratedCableLengthDot(
State& state,
Real value)
const;
195 const Impl&
getImpl()
const {assert(impl);
return *impl;}
233 const Transform& getDefaultTransform()
const;
254 bool isDisabledByDefault()
const;
279 const Impl&
getImpl()
const {assert(impl);
return *impl;}
300 const Vec3& defaultStation);
354 Surface& setContactPointHints(
const Vec3& startHint,
355 const Vec3& endHint);
371 #endif // SimTK_SIMBODY_CABLE_PATH_H_ SimTK_DEFINE_UNIQUE_INDEX_TYPE(AssemblyConditionIndex)
This is the vector class intended to appear in user code for large, variable size column vectors...
Definition: BigMatrix.h:171
Surface & setDecorativeGeometry(const DecorativeGeometry &viz)
Provide visualization geometry to be used to display this obstacle.
Definition: CablePath.h:335
This is a unique integer type for identifying obstacles comprising a particular cable path...
CableObstacle & setDecorativeGeometry(const DecorativeGeometry &viz)
Replace the decorative geometry used for automatically-generated visualization of this obstacle when ...
This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with o...
Definition: Assembler.h:37
Impl & updImpl()
Definition: CablePath.h:280
~CablePath()
Delete the cable path if this handle was the last reference to it.
Definition: CablePath.h:118
Every Simbody header and source file should include this header before any other Simbody header...
This is a point through which the cable must pass.
Definition: CablePath.h:294
SimTK_Real Real
This is the default compiled-in floating point type for SimTK, either float or double.
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:593
This object is intended to contain all state information for a SimTK::System, except topological info...
Definition: State.h:276
Impl & updImpl()
Definition: CablePath.h:196
This subsystem tracks the paths of massless, frictionless cables that take the shortest route between...
Definition: CableTrackerSubsystem.h:68
CablePath()
Default constructor creates an empty cable path not associated with any subsystem; don't use this...
Definition: CablePath.h:193
const Impl & getImpl() const
Definition: CablePath.h:195
~CableObstacle()
Destructor clears the handle, deleting the referenced object if this was the last reference...
Definition: CablePath.h:228
This is the client-side interface to an implementation-independent representation of "Decorations" su...
Definition: DecorativeGeometry.h:86
#define SimTK_SIMBODY_EXPORT
Definition: Simbody/include/simbody/internal/common.h:72
A MobilizedBody is Simbody's fundamental body-and-joint object used to parameterize a system's motion...
Definition: MobilizedBody.h:167
ViaPoint()
Default constructor creates an empty handle.
Definition: CablePath.h:297
An obstacle is any significant object along the cable path – one of the end points, a via point, or a surface.
Definition: CablePath.h:210
This class represents the path of a frictionless cable from an origin point fixed to a body...
Definition: CablePath.h:92
Surface()
Default constructor creates an empty handle.
Definition: CablePath.h:323
bool isEmpty() const
See if this handle is empty.
Definition: CablePath.h:275
This obstacle is a solid object represented by a ContactGeometry surface.
Definition: CablePath.h:320
CableObstacle()
Create an empty obstacle handle that can refer to any type of obstacle.
Definition: CablePath.h:216
const Impl & getImpl() const
Definition: CablePath.h:279