構文
void GetSiteTriangle(VARIANT * pSiteTriangle);
三斜入力した敷地の三角形情報を返します。
パラメータ
pSiteTriangle
三角形情報の配列。型は、VT_ARRAY。あらかじめ、pSiteData->parrayに面の数分のメモリを確保して下さい。面の数は、頂点数 - 2 です。
SITETRIANGLE 構造体
typedef [uuid(6282F20E-9B96-4A4D-8932-AD08F8A2E674)] struct{ WORD uType; unsigned short nVertex[3]; double a; double b; double c; double h; } SITETRIANGLE;
uType
三角形のタイプ。次のいずれかの値です。
- 03辺長さ指定。
- 12辺長さと高さ指定。Aの長さと基準線からの高さを指定。
- 22辺長さと高さ指定。Bの長さと基準線からの高さを指定。
- 32辺長さと高さ指定。Aの長さとAからの高さを指定。
- 42辺長さと高さ指定。Bの長さとBからの高さを指定。
nVertex
使用している頂点が何番目か。
a
Aの辺の長さ。
b
Bの辺の長さ。
c
Cの辺の長さ。
h
三角形のタイプが、高さ指定するタイプの場合、高さ。
使用例
// 間取りオブジェクトへ接続 CMadoriDoc * m_MadoriDoc = new CMadoriDoc(); CLSIDFromProgID (L"MyHomeDesignerMadori.MadoriDoc", &clsid); GetActiveObject (clsid, NULL, &pUnk); pUnk->QueryInterface (IID_IDispatch, (void**)(&pDisp)); m_MadoriDoc->AttachDispatch (pDisp); // 敷地情報を取得 unsigned short uCount = m_MadoriDoc->GetSitePoints(); if(uCount == 0){ // エラー return; } SITETRIANGLE * pData = new SITETRIANGLE[uCount]; m_MadoriDoc->GetSiteTriangle(pData); for(unsigned short u = 0; u < uCount; ++u) { // なんか処理 } delete [] pData;