構文
BOOL AddRoof(VARIANT & vVertex, double dTangent, double dHeight, double dOverhang,
BOOL bCeiling, BOOL bHorzCeiling,
double dCeilingDepth, BOOL bShrink);
屋根を追加します。
パラメータ
vVertex
(x, y) 頂点列。型は VT_R8 | VT_ARRAY にしてください。
dTangent
勾配。
dHeight
軒桁の高さ。
dOverhang
軒の出。
bCeiling
軒天の個別設定をするかどうか。1で個別設定。
bHorzCeiling
水平軒天を付けるかどうか。1で付けます。
dCeilingDepth
水平軒天の奥行き。
bShrink
軒天の先端を縮小するかどうか。1で縮めます。
戻り値
屋根を追加できた場合 0 以外を返します。できなかった場合は 0 を返します。
使用例
// 間取りオブジェクトへ接続 CMadoriDoc * m_MadoriDoc = new CMadoriDoc(); CLSIDFromProgID (L"MyHomeDesignerMadori.MadoriDoc", &clsid); GetActiveObject (clsid, NULL, &pUnk); pUnk->QueryInterface (IID_IDispatch, (void**)(&pDisp)); m_MadoriDoc->AttachDispatch (pDisp); // 屋根を追加 SAFEARRAYBOUND bound[1]; bound[0].cElements = 6; bound[0].lLbound = 0; SAFEARRAY * pArray = SafeArrayCreate(VT_R8, 1, bound); double * pVar; SafeArrayAccessData(pArray, (void**)&pVar); double dVertex[6] = {0.0, 0.0, 1000.0, 0.0, 500.0, 500.0}; for(int i=0; i < 6; ++i){ pVar[i] = dVertex[i]; } SafeArrayUnaccessData(pArray); VARIANT v; v.vt = VT_R8 | VT_ARRAY; v.parray = pArray; double dTangent = 21; double dHeight = 3300; double dOverhang = 455; BOOL bCeiling = FALSE; BOOL bHorzCeiling = FALSE; double dCeilingDepth = 455; BOOL bShrink = TRUE; long lRet = m_MadoriDoc->AddRoof(v, dTangent, dHeight, dOverhang, bCeiling, bHorzCeiling, dCeilingDepth, bShrink); if(lRet) AfxMessageBox("OK", MB_ICONINFORMATION); else AfxMessageBox("失敗");