Class ChainedFrameToFrame#
Defined in File ChainedFrameToFrame.h
Inheritance Relationships#
Base Type#
public Karana::Frame::FrameToFrame(Class FrameToFrame)
Class Documentation#
-
class ChainedFrameToFrame : public Karana::Frame::FrameToFrame#
FrameToFrame class connecting arbitrary oframe/pframe Frame pairs.
The oframe and pframe frames can be located anywhere in the frames tree.
See Coordinate Frames for more discussion on the frames layer.
Public Functions
-
ChainedFrameToFrame(const kc::ks_ptr<Frame> &oframe, const kc::ks_ptr<Frame> &pframe, std::string_view name = "")#
Constructor for ChainedFrameToFrame.
- Parameters:
oframe – oframe of the ChainedFrameToFrame.
pframe – pframe of the ChainedFrameToFrame.
name – for the chain
-
virtual std::string dumpString(std::string_view prefix = "", const Karana::Core::Base::DumpOptions *options = nullptr) const override#
Return information about the object.
- Parameters:
prefix – A string to use as prefix for each output line
options – Struct with options to tailor the output
- Returns:
String with the information about the object.
Public Static Functions
-
static const kc::ks_ptr<ChainedFrameToFrame> &lookupOrCreate(const kc::ks_ptr<Frame> &oframe, const kc::ks_ptr<Frame> &pframe)#
Looks up or creates a ChainedFrameToFrame between two frames.
- Parameters:
oframe – The oframe of the chain.
pframe – The pframe of the chain.
- Returns:
The ChainedFrameToFrame that connects the oframe and pframe.
Protected Functions
-
virtual void _empty() override#
Empty out the ChainedFrameToFrame completely. This happens when the oframe or pframe associated with the ChainedFrameToFrame is deleted.
-
virtual void _makeStale() override#
Used to tear down cached info - it will be rebuilt.
-
void _setup()#
Used to setup the ChainedFrameToFrame.
must be called by the constructor as well as after a _makeStale() call
-
virtual void _makeCurrent() override#
Used to lock the ChainedFrameToFrame.
-
virtual void _computeTransform(km::HomTran&) override#
Compute the transformation between the oframe and pframe.
-
virtual void _computeVelocity(km::SpatialVector&) override#
Compute the spatial velocity between the oframe and pframe.
-
virtual void _computeAccel(km::SpatialVector&) override#
Compute the spatial acceleration between the oframe and pframe.
-
void _discard(kc::ks_ptr<Base> &base) override#
Discard the provided ChainedFrameToFrame.
- Parameters:
base – - Base pointer to the ChainedFrameToFrame to discard.
-
ChainedFrameToFrame(const kc::ks_ptr<Frame> &oframe, const kc::ks_ptr<Frame> &pframe, std::string_view name = "")#