Class Agent

Inheritance Relationships

Derived Types

Class Documentation

class Agent

Agent base class.

Subclassed by lupnt::GroundStation, lupnt::Rover, lupnt::Spacecraft

Public Functions

inline Agent()
inline Real GetEpoch() const
inline NaifId GetBodyId() const
inline bool IsBodyFixed() const
inline Ptr<IState> GetRvState() const
inline Ptr<IDynamics> GetDynamics() const
inline Ptr<AttitudeState> GetAttitudeState() const
inline ClockState GetClockState() const
inline void SetIsBodyFixed(bool is_bodyfixed)
inline virtual void SetRvState(Ptr<IState> rv)
inline void SetDynamics(Ptr<IDynamics> dyn)
inline void SetEpoch(Real epoch)
inline void SetBodyId(NaifId bodyId)
inline void SetClock(ClockState clk)
inline void SetClockDynamics(ClockDynamics &clock_dyn)
inline void AddDevice(Ptr<ICommDevice> device)
inline Ptr<Transmitter> GetTransmitter()
inline Ptr<Receiver> GetReceiver()
virtual CartesianOrbitState GetCartesianGCRFStateAtEpoch(Real epoch) = 0
void Propagate(const Real epoch)

Propagate the agent’s state to the given epoch.

Parameters:

epoch – Epoch to propagate to

VecX GetRvStateAtEpoch(const Real epoch)

Get the Rv State at epoch, wihtout changing the agent’s epoch and state.

Parameters:

epoch – Epoch to get the state at

Returns:

VecX

ClockState GetClockStateAtEpoch(const Real epoch, bool with_noise = true)

Get the Clock State at epoch, wihtout changing the agent’s epoch and state.

Parameters:
  • epoch – Epoch to get the state at

  • with_noise – Propagate with noise

Returns:

ClockState

VecX GetClockStateVecAtEpoch(const Real epoch, bool with_noise = true)

Get the State Vec object.

Returns:

VecX

Protected Attributes

const int id_
std::string name_
bool is_bodyfixed_
NaifId bodyId_
Real epoch_
Ptr<IState> rv_
Ptr<IDynamics> dynamics_
Ptr<AttitudeState> attitude_
std::vector<Ptr<ICommDevice>> devices_
ClockState clock_
std::unique_ptr<ClockDynamics> clock_dynamics_

Protected Static Attributes

static int id_counter_