Springhead
An open source physics engine for virtual reality, haptics and motion generation.
クラス UTTypeDesc

型宣言文に対応する

#include <UTTypeDesc.h>

UTTypeDescに対する継承グラフ

構成

class  Composit
 組み立て型をあらわす場合に使う [詳細]
 
class  Field
 構造体等のレコードのフィールドを表す [詳細]
 

Public 型

enum  { BIGVALUE = 0x40000000 }
 
enum  BinaryType {
  UNKNOWN_BINARY, SIMPLE_BINARY, COMPLEX_BINARY, UNKNOWN_BINARY,
  SIMPLE_BINARY, COMPLEX_BINARY
}
 バイナリダンプが可能かどうか
 
enum  { BIGVALUE = 0x40000000 }
 
enum  BinaryType {
  UNKNOWN_BINARY, SIMPLE_BINARY, COMPLEX_BINARY, UNKNOWN_BINARY,
  SIMPLE_BINARY, COMPLEX_BINARY
}
 バイナリダンプが可能かどうか
 

Public メソッド

 SPR_OBJECTDEF (UTTypeDesc)
 
 UTTypeDesc ()
 コンストラクタ
 
 UTTypeDesc (std::string tn, int sz=0)
 コンストラクタ
 
void Print (std::ostream &os) const
 デバッグ用の表示
 
void SetIfInfo (const IfInfo *info)
 
std::string GetTypeName () const
 型名
 
void SetTypeName (const char *s)
 型名
 
size_t GetSize ()
 型のサイズ
 
void SetSize (size_t sz)
 型のサイズ
 
int AddField (std::string pre, std::string ty, std::string n, std::string post)
 フィールドの追加
 
int AddBase (std::string tn)
 baseの追加
 
void SetAccess (Spr::UTAccessBase *a)
 アクセサーの設定
 
void SetOffset (int field, int offset)
 フィールドのオフセットの設定
 
void AddEnumConst (int field, std::string name, int val)
 
bool IsPrimitive ()
 組み立て型かどうか
 
bool IsSimple ()
 文字列やvectorや参照を含まなければ true
 
BinaryType CheckSimple ()
 bFlatの初期化
 
Composit & GetComposit ()
 組み立て型の要素
 
int NFields ()
 組み立て型のフィールドの数
 
UTTypeDescIf * GetFieldType (int i)
 フィールドのTypeDesc
 
int GetFieldLength (int i)
 Fieldが配列の場合の配列の長さを返す
 
int GetFieldVectorSize (int i, const void *base)
 Fieldのvector場合のvectorの長さを返す
 
const char * GetFieldLengthName (int i)
 要素数を別のフィールドからとる場合のフィールド名
 
UTTypeDescIf::FieldType GetFieldVarType (int i)
 vector/配列かどうか
 
bool GetFieldIsReference (int i)
 参照かどうか
 
const char * GetFieldName (int i)
 フィールド名
 
void * GetFieldAddress (int i, void *base, int pos)
 フィールドのアドレスの取得
 
const void * GetFieldAddress (int i, const void *base, int pos)
 
void * GetFieldAddressEx (int i, void *base, int pos)
 フィールドのアドレスを計算.vectorを拡張する.
 
std::string ReadToString (int i, void *base, int pos)
 文字列からフィールドに書き込む
 
void WriteFromString (std::string from, int i, void *base, int pos)
 文字列からフィールドに書き込む
 
void Link (UTTypeDescDb *db)
 フィールドの型情報のリンク
 
bool LinkCheck ()
 リンクの確認
 
const IfInfo * GetIfInfoOfType ()
 
virtual bool IsBool ()
 
virtual bool IsNumber ()
 
virtual bool IsString ()
 
virtual bool ReadBool (const void *ptr)
 TypeDescがboolの単純型の場合に,boolを読み出す関数
 
virtual void WriteBool (bool val, void *ptr)
 TypeDescが数値の単純型の場合に,数値を書き込む関数
 
virtual double ReadNumber (const void *ptr)
 TypeDescが数値の単純型の場合に,数値を読み出す関数
 
virtual void WriteNumber (double val, void *ptr)
 TypeDescが数値の単純型の場合に,数値を書き込む関数
 
virtual std::string ReadString (const void *ptr)
 文字列読み出し
 
