ARTSAT API  2.7.1
 全て クラス ファイル 関数 変数 型定義 列挙型 列挙型の値 マクロ定義 ページ
クラス ofxSATTemplate

各種さまざまな衛星を表すクラスを実装する起点となるテンプレートクラス [詳細]

ofxSATTemplateに対する継承グラフ
ofxSATTemplateのコラボレーション図

Public 型

enum  SensorEnum { SENSOR_NONE = super::SENSOR_LIMIT, SENSOR_LIMIT }
 
typedef ofxSATTemplate self
 
typedef ofxSATLocalDB super
 
enum  FormatEnum {
  FORMAT_BOOL, FORMAT_INT, FORMAT_DOUBLE, FORMAT_STRING,
  FORMAT_OFXSATTIME, FORMAT_LIMIT
}
 
enum  UnitEnum {
  UNIT_NONE, UNIT_UNDEFINED, UNIT_GV, UNIT_MV,
  UNIT_kV, UNIT_V, UNIT_mV, UNIT_uV,
  UNIT_nV, UNIT_GA, UNIT_MA, UNIT_kA,
  UNIT_A, UNIT_mA, UNIT_uA, UNIT_nA,
  UNIT_GW, UNIT_MW, UNIT_kW, UNIT_W,
  UNIT_mW, UNIT_uW, UNIT_nW, UNIT_GWh,
  UNIT_MWh, UNIT_kWh, UNIT_Wh, UNIT_mWh,
  UNIT_uWh, UNIT_nWh, UNIT_GJ, UNIT_MJ,
  UNIT_kJ, UNIT_J, UNIT_mJ, UNIT_uJ,
  UNIT_nJ, UNIT_Gm, UNIT_Mm, UNIT_km,
  UNIT_m, UNIT_mm, UNIT_um, UNIT_nm,
  UNIT_rad, UNIT_deg, UNIT_Gm_s, UNIT_Mm_s,
  UNIT_km_s, UNIT_m_s, UNIT_mm_s, UNIT_um_s,
  UNIT_nm_s, UNIT_rad_s, UNIT_deg_s, UNIT_Gm_ss,
  UNIT_Mm_ss, UNIT_km_ss, UNIT_m_ss, UNIT_mm_ss,
  UNIT_um_ss, UNIT_nm_ss, UNIT_rad_ss, UNIT_deg_ss,
  UNIT_GK, UNIT_MK, UNIT_kK, UNIT_K,
  UNIT_mK, UNIT_uK, UNIT_nK, UNIT_degC,
  UNIT_degF, UNIT_GT, UNIT_MT, UNIT_kT,
  UNIT_T, UNIT_mT, UNIT_uT, UNIT_nT,
  UNIT_LIMIT
}
 
typedef int SensorType
 

Public メソッド

 ofxSATTemplate (void)
 
virtual ~ofxSATTemplate (void)
 
virtual ofxSATError getAvailableCount (int *result) const
 
virtual ofxSATError getAvailableCount (ofxSATTime const &begin, ofxSATTime const &end, int *result) const
 
virtual ofxSATError getAvailableTime (std::vector< ofxSATTime > *result) const
 
virtual ofxSATError getAvailableTime (ofxSATTime const &begin, ofxSATTime const &end, std::vector< ofxSATTime > *result) const
 
virtual ofxSATError getSensorFormat (SensorType sensor, FormatEnum *result) const
 
virtual ofxSATError getSensorUnit (SensorType sensor, UnitEnum *result) const
 
virtual ofxSATError getSensorMinimum (SensorType sensor, void *result, int size) const
 
virtual ofxSATError getSensorMaximum (SensorType sensor, void *result, int size) const
 
virtual ofxSATError getSensorData (SensorType sensor, ofxSATTime const &time, void *result, int size, bool *simulation=NULL) const
 
virtual ofxSATError setup (void)
 
virtual void cleanup (void)
 
virtual ofxSATError update (ofxSATTime const &time=ofxSATTime::currentTime())
 
std::string const & getID (void) const
 
ofxSATError getTLE (TLERec *tle, ofxSATTime *time=NULL) const
 
ofxSATError setNotifier (Notifier *param)
 
NotifiergetNotifier (void) const
 
bool isValid (void) const
 

Protected メソッド

ofxSQLite * getSQL (void) const
 
ofxSATError beginSQLTransaction (void) const
 
void endSQLTransaction (void) const
 
ofxSATError makeSQLTable (std::string const &table, std::string const &content) const
 
