構文
BOOL AddClippedCeiling(BYTE byType, BOOL bLightOn, VARIANT & vVertex,
VARIANT & vHeight, VARIANT & vWidth);
折上げ天井を追加します。
パラメータ
byType
デザイン。次のいずれかの値を指定できます。
- 1垂直
- 2垂直飾り縁付
- 3傾斜
- 4傾斜飾り縁付
- 5コーブ照明用
bLightOn
コーブ照明用の場合に、光源をつけるかどうか。0で無し、1でつけます。
vVertex
(x, y) 頂点列。型は VT_R8 | VT_ARRAY にしてください。
vHeight
高さの配列。要素数は1~3、型は VT_R8 | VT_ARRAY にしてください。要素数が段数になります。
vWidth
オフセットの配列。要素数は1~3、型は VT_R8 | VT_ARRAY にしてください。要素数が段数になります。
戻り値
折上げ天井を追加できた場合 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 = 8; bound[0].lLbound = 0; SAFEARRAY * pArray = SafeArrayCreate(VT_R8, 1, bound); double * pVar; SafeArrayAccessData(pArray, (void**)&pVar); double dVertex[8] = {0.0, 0.0, 10000.0, 0.0, 10000.0, 10000.0, 0.0, 10000.0}; for(int i=0; i < 8; ++i){ pVar[i] = dVertex[i]; } VARIANT v; v.vt = VT_R8 | VT_ARRAY; v.parray = pArray; SafeArrayUnaccessData(pArray); SAFEARRAYBOUND bound2[1]; bound2[0].cElements = 2; bound2[0].lLbound = 0; SAFEARRAY * pArray2 = SafeArrayCreate(VT_R8, 1, bound2); SafeArrayAccessData(pArray2, (void**)&pVar); pVar[0] = 75; pVar[1] = 75; VARIANT v2; v2.vt = VT_R8 | VT_ARRAY; v2.parray = pArray2; SafeArrayUnaccessData(pArray2); SAFEARRAYBOUND bound3[1]; bound3[0].cElements = 2; bound3[0].lLbound = 0; SAFEARRAY *pArray3 = SafeArrayCreate(VT_R8, 1, bound3); SafeArrayAccessData(pArray3, (void**)&pVar); pVar[0] = 0; pVar[1] = 30; VARIANT v3; v3.vt = VT_R8 | VT_ARRAY; v3.parray = pArray3; SafeArrayUnaccessData(pArray3); BOOL bRet = m_MadoriDoc->AddClippedCeiling(2, FALSE, v, v2, v3); if(!bRet) return; // error