virtual void WriteString (const char *val, void *ptr)
 文字列書き込み
 
void * Create ()
 オブジェクトの構築
 
void Delete (void *ptr)
 オブジェクトの後始末
 
void * VectorPush (void *v)
 vector::push_back() return &vector::back();
 
void VectorPop (void *v)
 vector::pop_back();
 
void * VectorAt (void *v, int pos)
 return &vector::at(pos);
 
const void * VectorAt (const void *v, int pos)
 
size_t VectorSize (const void *v)
 return vector::size();
 
size_t SizeOfVector ()
 
void Write (std::ostream &os, void *base)
 ストリームに書き出し
 
void Read (std::istream &is, void *base)
 ストリームから読み出し
 
 SPR_OBJECTDEF (UTTypeDesc)
 
 UTTypeDesc ()
 コンストラクタ
 
 UTTypeDesc (std::string tn, int sz=0)
 コンストラクタ
 
void Print (std::ostream &os) const
 デバッグ用の表示
 
void SetIfInfo (const IfInfo *info)
 
std::string GetTypeName () const
 型名
 
void SetTypeName (const char *s)
 型名
 
size_t GetSize ()
 型のサイズ
 
void SetSize (size_t sz)
 型のサイズ
 
int AddField (std::string pre, std::string ty, std::string n, std::string post)
 フィールドの追加
 
int AddBase (std::string tn)
 baseの追加
 
void SetAccess (Spr::UTAccessBase *a)
 アクセサーの設定
 
void SetOffset (int field, int offset)
 フィールドのオフセットの設定
 
void AddEnumConst (int field, std::string name, int val)
 
bool IsPrimitive ()
 組み立て型かどうか
 
bool IsSimple ()
 文字列やvectorや参照を含まなければ true
 
BinaryType CheckSimple ()
 bFlatの初期化
 
Composit & GetComposit ()
 組み立て型の要素
 
int NFields ()
 組み立て型のフィールドの数
 
UTTypeDescIf * GetFieldType (int i)
 フィールドのTypeDesc
 
int GetFieldLength (int i)
 Fieldが配列の場合の配列の長さを返す
 
int GetFieldVectorSize (int i, const void *base)
 Fieldのvector場合のvectorの長さを返す
 
const char * GetFieldLengthName (int i)
 要素数を別のフィールドからとる場合のフィールド名
 
UTTypeDescIf::FieldType GetFieldVarType (int i)
 vector/配列かどうか
 
bool GetFieldIsReference (int i)
 参照かどうか
 
const char * GetFieldName (int i)
 フィールド名
 
void * GetFieldAddress (int i, void *base, int pos)
 フィールドのアドレスの取得
 
const void * GetFieldAddress (int i, const void *base, int pos)
 
void * GetFieldAddressEx (int i, void *base, int pos)
 フィールドのアドレスを計算.vectorを拡張する.
 
std::string ReadToString (int i, void *base, int pos)
 文字列からフィールドに書き込む
 
void WriteFromString (std::string from, int i, void *base, int pos)
 文字列からフィールドに書き込む
 
void Link (UTTypeDescDb *db)
 フィールドの型情報のリンク
 
bool LinkCheck ()
 リンクの確認
 
const IfInfo * GetIfInfoOfType ()
 
virtual bool IsBool ()
 
virtual bool IsNumber ()
 
virtual bool IsString ()
 
virtual bool ReadBool (const void *ptr)
 TypeDescがboolの単純型の場合に,boolを読み出す関数
 
virtual void WriteBool (bool val, void *ptr)
 TypeDescが数値の単純型の場合に,数値を書き込む関数
 
virtual double ReadNumber (const void *ptr)
 TypeDescが数値の単純型の場合に,数値を読み出す関数
 
virtual void WriteNumber (double val, void *ptr)
 TypeDescが数値の単純型の場合に,数値を書き込む関数
 
virtual std::string ReadString (const void *ptr)
 文字列読み出し
 
virtual void WriteString (const char *val, void *ptr)
 文字列書き込み
 
void * Create ()
 オブジェクトの構築
 
void Delete (void *ptr)
 オブジェクトの後始末
 
void * VectorPush (void *v)
 vector::push_back() return &vector::back();
 
