Class SpiceFrame#

Inheritance Relationships#

Base Type#

Class Documentation#

class SpiceFrame : public Karana::Frame::Frame#

Class for frames associated with Spice/NAIF bodies.

See Coordinate Frames for more discussion on the frames layer.

Public Functions

SpiceFrame(kc::ks_ptr<FrameContainer> fc, unsigned int naif_body_id, unsigned int naif_frame_id = 999999)#

SpiceFrame constructor. The constructor is not meant to be called directly. Please use the create(…) method instead to create an instance.

Parameters:
  • fc – the FrameContainer

  • naif_body_id – the NAIF body id

  • naif_frame_id – the NAIF frame id

inline virtual std::string_view typeString() const noexcept override#

Returns the type string of Base.

Returns:

The type string.

Public Static Functions

static void loadNaifKernel(const std::filesystem::path &path)#

Method to load a NAIF kernel.

Parameters:

path – path to the kernel

static kc::ks_ptr<SpiceFrame> lookupOrCreate(kc::ks_ptr<FrameContainer> fc, unsigned int naif_body_id, unsigned int naif_frame_id = 999999)#

Factory method to look up, or create a SpiceFrame.

If the NAIF frame id is unspecified, then the default frame for the NAIF body is used.

Parameters:
  • fc – the FrameContainer

  • naif_body_id – the NAIF body id

  • naif_frame_id – the NAIF frame id

Returns:

a new SpiceFrame instance

Protected Functions

void _discard(kc::ks_ptr<Base> &base) override#

Discard the SpiceFrame.

Parameters:

base – - Base pointer to SpiceFrame.

Protected Attributes

unsigned int _naif_frame_id#
unsigned int _naif_body_id#