ofxSATError optimizeSQL (void) const
 
void setID (std::string const &param)
 
void setTLE (TLERec const &tle, ofxSATTime const &time)
 
void notifyData (ofxSATTime const &time) const
 
void notifyFinish (ofxSATError const &error) const
 

Static Protected メソッド

static std::string convertToSQLTime (ofxSATTime const &param)
 
static ofxSATError convertSQLTimeTo (std::string const &string, ofxSATTime *result)
 
static std::string trimSpace (std::string const &param)
 
static std::string trimNonNumeric (std::string const &param)
 
static std::string replaceString (std::string const &string, std::string const &from, std::string const &to)
 
static ofxSATError checkSize (FormatEnum format, int size)
 

説明

各種さまざまな衛星を表すクラスを実装する起点となるテンプレートクラス

ofxSATTemplate クラスは各種さまざまな衛星を表すクラスを実装するときの起点となる実装を定義します。 具体的な衛星を表すクラスはこのクラスの実装を参考にして作成することができます。 このクラスはテンプレートとして実装を参考にするためのクラスなので、このクラスのインスタンスを作成しても有意義では有りません。

型定義

自クラスを表す型の別名です。

親クラスを表す型の別名です。

typedef int ofxSAT::SensorType
inherited

センサを表す型です。 ofxSAT::SensorEnum 型は直接使用されることはなくセンサを表すには ofxSAT::SensorType 型を使用します。 ofxSAT::SensorType 型の変数には ofxSAT::SensorEnum 型の定数を代入します。

列挙型

衛星がサポートしているセンサを表す定数です。 ofxSATTemplate::SENSOR_LIMIT は具体的なセンサを表す値ではなくセンサ定数の最大値を表します。

列挙型の値:
SENSOR_NONE 

サンプルセンサ

SENSOR_LIMIT 

センサ定数の最大値

enum ofxSAT::FormatEnum
inherited

センサの値の書式を表す定数です。 ofxSAT::FORMAT_LIMIT は具体的な書式を表す値ではなく書式定数の最大値を表します。

列挙型の値:
FORMAT_BOOL 

bool 型

FORMAT_INT 

int 型

FORMAT_DOUBLE 

double 型

FORMAT_STRING 

std::string 型

FORMAT_OFXSATTIME 

ofxSATTime

FORMAT_LIMIT 

書式定数の最大値

enum ofxSAT::UnitEnum
inherited

センサの値の単位を表す定数です。 ofxSAT::UNIT_LIMIT は具体的な単位を表す値ではなく単位定数の最大値を表します。

列挙型の値:
UNIT_NONE 

単位なし

UNIT_UNDEFINED 

定義されていない

UNIT_GV 

ギガボルト

UNIT_MV 

メガボルト

UNIT_kV 

キロボルト

UNIT_V 

ボルト

UNIT_mV 

ミリボルト

UNIT_uV 

マイクロボルト

UNIT_nV 

ナノボルト

UNIT_GA 

ギガアンペア

UNIT_MA 

メガアンペア

UNIT_kA 

キロアンペア

UNIT_A 

アンペア

UNIT_mA 

ミリアンペア

UNIT_uA 

マイクロアンペア

UNIT_nA 

ナノアンペア

UNIT_GW 

ギガワット

UNIT_MW 

メガワット

UNIT_kW 

キロワット

UNIT_W 

ワット

UNIT_mW 

ミリワット

UNIT_uW 

マイクロワット

UNIT_nW 

ナノワット

UNIT_GWh 

ギガワット時

UNIT_MWh 

メガワット時

UNIT_kWh 

キロワット時

UNIT_Wh 

ワット時

UNIT_mWh 

ミリワット時

UNIT_uWh 

マイクロワット時

UNIT_nWh 

ナノワット時

UNIT_GJ 

ギガジュール

UNIT_MJ 

メガジュール

UNIT_kJ 

キロジュール

UNIT_J 

ジュール

UNIT_mJ 

ミリジュール

UNIT_uJ 

マイクロジュール

UNIT_nJ 

ナノジュール

UNIT_Gm 

ギガメートル

UNIT_Mm 

メガメートル

UNIT_km 

キロメートル

UNIT_m 

メートル

UNIT_mm 

ミリメートル

UNIT_um 

マイクロメートル

UNIT_nm 

ナノメートル

UNIT_rad 

ラジアン

UNIT_deg 

角度

UNIT_Gm_s 

