#pragma once
#include "AstGlobal.h"
#include "AstUtil/StringView.hpp"
#include "AstUtil/SharedPtr.hpp"
#include "AstCore/GeodeticPoint.hpp"
AST_NAMESPACE_BEGIN
@addtogroup
@{
*/
class AST_SIM_API CentroidPosition
{
public:
CentroidPosition() = default;
~CentroidPosition() = default;
void setBody(Body* body);
Body* body() const{return body_.get();}
const GeodeticPoint& getPosition() const{return position_;}
void setPosition(const GeodeticPoint& position){position_ = position;}
void setLatitude(double latitude) {position_.setLatitude(latitude);}
void setLongitude(double longitude) {position_.setLongitude(longitude);}
void setAltitude(double altitude) {position_.setAltitude(altitude);}
double latitude() const {return position_.latitude();}
double longitude() const {return position_.longitude();}
double altitude() const {return position_.altitude();}
private:
SharedPtr<Body> body_;
GeodeticPoint position_{};
};
AST_NAMESPACE_END