Class OrientedChainedFrame2Frame#
Defined in File OrientedChainedFrame2Frame.h
Nested Relationships#
Nested Types#
Inheritance Relationships#
Base Type#
public Karana::Frame::Frame2Frame(Class Frame2Frame)
Derived Type#
public Karana::Dynamics::FramePairHinge(Class FramePairHinge)
Class Documentation#
-
class OrientedChainedFrame2Frame : public Karana::Frame::Frame2Frame#
Frame2Frame class connecting an oframe with a downstream pframe.
The pframe can be arbitrary - as long as it is downstream of the oframe frames tree.
See The frames layer for more discussion on the frames layer.
Subclassed by Karana::Dynamics::FramePairHinge
Public Functions
-
OrientedChainedFrame2Frame(const kc::ks_ptr<Frame> &oframe, const kc::ks_ptr<Frame> &pframe, const std::string &name = "")#
Constructor for OrientedChainedFrame2Frame.
- Parameters:
oframe – oframe of the OrientedChainedFrame2Frame.
pframe – pframe of the OrientedChainedFrame2Frame.
name – the name for the chain
-
virtual const std::string &typeString() const noexcept override#
Returns the type string of LockingBase.
- Returns:
The type string.
-
size_t numEdges() const#
Return the number of edges in this oriented chain.
- Returns:
the number of edges in the chain
-
const std::string getPath() const#
Return the sequence of edge names in this chain as a string.
- Returns:
string with the sequence of edge names
-
std::string dumpString(const std::string &prefix = "", const Base::dumpOptions *options = nullptr) const override#
-
virtual void makeZombie() override#
Make the ChainedFrame2Frame a zombie.
This also removes dependencies for the transform, velocity, and accel caches.
Public Static Functions
-
static const kc::ks_ptr<OrientedChainedFrame2Frame> &lookupOrCreate(const kc::ks_ptr<Frame> &oframe, const kc::ks_ptr<Frame> &pframe)#
Looks up or creates an OrientedChainedFrame2Frame two frames.
- Parameters:
oframe – - The oframe of the oriented chain.
pframe – - The pframe of the oriented chain.
- Returns:
The OrientedChainedFrame2Frame that connects the oframe and pframe.
Protected Functions
-
virtual void _computeTransform(km::HomTran&) override#
Compute the transformation between the oframe and pframe.
- Returns:
The computed homogeneous transformation.
-
virtual void _computeVelocity(km::SpatialVector&) override#
Compute the spatial velocity between the oframe and pframe.
This method uses Exercise 1.8 (Evaluating spatial velocities) to combine the oframe/prfame parent spatial velocity with the pframe edge spatial velocity.
- Returns:
The computed spatial velocity.
-
virtual void _computeAccel(km::SpatialVector&) override#
Compute the spatial acceleration between the oframe and pframe.
This method uses Exercise 1.15 (Evaluating spatial accelerations) to combine the oframe/prfame parent spatial acceleration with the pframe edge spatial acceleration and in the Coriolis contribution.
- Returns:
The computed spatial acceleration.
-
virtual void _makeCurrent() override#
Used to lock the OrientedChainedFrame2Frame.
-
virtual void _makeStale() override#
Used to unlock the OrientedChainedFrame2Frame.
-
void _setup()#
Used to setup the OrientedChainedFrame2Frame.
-
void _discard(kc::ks_ptr<Base> &base) override#
Discard the provided OrientedChainedFrame2Frame.
- Parameters:
base – - Base pointer to the OrientedChainedFrame2Frame to discard.
Protected Attributes
-
kc::ks_ptr<Frame> _pframe_parent = nullptr#
-
kc::ks_ptr<EdgeFrame2Frame> _pframe_edge_f2f = nullptr#
-
kc::ks_ptr<OrientedChainedFrame2Frame> _to_parent_f2f = nullptr#
-
struct dumpOptions : public Karana::Frame::Frame2Frame::dumpOptions#
options struct for dumpString
Public Functions
-
inline dumpOptions &operator=(const dumpOptions &p)#
the copy method
Public Members
-
bool path = true#
Display the edges that make up the path for this chain.
-
inline dumpOptions &operator=(const dumpOptions &p)#
-
OrientedChainedFrame2Frame(const kc::ks_ptr<Frame> &oframe, const kc::ks_ptr<Frame> &pframe, const std::string &name = "")#