AddSiteTriangle メソッド

構文

LONG AddSiteTriangle(WORD uType, double dXPos0, double dYPos0, double dXPos1, double dYPos1, double dXPos2,
    double dYPos2, BYTE byLineStyle, BYTE byLineWidth, OLE_COLOR ocLineColor, BYTE byHatchStyle,
    OLE_COLOR ocForeColor, OLE_COLOR ocBackColor, BOOL bBackTrans);

三斜測量図をもとにした敷地の三角形を追加します。

パラメータ

uType
三角形のタイプ。次のいずれかの値を指定できます。
  • 03辺長さ指定。
  • 12辺長さと高さ指定。Aの長さと基準線からの高さを指定。
  • 22辺長さと高さ指定。Bの長さと基準線からの高さを指定。
  • 32辺長さと高さ指定。Aの長さとAからの高さを指定。
  • 42辺長さと高さ指定。Bの長さとBからの高さを指定。
dXPos0
基準線始点(1点目_のX座標。
dYPos0
基準線始点(1点目)のY座標。
dXPos1
基準線終点(2点目)のX座標。
dYPos1
基準線終点(2点目)のY座標。
dXPos2
3点目のX座標。
dYPos2
3点目のY座標。
byLineStyle
線種。次のいずれかの値を指定できます。
  • 0実線。
  • 1破線。
  • 2点線。
  • 3一点破線。
  • 4二点破線。
  • 5なし。
byLineWidth
線幅。
crLineColor
線色。
byHatchStyle
模様の種類。次のいずれかの値を指定できます。
  • 0なし。
  • 1塗りつぶし。
  • 2水平ハッチ。
  • 3垂直ハッチ。
  • 4右下がりハッチ。
  • 5右上がりハッチ。
  • 6水平と垂直の格子ハッチ。
  • 7斜め格子ハッチ。
  • 8ドット1。
  • 9ドット2。
  • 10ドット3。
  • 11ウェーブ1。
  • 12ウェーブ2。
  • 13ウェーブ3。
  • 14斜線1。
  • 15斜線2。
  • 16破線1。
  • 17破線2。
  • 18板目。
  • 19グラデーション横1。
  • 20グラデーション横2。
  • 21グラデーション縦1。
  • 22グラデーション縦2。
  • 23グラデーション右上。
  • 24グラデーション左上。
  • 25グラデーション中心。
  • 26グラデーション右上。
  • 27グラデーション右下。
  • 30半透明。
  • 40水平ハッチ。2の水平ハッチより目が細かい。
  • 41垂直ハッチ。3の垂直ハッチより目が細かい。
  • 42水平と垂直の格子ハッチ。6のハッチより目が細かい。
crForeColor
前景色。
crBackColor
背景色。
bBackTrans
背景を透明にするかどうか。0で不透明、1で透明。

戻り値

三角形を追加できた場合 0 以上を返します。
-1  その他エラー
-2  辺の長さが0で、三角形が成り立たない。
-3  既存の敷地が、三斜入力されたものではありません。多角形入力した敷地と、三斜入力した敷地は混在できません。
-4  既存の敷地に、始点と終点に合う辺が見つかりません。
-5  基準線が見つかりません。三角形を追加するには、基準線、または、三斜入力された敷地が必要です。

解説

図面に三斜測量図をもとにした敷地の三角形を追加します。
基準線の座標は既に追加済みの基準線、または、敷地の辺を指定してください。無い場合は、エラーになります。
辺の長さや高さは自動計算して表示します。
色や模様は、1つめの三角形の追加のときのみ有効です。2つめ以降は、最初に追加したものと同じになります。

使用例

// 間取りオブジェクトへ接続
CMadoriDoc * m_MadoriDoc = new CMadoriDoc();
CLSIDFromProgID (L"MyHomeDesignerMadori.MadoriDoc", &clsid);
GetActiveObject (clsid, NULL, &pUnk);
pUnk->QueryInterface (IID_IDispatch, (void**)(&pDisp));
m_MadoriDoc->AttachDispatch (pDisp);


// 敷地基準線を追加
m_MadoriDoc->AddSiteBaseLine(0.0, 0.0, 10000.0, 0.0);

// 三角を追加
OLE_COLOR crLineColor = (OLE_COLOR)RGB(0,0,0);
OLE_COLOR crForeColor = (OLE_COLOR)RGB(255,255,255);
OLE_COLOR crBackColor = (OLE_COLOR)RGB(0,0,0);
BOOL bBackTrans = FALSE;
m_MadoriDoc->AddSiteTriangle(0, 0.0, 0.0, 10000.0, 0.0, 5000.0, 5000.0,
	0, 0, crLineColor, 0, crForeColor, crBackColor, bBackTrans);
m_MadoriDoc->AddSiteTriangle(0, 0.0, 0.0, 5000.0, 5000.0, 0.0, 5000.0,0, 
	0, crLineColor, 0, crForeColor, crBackColor, bBackTrans);