🛰️航天仿真算法库 SpaceAST 0.3.1
载入中...
搜索中...
未找到
ast::StateBPlane类 参考final

#include <StateBPlane.hpp>

+ 类 ast::StateBPlane 继承关系图:

Public 成员函数

 StateBPlane (const BPlaneElem &bPlaneElem)
 
 StateBPlane (const State &state)
 
EStateType getStateType () const override
 
errc_t getState (CartState &state) const override
 
errc_t getState (ModOrbElem &orbElem) const override
 
errc_t setState (const CartState &state) override
 
errc_t setState (const ModOrbElem &orbElem) override
 
void getState (BPlaneElem &bPlaneElem) const
 
errc_t setState (const BPlaneElem &bPlaneElem)
 
errc_t getRefVector (Vector3d &refVector, const CartState *cartState=nullptr) const
 
void setRefVector (EBPlaneRefVector refVectorType, const Vector3d &refVector=Vector3d::Zero())
 
EBPlaneRefVector getRefVectorType () const
 
- Public 成员函数 继承自 ast::State
errc_t getStateIn (Body *body, GeodeticPoint &geodetic) const
 
errc_t getStateIn (Frame *frame, ModOrbElem &orbElem) const
 
errc_t getStateIn (Frame *frame, CartState &state) const
 
errc_t getStateInBodyInertial (Body *body, CartState &state) const
 
errc_t setFrameByName (StringView frameName)
 
errc_t changeFrame (Frame *frame)
 
void setStateEpoch (const TimePoint &stateEpoch)
 
TimePoint getStateEpoch_TimePoint () const
 
errc_t getStateEpoch (TimePoint &stateEpoch) const
 
SharedPtr< EventTime > & getStateEpochHandle ()
 
Body * getBody () const
 
double getBodyRadius () const
 
double getGM () const
 
void setGM (double gm)
 
void setFrame (Frame *frame)
 
EventTime * getStateEpoch () const
 
void setStateEpoch (EventTime *stateEpoch)
 
- Public 成员函数 继承自 ast::ObjectNamed
 ObjectNamed ()=default
 
 ObjectNamed (StringView name)
 
const std::string & getName () const override
 
void setName (StringView name) override
 
- Public 成员函数 继承自 ast::Object
 Object (Object *parentScope)
 
 Object (std::nullptr_t)
 
virtual Class * getType () const
 
virtual std::string getRepresentation () const
 
const std::string & name () const
 
std::string displayName () const
 
errc_t showEditDialog ()
 
Attribute attr (StringView path)
 
errc_t getAttrBool (StringView path, bool &value) const
 
errc_t getAttrInt (StringView path, int &value) const
 
errc_t getAttrDouble (StringView path, double &value) const
 
errc_t getAttrString (StringView path, std::string &value) const
 
errc_t getAttrObject (StringView path, Object *&value) const
 
double getAttrDouble (StringView path) const
 
int getAttrInt (StringView path) const
 
bool getAttrBool (StringView path) const
 
std::string getAttrString (StringView path) const
 
Object * getAttrObject (StringView path) const
 
errc_t setAttrBool (StringView path, bool value)
 
errc_t setAttrInt (StringView path, int value)
 
errc_t setAttrDouble (StringView path, double value)
 
errc_t setAttrString (StringView path, StringView value)
 
errc_t setAttrObject (StringView path, Object *value)
 
Class * type () const
 
const std::string & typeName () const
 
Property * getProperty (StringView fieldName) const
 
ObjectId getID () const
 
errc_t setParentScope (Object *parentScope)
 
Object * getParentScope () const
 
template<typename T >
T getParent () const
 
bool isOfType (const Class *type) const
 
bool isOfType (StringView typeName) const
 
template<typename T >
bool isOfType () const
 
template<typename Func >
void addDelayedLink (Func &&link)
 
template<typename Func >
void addDelayedLinkIfFailed (Func &&link)
 
void resolveLinks ()
 
bool readOnly () const
 
void setReadOnly (bool readOnly)
 
bool active () const
 
void setActive (bool active)
 
bool isComponent () const
 
void setIsComponent (bool isComponent)
 
bool isEntity () const
 
void setIsEntity (bool isEntity)
 
const char * tr (const char *msg) const
 
 Referenced ()
 
 Referenced (initial_strong_ref_t)
 
- Public 成员函数 继承自 ast::Referenced
 Referenced (initial_strong_ref_t)
 
uint32_t refCount () const
 
uint32_t weakRefCount () const
 
bool isDestructed () const
 
void destruct ()
 
uint32_t incWeakRef ()
 
uint32_t decWeakRef ()
 
uint32_t incRef ()
 
uint32_t decRef ()
 
uint32_t decRefNoDelete ()
 

静态 Public 成员函数

static PStateBPlane New ()
 
static HStateBPlane MakeShared ()
 
static PStateBPlane New (const BPlaneElem &bPlaneElem)
 
static HStateBPlane MakeShared (const BPlaneElem &bPlaneElem)
 
- 静态 Public 成员函数 继承自 ast::State
static PState NewDefault ()
 
static HState MakeShared (EStateType type)
 
static HState MakeShared (State &state, EStateType type)
 
static PState New (EStateType type)
 
static PState New (State &state, EStateType type)
 
- 静态 Public 成员函数 继承自 ast::Object
static Object * Resolve (StringView value)
 
static void ClassInit (Class *cls)
 
static Class * StaticType ()
 

Protected 成员函数

errc_t getCartesianState (CartState &state) const
 
void setRA (angle_d ra)
 
angle_d getDec () const
 
void setDec (angle_d dec)
 
length_d getBDotR () const
 
void setBDotR (length_d bDotR)
 
length_d getBDotT () const
 
void setBDotT (length_d bDotT)
 
double getC3 () const
 
void setC3 (double c3)
 
angle_d getTrueAnomaly () const
 
void setTrueAnomaly (angle_d trueA)
 
- Protected 成员函数 继承自 ast::State
 State (const State &state)
 
- Protected 成员函数 继承自 ast::Object
 Object (const Object &)
 
Object & operator= (const Object &)
 
- Protected 成员函数 继承自 ast::Referenced
void setDestructed ()
 

Protected 属性

AST_PROPERTIES : angle_d getRA() const { return bPlaneElem_.ra_
 
BPlaneElem bPlaneElem_ {}
 
EBPlaneRefVector refVectorType_ {EBPlaneRefVector::eBodyOrbitNormal}
 
Vector3d refVector_ {}
 
- Protected 属性 继承自 ast::State
SharedPtr< Frame > frame_ {}
 
double gm_ {0}
 
SharedPtr< EventTime > stateEpoch_ {}
 

额外继承的成员函数

- Public 属性 继承自 ast::State
AST_PROPERTIES : Frame* getFrame() const{ return frame_.get()
 
- 静态 Public 属性 继承自 ast::Object
static Class staticType
 

详细描述

B平面状态

B平面状态使用入渐近线方向和B矢量描述航天器相对中心天体的状态, 主要用于双曲线到达轨迹(月球或行星借力飞越)。 具体的转换算法和退化处理参见 aCartToBPlane 和 aBPlaneToCart 。

注解
该状态需要参考坐标系(提供中心天体与引力常数)和状态历元: 默认参考向量(B平面R、T轴的定义依据)为中心天体绕其父天体的轨道法向, 需要星历数据支持, 可通过 setRefVector 修改。

成员函数说明

◆ getCartesianState()

errc_t ast::StateBPlane::getCartesianState ( CartState & state) const
protected

获取笛卡尔状态(用于由B平面参数反算)

参数
state输出笛卡尔状态
返回
错误码,成功返回eNoError

◆ getRefVector()

errc_t ast::StateBPlane::getRefVector ( Vector3d & refVector,
const CartState * cartState = nullptr ) const

获取B平面参考向量(单位矢量)

参考向量用于确定B平面的R、T轴, 参见 EBPlaneRefVector

参数
refVector输出参考向量
cartState当前笛卡尔状态, 仅当参考向量类型为eSpacecraftOrbitNormal时使用; 该类型下B平面参数与参考向量相互依赖(B·R恒为0), 因此由B平面参数 反算直角坐标时无法确定参考向量, 此时本函数返回eErrorInvalidParam
返回
错误码,成功返回eNoError

◆ getRefVectorType()

EBPlaneRefVector ast::StateBPlane::getRefVectorType ( ) const
inline

获取参考向量类型

返回
EBPlaneRefVector 参考向量类型

◆ getState() [1/3]

void ast::StateBPlane::getState ( BPlaneElem & bPlaneElem) const
inline

获取B平面根数

参数
bPlaneElem输出B平面根数

◆ getState() [2/3]

errc_t ast::StateBPlane::getState ( CartState & state) const
overridevirtual

获取状态

参数
state状态
返回
errc_t 错误码

实现了 ast::State.

◆ getState() [3/3]

errc_t ast::StateBPlane::getState ( ModOrbElem & orbElem) const
overridevirtual

获取状态

参数
orbElem轨道根数
返回
errc_t 错误码

实现了 ast::State.

◆ getStateType()

EStateType ast::StateBPlane::getStateType ( ) const
inlineoverridevirtual

获取状态类型

返回
EStateType 状态类型

实现了 ast::State.

◆ setRefVector()

void ast::StateBPlane::setRefVector ( EBPlaneRefVector refVectorType,
const Vector3d & refVector = Vector3d::Zero() )

设置B平面参考向量

参数
refVectorType参考向量类型
refVector自定义参考向量, 仅当refVectorType为eCustom时使用

◆ setState() [1/3]

errc_t ast::StateBPlane::setState ( const BPlaneElem & bPlaneElem)

设置B平面根数

参数
bPlaneElemB平面根数
返回
错误码,成功返回eNoError

◆ setState() [2/3]

errc_t ast::StateBPlane::setState ( const CartState & state)
overridevirtual

设置状态

参数
state状态
返回
errc_t 错误码

实现了 ast::State.

◆ setState() [3/3]

errc_t ast::StateBPlane::setState ( const ModOrbElem & orbElem)
overridevirtual

设置状态

参数
orbElem轨道根数
返回
errc_t 错误码

实现了 ast::State.


该类的文档由以下文件生成: