開発メモ/ソースコード解析/Map関連
AlephOneのソースコードより
map.h/map.cpp
- get_*_data(int)
- 指定したインデックスのデータをいろいろ取得できます。インデックスは0から*List.size()まで取得できます。たとえば点のデータならEndpointList.size()未満のインデックスを利用できます。当然マップを読み込んでいない状態では0です。
関数名 実体リスト 内容 ポインタ get_endpoint_data(int) EndpointList 点データ ? get_line_data(int) LineList 線 lines get_side_data(int) SideList 壁 sides get_polygon_data(int) PolygonList ポリゴン polygons get_object_data(int) SavedObjectList 物体 ?
interface.h/import_definitions.cpp
- set_physics_file(FileSpecifier&)
- Physicsファイルを指定します。FileSpecifierは生成時にパスを指定すればOK
- import_definition_structures()
- Physicsファイルから設定を読み込ませる関数です。set_physics_file(FileSpecifier&)を事前に呼んでおく必要があります。set_to_default_physics_file()はどうだったかな?PhysicsEditorOneでは修正点が加わっていることに注意。
- export_definition_structures(const char*)
- 指定したファイルにPhysicsファイルを出力する関数です。
Pfhorte2のソースコードより
注意
Pforte2の作者は点や線のデータに独自のフォーマットを用いているため、AlephOneのソースコードと併用する場合大部分修正する必要があります。
ただしAlephOneのソースコードにはない非常に重要なものばかりです。
CLines.h/CLines.cpp
- ?FixLine(short, Boolean)
- 指定したインデックスの線情報を正しいものにします。線情報に必要なのは・点のインデックス・壁のインデックス・ポリゴンのインデックスとなっているので、これらをこの関数で設定しているようです。
Last Modified: 2007-01-27 14:57:39