ギガメートル毎秒

UNIT_Mm_s 

メガメートル毎秒

UNIT_km_s 

キロメートル毎秒

UNIT_m_s 

メートル毎秒

UNIT_mm_s 

ミリメートル毎秒

UNIT_um_s 

マイクロメートル毎秒

UNIT_nm_s 

ナノメートル毎秒

UNIT_rad_s 

ラジアン毎秒

UNIT_deg_s 

角度毎秒

UNIT_Gm_ss 

ギガメートル毎秒毎秒

UNIT_Mm_ss 

メガメートル毎秒毎秒

UNIT_km_ss 

キロメートル毎秒毎秒

UNIT_m_ss 

メートル毎秒毎秒

UNIT_mm_ss 

ミリメートル毎秒毎秒

UNIT_um_ss 

マイクロメートル毎秒毎秒

UNIT_nm_ss 

ナノメートル毎秒毎秒

UNIT_rad_ss 

ラジアン毎秒毎秒

UNIT_deg_ss 

角度毎秒毎秒

UNIT_GK 

ギガケルビン

UNIT_MK 

メガケルビン

UNIT_kK 

キロケルビン

UNIT_K 

ケルビン

UNIT_mK 

ミリケルビン

UNIT_uK 

マイクロケルビン

UNIT_nK 

ナノケルビン

UNIT_degC 

摂氏度

UNIT_degF 

華氏度

UNIT_GT 

ギガテスラ

UNIT_MT 

メガテスラ

UNIT_kT 

キロテスラ

UNIT_T 

テスラ

UNIT_mT 

ミリテスラ

UNIT_uT 

マイクロテスラ

UNIT_nT 

ナノテスラ

UNIT_LIMIT 

単位定数の最大値

コンストラクタとデストラクタ

ofxSATTemplate::ofxSATTemplate ( void  )
explicit

コンストラクタです。 初期化に必要な最低限の処理をおこないます。

ofxSATTemplate::~ofxSATTemplate ( void  )
virtual

デストラクタです。 管理しているリソースを解放します。

関数

ofxSATError ofxSATTemplate::getAvailableCount ( int *  result) const
virtual

センサデータを取得可能な時刻の数を取得します。

引数
[out]result取得結果
戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正
SATERROR_INVALID_PARAMパラメータが不正

ofxSATを再定義しています。

ofxSATError ofxSATTemplate::getAvailableCount ( ofxSATTime const &  begin,
ofxSATTime const &  end,
int *  result 
) const
virtual

引数に指定した時間範囲の中でセンサデータを取得可能な時刻の数を取得します。 時間範囲は [begin, end) で指定します。

引数
[in]begin開始時刻(以上)
[in]end終了時刻(未満)
[out]result取得結果
戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正
SATERROR_INVALID_PARAMパラメータが不正

ofxSATを再定義しています。

ofxSATError ofxSATTemplate::getAvailableTime ( std::vector< ofxSATTime > *  result) const
virtual

センサデータを取得可能な時刻のリストを取得します。

引数
[out]result取得結果
戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正
SATERROR_INVALID_PARAMパラメータが不正

ofxSATを再定義しています。

ofxSATError ofxSATTemplate::getAvailableTime ( ofxSATTime const &  begin,
ofxSATTime const &  end,
std::vector< ofxSATTime > *  result 
) const
virtual

引数に指定した時間範囲の中でセンサデータを取得可能な時刻のリストを取得します。 時間範囲は [begin, end) で指定します。

引数
[in]begin開始時刻(以上)
[in]end終了時刻(未満)
[out]result取得結果
戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正
SATERROR_INVALID_PARAMパラメータが不正

ofxSATを再定義しています。

ofxSATError ofxSATTemplate::getSensorFormat ( SensorType  sensor,
FormatEnum result 
) const
virtual

センサの種類に応じた書式を取得します。

引数
[in]sensorofxSATTemplate::SensorEnum 型のセンサ定数
[out]result取得結果
戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正
SATERROR_INVALID_PARAMパラメータが不正

ofxSATを再定義しています。

ofxSATError ofxSATTemplate::getSensorUnit ( SensorType  sensor,
UnitEnum result 
) const
virtual

センサの種類に応じた単位を取得します。

引数
[in]sensorofxSATTemplate::SensorEnum 型のセンサ定数
[out]result取得結果
戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正
SATERROR_INVALID_PARAMパラメータが不正

ofxSATを再定義しています。

ofxSATError ofxSATTemplate::getSensorMinimum ( SensorType  sensor,
void *  result,
int  size 
) const
virtual

センサの種類に応じた最小値を取得します。

引数
[in]sensorofxSATTemplate::SensorEnum 型のセンサ定数
[out]result取得結果
[in]sizeresult に指定した変数のバイト数
戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正
SATERROR_INVALID_PARAMパラメータが不正

ofxSATを再定義しています。

ofxSATError ofxSATTemplate::getSensorMaximum ( SensorType  sensor,
void *  result,
int  size 
) const
virtual

センサの種類に応じた最大値を取得します。

引数
[in]sensorofxSATTemplate::SensorEnum 型のセンサ定数
[out]result取得結果
[in]sizeresult に指定した変数のバイト数
戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正
SATERROR_INVALID_PARAMパラメータが不正

ofxSATを再定義しています。

ofxSATError ofxSATTemplate::getSensorData ( SensorType  sensor,
ofxSATTime const &  time,
void *  result,
int  size,
bool *  simulation = NULL 
) const
virtual

センサの種類に応じた指定された時刻のデータを取得します。 データ自体を取得する必要がないときは result 引数に NULL を、 シミュレーションか否かを取得する必要がときには simulation 引数に NULL を指定することができます。

引数
[in]sensorofxSATTemplate::SensorEnum 型のセンサ定数
[in]timeデータを取得する時刻
[out]result取得結果
  • NULL : 結果を返さない
  • その他
[in]sizeresult に指定した変数のバイト数
[out]simulation取得結果はシミュレーション
  • NULL : 結果を返さない
  • その他
戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正

ofxSATを再定義しています。

ofxSATError ofxSATTemplate::setup ( void  )
virtual

データの取得やさまざまな機能を利用できるように初期化をおこないます。

戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正

ofxSATLocalDBを再定義しています。

void ofxSATTemplate::cleanup ( void  )
virtual

データの取得やさまざまな機能を利用するために確保したリソースを解放します。

戻り値
なし

ofxSATLocalDBを再定義しています。

ofxSATError ofxSATTemplate::update ( ofxSATTime const &  time = ofxSATTime::currentTime())
virtual

希望する時刻のデータを更新するように要求します。

引数
[in]time希望する時刻
戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正

ofxSATを再定義しています。

ofxSQLite * ofxSATLocalDB::getSQL ( void  ) const
protectedinherited

ofxSQLite クラスのインスタンスを取得します。

戻り値
ofxSQLite クラスのインスタンスへのポインタ
戻り値
NULLsetup() が正常に終了していない
その他
ofxSATError ofxSATLocalDB::beginSQLTransaction ( void  ) const
protectedinherited

SQL トランザクションを開始します。

戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正
SATERROR_FAILEDSQL トランザクションの開始に失敗
void ofxSATLocalDB::endSQLTransaction ( void  ) const
protectedinherited

SQL トランザクションを終了します。

戻り値
なし
ofxSATError ofxSATLocalDB::makeSQLTable ( std::string const &  table,
std::string const &  content 
) const
protectedinherited

SQL テーブルを作成します。

table 引数にはテーブルの名称、content 引数にはテーブルのフォーマットを定義する文字列を

makeSQLTable("_my_table_", "id INTEGER, name TEXT, info TEXT");

のように設定します。

引数
[in]tableテーブルの名称
[in]contentテーブルのフォーマットを定義する文字列
戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正
SATERROR_FAILEDSQL テーブルの作成に失敗
ofxSATError ofxSATLocalDB::optimizeSQL ( void  ) const
protectedinherited

データベースを整理して最適化します。

戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正
SATERROR_FAILEDデータベースの整理に失敗
std::string ofxSATLocalDB::convertToSQLTime ( ofxSATTime const &  param)
staticprotectedinherited

ofxSATTime 型の時刻を SQL の時刻表現に変換します。

引数
[in]param変換する時刻
戻り値
SQL の時刻を表す文字列
ofxSATError ofxSATLocalDB::convertSQLTimeTo ( std::string const &  string,
ofxSATTime result 
)
staticprotectedinherited

SQL の時刻表現を ofxSATTime 型の時刻に変換します。

引数
[in]stringSQL の時刻を表す文字列
[out]result変換結果
戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_PARAMパラメータが不正
その他
std::string const & ofxSAT::getID ( void  ) const
inherited

ID を取得します。

戻り値
現在の ID
ofxSATError ofxSAT::getTLE ( TLERec tle,
ofxSATTime time = NULL 
) const
inherited

TLE 情報と TLE を取得した時刻を取得します。 tle パラメータは NULL を指定できませんが、time パラメータは NULL を指定してもかまいません。

引数
[out]tleTLE 情報
[out]timeTLE を取得した時刻
  • NULL : 結果を返さない
  • その他
戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATETLE 情報が設定されていない
SATERROR_INVALID_PARAMtle パラメータが不正
ofxSATError ofxSAT::setNotifier ( Notifier param)
inherited

通知先クラスを設定します。 setup() 関数を呼び出す前に通知先を設定します。 引数に NULL を指定すると通知されなくなります。

引数
[in]param通知先クラスのインスタンスへのポインタ
  • NULL : 通知しない
  • その他
戻り値
エラー情報
戻り値
SATERROR_OK正常終了
SATERROR_INVALID_STATE呼び出すタイミングが不正
ofxSAT::Notifier * ofxSAT::getNotifier ( void  ) const
inherited

通知先クラスを取得します。

戻り値
現在の通知先クラスのインスタンスへのポインタ
戻り値
NULL通知先クラスは設定されていない
その他
bool ofxSAT::isValid ( void  ) const
inherited

setup() が正常におこなわれ、データの取得が可能かどうかを検証します。

戻り値
検証結果
戻り値
true可能
false不可能
void ofxSAT::setID ( std::string const &  param)
protectedinherited

ID を設定します。

引数
[in]param設定する ID
戻り値
なし
void ofxSAT::setTLE ( TLERec const &  tle,
ofxSATTime const &  time 
)
protectedinherited

TLE 情報と TLE を取得した時刻を設定します。 通知先クラスが設定されていて TLE 情報もしくは時刻が更新されたときには、 通知先クラスの Notifier::onNotifyTLE() 関数を ofEvent を利用してスレッドセーフに呼び出します。

引数
[in]tleTLE 情報
[in]timeTLE を取得した時刻
戻り値
なし
void ofxSAT::notifyData ( ofxSATTime const &  time) const
protectedinherited

通知先クラスが設定されているときには、 通知先クラスの Notifier::onNotifyData() 関数を ofEvent を利用してスレッドセーフに呼び出します。

引数
[in]time新しいデータの時刻
戻り値
なし
void ofxSAT::notifyFinish ( ofxSATError const &  error) const
protectedinherited

通知先クラスが設定されているときには、 通知先クラスの Notifier::onNotifyFinish() 関数を ofEvent を利用してスレッドセーフに呼び出します。

引数
[in]errorエラー情報
戻り値
なし
std::string ofxSAT::trimSpace ( std::string const &  param)
staticprotectedinherited

引数に指定した文字列から半角スペースをすべて削除します。

覚え書き
この関数は ofxSAT クラスを継承した具象クラスを作成するときに利用できるユーティリティー関数です。
引数
[in]param文字列
戻り値
新しい文字列
std::string ofxSAT::trimNonNumeric ( std::string const &  param)
staticprotectedinherited

引数に指定した文字列から半角数字と '+', '-', '.' 以外の文字をすべて削除します。

覚え書き
この関数は ofxSAT クラスを継承した具象クラスを作成するときに利用できるユーティリティー関数です。
引数
[in]param文字列
戻り値
新しい文字列
std::string ofxSAT::replaceString ( std::string const &  string,
std::string const &  from,
std::string const &  to 
)
staticprotectedinherited

引数に指定した文字列の中の特定の文字列を新しい文字列にすべて置換します。

覚え書き
この関数は ofxSAT クラスを継承した具象クラスを作成するときに利用できるユーティリティー関数です。
引数
[in]string処理対象の文字列
[in]from置換される文字列
[in]to置換する文字列
戻り値
新しい文字列
ofxSATError ofxSAT::checkSize ( FormatEnum  format,
int  size 
)
staticprotectedinherited

format 引数に指定した書式のデータを表現するのに必要なバイト数よりも size 引数に指定した値が大きいかどうかを検証します。

覚え書き
この関数は ofxSAT クラスを継承した具象クラスを作成するときに利用できるユーティリティー関数です。
引数
[in]format書式
[in]sizeバイト数
戻り値
エラー情報
戻り値
SATERROR_OKsize >= 必要なバイト数
SATERROR_FAILED書式が不正
SATERROR_INVALID_PARAMsize < 必要なバイト数