Class ChainedFrameToFrame#

Inheritance Relationships#

Base Type#

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:
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.