構文
BOOL AddGable(double xFoot, double yFoot, double dWidth, double dTangent, long uStyle,
double dThick, long uHanakakushiStyle);
部分切妻を追加します。
※部分切妻は「母体となる屋根面」のないところには配置できません。事前に母体の屋根面を配置しておく必要があります。
パラメータ
xFoot
部分切妻の軒側の中心のX座標。
yFoot
部分切妻の軒側の中心のY座標。
dWidth
部分切妻の幅(軒側から見た幅)。
dTangent
部分切妻の屋根の勾配。
uStyle
軒天のタイプ。以下のいずれかの値を指定します。
- 0軒天なし
- 1勾配軒天
- 2水平軒天
dThick
軒天の厚さ。
uHanakakushiStyle
鼻隠しのタイプ。以下のいずれかの値を指定します。
- 0傾斜
- 1鉛直
- 2水平鉛直
戻り値
部分切妻を追加できた場合 0 以外を返します。できなかった場合は 0 を返します。
使用例
// C++ sample
// 間取りオブジェクトへ接続
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, 6000.0, 0.0, 4000.0, 2000.0, 2000.0, 2000.0};
for(int i=0; i < 8; ++i){
pVar[i] = dVertex[i];
}
VARIANT v;
v.vt = VT_R8 | VT_ARRAY;
v.parray = pArray;
long lRet1 = m_MadoriDoc->AddRoof(v, 6.0, 3500.0, 0.0, FALSE, FALSE, 750.0, TRUE);
long lRet2 = m_MadoriDoc->AddGable(3000.0, 0.0, 2000.0, 6.0, 1, 150.0, 0);
SafeArrayUnaccessData(pArray);
if(!lRet2){
// エラー
return;
}
// JavaScript sample var doc = new CMadoriDoc(); var vertex = [0.0, 0.0, 6000.0, 0.0, 4000.0, 2000.0, 2000.0, 2000.0]; var dTangentR = 6.0; var dHeight = 3500.0; var dOverhang = 0.0; var bCeiling = false; var bHorzCeiling = false; var dCeilingDepth = 750.0; var bShrink = true; var xFoot = 3000.0; var yFoot = 0.0; var dWidth = 2000.0; var dTangentG = 6.0; var uStyle = 1; var dThick = 150.0; var uHanakakushiStyle = 0; var result1 = doc.AddRoof(vertex, dTangentR, dHeight, dOverhang, bCeiling, bHorzCeiling, dCeilingDepth, bShrink); var result2 = doc.AddGable(xFoot, yFoot, dWidth, dTangentG, uStyle, dThick, uHanakakushiStyle);