GetSiteTriangle メソッド

構文

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;