AddGable メソッド

構文

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);