Closed usagi closed 6 years ago
API 追加
/// @param id GeoObject ID
/// return ビルボード設定が有効な場合は true, それ以外は false
bool IsBillboard( int32 id );
/// @param id GeoObject ID
/// @param is_billboard ビルボード設定を有効にする場合は true, それ以外は false
void SetBillboard( const bool is_billboard ) const;
API Reference 書いた:
実装した。
curl -Ss -i http://127.0.0.1:50080/api/json-rpc-2.0/ -X POST --data '{ "jsonrpc": "2.0", "id": null, "method": "GeoObject.New" }'
curl -Ss -i http://127.0.0.1:50080/api/json-rpc-2.0/ -X POST --data '{ "jsonrpc": "2.0", "id": null, "method": "GeoObject.SetVertexLocal", "params": { "id": 0, "vertices": [ 0.0, 0.0, 0.0, -1000, 0, -1000, 1000, 0, -1000, -1000, 0, 1000, 1000, 0, 1000 ] } }'
curl -Ss -i http://127.0.0.1:50080/api/json-rpc-2.0/ -X POST --data '{ "jsonrpc": "2.0", "id": null, "method": "GeoObject.SetUV", "params": { "id": 0, "uvs": [ 0.5,0.5, 0,1, 1,1, 0,0, 1,0 ] } }'
curl -Ss -i http://127.0.0.1:50080/api/json-rpc-2.0/ -X POST --data '{ "jsonrpc": "2.0", "id": null, "method": "GeoObject.SetLocationByAltLatLon", "params": { "id": 0, "location": [ 1898.0, 42.826667, 140.811389 ] } }'
curl -Ss -i http://127.0.0.1:50080/api/json-rpc-2.0/ -X POST --data '{ "jsonrpc": "2.0", "id": null, "method": "GeoObject.SetIndex", "params": { "id": 0, "indices": [ 0,1,2, 0,3,1, 0,2,4, 0,4,3, 0,2,1, 0,1,3, 0,4,2, 0,3,4 ] } }'
curl -Ss -i http://127.0.0.1:50080/api/json-rpc-2.0/ -X POST --data '{ "jsonrpc": "2.0", "id": null, "method": "GeoObject.SetMaterialType", "params": { "id": 0, "material_type": "Texture" } }'
curl -Ss -i http://127.0.0.1:50080/api/json-rpc-2.0/ -X POST --data '{ "jsonrpc": "2.0", "id": null, "method": "GeoObject.SetBillboard", "params": { "id": 0, "is_billboard": true } }'
常にカメラを向く地物を扱えるようになった。
テクスチャーを EmissiveColorFactor = 1.0 にすれば昼夜によらず見える絵看板になる。
curl -Ss -i http://127.0.0.1:50080/api/json-rpc-2.0/ -X POST --data '{ "jsonrpc": "2.0", "id": null, "method": "GeoObject.SetMaterialParam", "params": { "id": 0, "material_params": { "EmissiveColorFactor": 1 } } }'
この実装は 4.0.0.11 に取り込む。
GeoObject は低レベルAPIをサポートし任意のポリゴンを表現できるが、ユーザーにとっては「点」の情報を表示するために、
などの何れもユーザーレベルでは比較的高コストな手間を要する。
GeoObject に新たに Billboard: bool プロパティーを追加し、 API でこれを設定可能とする事でビルボードを用いたいユーザーのコストを低減したい。
また、この対応により、 #23 のようなフォーマットで点を可視化するコストも合理化できる。