void VectorPop (void *v)
 vector::pop_back();
 
void * VectorAt (void *v, int pos)
 return &vector::at(pos);
 
const void * VectorAt (const void *v, int pos)
 
size_t VectorSize (const void *v)
 return vector::size();
 
size_t SizeOfVector ()
 
void Write (std::ostream &os, void *base)
 ストリームに書き出し
 
void Read (std::istream &is, void *base)
 ストリームから読み出し
 
- Public メソッド inherited from Object
 SPR_OBJECTDEF (Object)
 クラス名の取得などの基本機能の実装
 
ObjectIf * GetObjectIf ()
 
const ObjectIf * GetObjectIf () const
 
virtual void PrintShort (std::ostream &os) const
 
virtual ObjectIf * CreateObject (const IfInfo *info, const void *desc)
 オブジェクトの作成
 
virtual size_t NChildObject () const
 子オブジェクトの数
 
virtual ObjectIf * GetChildObject (size_t pos)
 子オブジェクトの取得
 
virtual const ObjectIf * GetChildObject (size_t pos) const
 
virtual bool AddChildObject (ObjectIf *o)
 子オブジェクトの追加
 
virtual bool DelChildObject (ObjectIf *o)
 子オブジェクトの削除
 
virtual void Clear ()
 すべての子オブジェクトの削除とプロパティのクリア
 
virtual void Loaded (UTLoadContext *)
 ファイルロード後に一度呼ばれる。ノードの設定に使う。 呼び出し順序に依存する処理がしたい場合は、UTLoadHandeler と UTLoadTask を使うと良い。 
 
virtual void Setup ()
 ノードの設定をするための関数
 
virtual bool GetDesc (void *desc) const
 デスクリプタの読み出し(コピー版)
 
virtual void SetDesc (const void *desc)
 デスクリプタの設定
 
virtual const void * GetDescAddress () const
 デスクリプタの読み出し(参照版)
 
virtual size_t GetDescSize () const
 デスクリプタのサイズ
 
virtual bool GetState (void *state) const
 状態の読み出し(コピー版)
 
virtual const void * GetStateAddress () const
 状態の読み出し(参照版)
 
virtual void GetStateR (char *&state)
 状態の再帰的な読み出し
 
virtual void SetState (const void *state)
 状態の設定
 
virtual void SetStateR (const char *&state)
 状態の再帰的な設定
 
virtual bool WriteStateR (std::ostream &fout)
 状態のファイルへの書き出し
 
virtual bool WriteState (std::string fileName)
 
virtual bool ReadStateR (std::istream &fin)
 状態の読み込み
 
virtual bool ReadState (std::string fileName)
 
virtual size_t GetStateSize () const
 状態のサイズ
 
virtual void ConstructState (void *m) const
 メモリブロックを状態型に初期化
 
virtual void DestructState (void *m) const
 状態型をメモリブロックに戻す
 
virtual void DumpObjectR (std::ostream &os, int level=0) const
 メモリデバッグ用。単純にツリーのオブジェクトをファイルにダンプする。
 

Public 変数

std::string typeName
 型名
 
size_t size
 データの長さ
 
Composit composit
 組み立て型の中身の記述.
 
bool bPrimitive
 プリミティブかどうか
 
enum Spr::UTTypeDesc::BinaryType bSimple
 
const IfInfo * ifInfo
 IfInfo.
 
UTRef< UTAccessBase > access
 

フレンド

class UTTypeDescDb
 

Additional Inherited Members

- Protected メソッド inherited from Object
virtual void PrintHeader (std::ostream &os, bool bClose) const
 開き括弧
 
virtual void PrintChildren (std::ostream &os) const
 子オブジェクトをPrint
 
virtual void PrintFooter (std::ostream &os) const
 閉じ括弧
 
virtual void BeforeGetDesc () const
 GetDesc()の前に呼ばれる
 
virtual void AfterSetDesc ()
 SetDesc()のあとに呼ばれる
 
- Static Protected メソッド inherited from Object
static void ConstructState (ObjectIf *o, char *&s)
 sをoのStateとして初期化する.
 
static void DestructState (ObjectIf *o, char *&s)
 sをoのStateからメモリブロックに戻す.
 

このクラスの説明は次のファイルから生成されました: