🛰️航天仿真算法库 SpaceAST 0.3.1
载入中...
搜索中...
未找到
Time.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include <cmath> // for std::isinf
25
26AST_NAMESPACE_BEGIN
27
28
36class Time;
37
38
42AST_CORE_CAPI void aTimeNormalize(Time& time);
43
44
49AST_CORE_CAPI void aTimeFromTotalSecond(double totalSecond, Time& time);
50
51
53class Time
54{
55public:
56 int hour() const{return hour_;}
57 int& hour(){return hour_;}
58 int minute() const{return minute_;}
59 int& minute(){return minute_;}
60 double second() const{return second_;}
61 double& second(){return second_;}
62 void setHour(int hour){hour_ = hour;}
63 void setMinute(int minute){minute_ = minute;}
64 void setSecond(double second){second_ = second;}
68 double totalSecond() const{return hour_ * 3600 + minute_ * 60 + second_;}
72 double dayFraction() const{return second_ / 86400.0 + minute_ / 1440.0 + hour_ / 24.0;}
73
75 bool isInf() const{return std::isinf(second_);}
76public:
79 void normalize(){
80 aTimeNormalize(*this);
81 }
82
85 Time t = *this;
87 return t;
88 }
89public:
90 int hour_;
91 int minute_;
92 double second_;
93};
94
95
98AST_NAMESPACE_END
99
时间
定义 Time.hpp:54
double second_
秒
定义 Time.hpp:92
int minute_
分
定义 Time.hpp:91
double totalSecond() const
获取时间对象的总秒数
定义 Time.hpp:68
Time normalized() const
获取规范化后的时间对象副本
定义 Time.hpp:84
double dayFraction() const
获取时间对象的日分数
定义 Time.hpp:72
int hour_
时
定义 Time.hpp:90
void normalize()
规范化时间对象
定义 Time.hpp:79
bool isInf() const
检查时间对象是否为无穷大
定义 Time.hpp:75
void aTimeFromTotalSecond(double totalSecond, Time &time)
从总秒数创建时间对象
定义 Time.cpp:39
void aTimeNormalize(Time &time)
规范化时间对象
定义 Time.cpp:28
Unit minute
分钟,不要命名为min,容易与std::min冲突
定义 Unit.cpp:467
Unit hour
小时
定义 Unit.cpp:468