WIL説明書(C++)  3.0.0
全メンバ一覧 | 公開型 | 公開メンバ関数 | 公開変数類
FVCL::Data::CFvRectangle クラス

矩形構造クラス [詳解]

詳解

矩形構造クラス

namespace FVCL::Data

矩形情報を保有するクラスです。

必要条件:
ヘッダー: FVCLbasic.h
解説:
このクラスが保有する矩形情報は、始点・終点・回転角度・回転中心 から成り立ち、 各頂点の角度が 90°のものです。 回転中心は始点からのオフセットとなります。
CFvRectangle.png
サブピクセル値を扱う場合は、座標の 0.0 を画素の中心とします。 上図のように、 st が x=0.0,y=0.0 、 ed が x=8.0,y=6.0 の場合は、 矩形の左上が画像の x=0,y=0 の画素の中央部にあり、右下が画像の x=8,y=6 の 画素の中央部に有ることを意味します。 回転角(angle)は、回転中心(center)を機軸とします。回転中心は矩形の左上からの相対値です。
+ FVCL::Data::CFvRectangle の継承関係図

公開型

enum  { DataID = 14 }
 

公開メンバ関数

 CFvRectangle ()
 コンストラクタ [詳解]
 
 CFvRectangle (DOUBLE xs, DOUBLE ys, DOUBLE xe, DOUBLE ye)
 コンストラクタ [詳解]
 
 CFvRectangle (const FVCL::Data::CFvPoint &st, const FVCL::Data::CFvPoint &ed)
 コンストラクタ [詳解]
 
 CFvRectangle (const FVCL::Data::CFvPoint &st, const FVCL::Data::CFvPoint &ed, const FVCL::Data::CFvAngle &angle, const FVCL::Data::CFvPoint &center)
 コンストラクタ [詳解]
 
 CFvRectangle (const FVCL::Data::CFvPoint &pt1, const FVCL::Data::CFvPoint &pt2, const FVCL::Data::CFvPoint &pt3, const FVCL::Data::CFvPoint &pt4)
 コンストラクタ [詳解]
 
 CFvRectangle (const FVCL::Data::CFvRectangle &src)
 コピーコンストラクタ [詳解]
 
 CFvRectangle (const tagBOX &src)
 コンストラクタ [詳解]
 
 CFvRectangle (const tagDBOX &src)
 コンストラクタ [詳解]
 
 CFvRectangle (const BOX_T &src)
 コンストラクタ [詳解]
 
 CFvRectangle (const RECT &src)
 コンストラクタ [詳解]
 
virtual ~CFvRectangle ()
 デストラクタ [詳解]
 
virtual INT GetDataID () const
 データIDの取得 [詳解]
 
virtual bool GetPointer (INT id, void **val) const
 インスタンスのthisポインタの取得 [詳解]
 
DOUBLE GetWidth () const
 矩形の幅の取得 [詳解]
 
DOUBLE GetHeight () const
 矩形の高さの取得 [詳解]
 
bool Set4Points (const FVCL::Data::CFvPoint &pt1, const FVCL::Data::CFvPoint &pt2, const FVCL::Data::CFvPoint &pt3, const FVCL::Data::CFvPoint &pt4)
 矩形の設定(頂点の入力) [詳解]
 
bool Get4Points (CFvPoint *pt1, CFvPoint *pt2, CFvPoint *pt3, CFvPoint *pt4) const
 矩形の取得(頂点の取得) [詳解]
 
bool Set4Points (const CFvMultiData< CFvPoint > &points)
 矩形の設定(頂点の入力) [詳解]
 
bool Get4Points (CFvMultiData< CFvPoint > *points) const
 矩形の取得(頂点の取得) [詳解]
 
FVCL::CFvArray< CFvPointToPoints () const
 矩形(4頂点)から点群への変換 [詳解]
 
bool GetPolyline (CFvPolyline *polyline) const
 矩形から多角形への変換 [詳解]
 
CFvPolyline ToCFvPolyline () const
 矩形から多角形への変換 [詳解]
 
virtual CFvRectangleoperator= (const FVCL::Data::CFvRectangle &src)
 代入オペレータ [詳解]
 
virtual bool operator== (const FVCL::Data::CFvRectangle &src) const
 比較オペレータ(==) [詳解]
 
virtual bool operator!= (const FVCL::Data::CFvRectangle &src) const
 比較オペレータ(!=) [詳解]
 
virtual CFvRectangleoperator= (const tagBOX &src)
 代入オペレータ [詳解]
 
virtual CFvRectangleoperator= (const tagDBOX &src)
 代入オペレータ [詳解]
 
virtual CFvRectangleoperator= (const BOX_T &src)
 代入オペレータ [詳解]
 
virtual CFvRectangleoperator= (const RECT &src)
 代入オペレータ [詳解]
 
virtual CFvRectangleoperator= (const Rectangle &src)
 代入オペレータ [詳解]
 
virtual operator tagBOX () const
 キャストオペレータ [詳解]
 
virtual operator tagDBOX () const
 キャストオペレータ [詳解]
 
virtual operator BOX_T () const
 キャストオペレータ [詳解]
 
virtual operator RECT () const
 キャストオペレータ [詳解]
 
virtual operator Rectangle () const
 キャストオペレータ [詳解]
 
BOX_T ToBOX_T () const
 BOX_T 構造体への変換 [詳解]
 
RECT ToRECT () const
 RECT 構造体への変換 [詳解]
 
Rectangle ToRectangle () const
 Rectangle クラスへの変換 [詳解]
 
void GetStructure (tagBOX *data) const
 構造体の取得 [詳解]
 
void GetStructure (tagDBOX *data) const
 構造体の取得 [詳解]
 
void GetStructure (BOX_T *data) const
 構造体の取得 [詳解]
 
- 基底クラス FVCL::CFvDataObject に属する継承公開メンバ関数
 CFvDataObject ()
 標準のコンストラクタ [詳解]
 
virtual ~CFvDataObject ()
 デストラクタ [詳解]
 
virtual bool Load (LPCTSTR szFileName)
 データファイルの読み込み [詳解]
 
virtual bool Save (LPCTSTR szFileName)
 データファイル保存 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承公開メンバ関数
 CFvObject ()
 標準のコンストラクタ [詳解]
 
virtual ~CFvObject ()
 デストラクタ [詳解]
 
INT SetErrorCode (INT err)
 エラーコードの設定 [詳解]
 
INT SetErrorCode (INT err) const
 エラーコードの設定 [詳解]
 
INT GetErrorCode () const
 エラーコードの取得 [詳解]
 
bool SetAllocateOption (INT value)
 画像領域確保時のオプションの設定 [詳解]
 
INT GetAllocateOption () const
 画像領域確保時のオプションの取得 [詳解]
 
void * operator new (size_t uiSize)
 new オペレータ [詳解]
 
void * operator new[] (size_t uiSize)
 new[] オペレータ [詳解]
 
void operator delete (void *pvObject)
 delete オペレータ [詳解]
 
void operator delete[] (void *pvObject)
 delete[] オペレータ [詳解]
 
void * operator new (size_t uiSize, LPCSTR szFileName, INT iLine)
 new オペレータ [詳解]
 
void * operator new[] (size_t uiSize, LPCSTR szFileName, INT iLine)
 new[] オペレータ [詳解]
 
void operator delete (void *pvObject, LPCSTR szFileName, INT iLine)
 delete オペレータ [詳解]
 
void operator delete[] (void *pvObject, LPCSTR szFileName, INT iLine)
 delete[] オペレータ [詳解]
 
virtual CFvObjectoperator= (const CFvObject &src)
 代入オペレータ [詳解]
 
virtual bool operator== (const CFvObject &src) const
 比較オペレータ (==) [詳解]
 
virtual bool operator!= (const CFvObject &src) const
 比較オペレータ (!=) [詳解]
 

公開変数類

FVCL::Data::CFvPoint st
 左上 [詳解]
 
FVCL::Data::CFvPoint ed
 右下 [詳解]
 
FVCL::Data::CFvAngle angle
 回転角 [詳解]
 
FVCL::Data::CFvPoint center
 回転中心 ( st からのオフセット) [詳解]
 

その他の継承メンバ

- 基底クラス FVCL::CFvObject に属する継承静的公開メンバ関数
static bool SetDefaultAllocateOption (INT value)
 既定の画像領域確保時のオプションの設定 [詳解]
 
static INT GetDefaultAllocateOption ()
 既定の画像領域確保時のオプションの取得 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承限定公開メンバ関数
INT fnCPUCheck ()
 CPU情報の取得 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承限定公開変数類
INT m_ErrorCode
 エラーコード [詳解]
 
INT m_AllocateOption
 画像領域確保時のオプション [詳解]
 

列挙型メンバ詳解

anonymous enum
列挙値
DataID 

矩形構造クラスのデータID

このクラスのデータIDです。

構築子と解体子

FVCL::Data::CFvRectangle::CFvRectangle ( )

コンストラクタ

標準のコンストラクタです。
メンバは0初期化されます。

FVCL::Data::CFvRectangle::CFvRectangle ( DOUBLE  xs,
DOUBLE  ys,
DOUBLE  xe,
DOUBLE  ye 
)

コンストラクタ

初期値を指定してオブジェクトを構築します。
回転角度と回転中心は0で初期化されます。

引数
[in]xs始点x
[in]ys始点y
[in]xe終点x
[in]ye終点y
FVCL::Data::CFvRectangle::CFvRectangle ( const FVCL::Data::CFvPoint st,
const FVCL::Data::CFvPoint ed 
)

コンストラクタ

初期値を指定してオブジェクトを構築します。
回転角度と回転中心は0で初期化されます。

引数
[in]st始点
[in]ed終点
FVCL::Data::CFvRectangle::CFvRectangle ( const FVCL::Data::CFvPoint st,
const FVCL::Data::CFvPoint ed,
const FVCL::Data::CFvAngle angle,
const FVCL::Data::CFvPoint center 
)

コンストラクタ

初期値を指定してオブジェクトを構築します。

引数
[in]st始点
[in]ed終点
[in]angle回転角度
[in]center回転中心
FVCL::Data::CFvRectangle::CFvRectangle ( const FVCL::Data::CFvPoint pt1,
const FVCL::Data::CFvPoint pt2,
const FVCL::Data::CFvPoint pt3,
const FVCL::Data::CFvPoint pt4 
)

コンストラクタ

初期値を指定してオブジェクトを構築します。
引数の4点は、矩形の頂点を指定します。 頂点は必ず、pt1から右回りで入力しなければなりません。また、頂点の内角は必ず90°であるものと見なして計算します。

引数
[in]pt1頂点1
[in]pt2頂点2
[in]pt3頂点3
[in]pt4頂点4
FVCL::Data::CFvRectangle::CFvRectangle ( const FVCL::Data::CFvRectangle src)

コピーコンストラクタ

同一クラスのオブジェクトの内容を複製して、オブジェクトを構築します。

引数
[in]src複製元のオブジェクト
FVCL::Data::CFvRectangle::CFvRectangle ( const tagBOX src)

コンストラクタ

引数に指定された構造体の値で初期化して、このオブジェクトを構築します。

引数
[in]srctagBOX 構造体オブジェクト
FVCL::Data::CFvRectangle::CFvRectangle ( const tagDBOX src)

コンストラクタ

引数に指定された構造体の値で初期化して、このオブジェクトを構築します。

引数
[in]srctagDBOX 構造体オブジェクト
FVCL::Data::CFvRectangle::CFvRectangle ( const BOX_T &  src)

コンストラクタ

引数に指定された構造体の値で初期化して、このオブジェクトを構築します。

引数
[in]srcBOX_T 構造体オブジェクト
FVCL::Data::CFvRectangle::CFvRectangle ( const RECT src)

コンストラクタ

引数に指定された構造体の値で初期化して、このオブジェクトを構築します。

引数
[in]srcRECT 構造体オブジェクト
FVCL::Data::CFvRectangle::~CFvRectangle ( )
virtual

デストラクタ

このオブジェクトを破棄します。

関数詳解

FVCL::Data::CFvRectangle::GetDataID ( ) const
virtual

データIDの取得

データIDを取得します。

戻り値
データIDを返します。
参照
CFvRectangle::DataID

FVCL::CFvDataObjectを実装しています。

FVCL::Data::CFvRectangle::GetPointer ( INT  id,
void **  val 
) const
virtual

インスタンスのthisポインタの取得

指定されたデータIDと自身のIDが一致する場合に thisポインタを返します。

引数
[in]idデータID
[out]valthisポインタを格納する変数へのポインタ
戻り値
true正常
false異常
参照
CFvRectangle::DataID

FVCL::CFvDataObjectを実装しています。

FVCL::Data::CFvRectangle::GetWidth ( ) const

矩形の幅の取得

矩形の幅を計算して返します。

戻り値
矩形の幅を返します。
解説:
下記のように、終点から始点を引いた値をそのまま返します。
ed.x - st.x

始点と終点が同じ場合は 0.0、反転していれば 0.0 未満が返ります。
FVCL::Data::CFvRectangle::GetHeight ( ) const

矩形の高さの取得

矩形の高さを計算して返します。

戻り値
矩形の高さを返します。
解説:
下記のように、終点から始点を引いた値をそのまま返します。
ed.y - st.y

始点と終点が同じ場合は 0.0、反転していれば 0.0 未満が返ります。
FVCL::Data::CFvRectangle::Set4Points ( const FVCL::Data::CFvPoint pt1,
const FVCL::Data::CFvPoint pt2,
const FVCL::Data::CFvPoint pt3,
const FVCL::Data::CFvPoint pt4 
)

矩形の設定(頂点の入力)

頂点を入力し、矩形を設定します。
頂点は必ず、pt1から右回りで入力しなければなりません。また、頂点の内角は必ず90°であるものと見なして計算します。

引数
[in]pt1頂点1
[in]pt2頂点2
[in]pt3頂点3
[in]pt4頂点4
戻り値
true正常
参照
Get4Points
FVCL::Data::CFvRectangle::Get4Points ( CFvPoint pt1,
CFvPoint pt2,
CFvPoint pt3,
CFvPoint pt4 
) const

矩形の取得(頂点の取得)

矩形の頂点を取得します。結果の頂点は右回りで返されます。

引数
[out]pt1頂点1
[out]pt2頂点2
[out]pt3頂点3
[out]pt4頂点4
戻り値
true正常
参照
Set4Points
FVCL::Data::CFvRectangle::Set4Points ( const CFvMultiData< CFvPoint > &  points)

矩形の設定(頂点の入力)

頂点を入力し矩形を設定します。
頂点は必ず、右回りで入力しなければなりません。また、頂点の内角は必ず90°であるものと見なして計算します。

引数
[in]points点列(Size=4)
戻り値
true正常
false異常
GetErrorCodeメソッドによりエラーコードを取得できます。
エラーコード
定数 内容
11 FVCL_ErrorCode::INVALID_PARAMETER 頂点の点列数は 4 点以外受け付けません。
参照
Get4Points
FVCL::Data::CFvRectangle::Get4Points ( CFvMultiData< CFvPoint > *  points) const

矩形の取得(頂点の取得)

矩形の頂点を取得します。結果の頂点は右回りで返されます。
引数のサイズが4以下の場合、サイズの変更が行われます。

引数
[out]points点列
戻り値
true正常
参照
Set4Points
FVCL::Data::CFvRectangle::ToPoints ( ) const

矩形(4頂点)から点群への変換

戻り値
矩形の4頂点を配列に格納して返します。 結果の頂点は右回りで格納されます。
参照
Get4Points
FVCL::Data::CFvRectangle::GetPolyline ( CFvPolyline polyline) const

矩形から多角形への変換

矩形の外周を多角形に変換して返します。

引数
[out]polyline変換された多角形の格納先
戻り値
true正常
false異常
バグ:
FVCLbasic v1.1.0.0: 回転角が 0 以外の時、回転後の Y 座標の値が間違っているバグを改修しました。
参照
ToCFvPolyline
FVCL::Data::CFvRectangle::ToCFvPolyline ( ) const

矩形から多角形への変換

戻り値
矩形の外周を多角形に変換して返します。
参照
GetPolyline
FVCL::Data::CFvRectangle::operator= ( const FVCL::Data::CFvRectangle src)
virtual

代入オペレータ

同一クラスのオブジェクトの内容を複製して、自身に代入します。

引数
[in]src複製元
戻り値
代入後の自身のオブジェクトへの参照を返します。
FVCL::Data::CFvRectangle::operator== ( const FVCL::Data::CFvRectangle src) const
virtual

比較オペレータ(==)

同一クラスのオブジェクトの内容と比較します。

引数
[in]src比較対象
戻り値
true一致
false不一致
FVCL::Data::CFvRectangle::operator!= ( const FVCL::Data::CFvRectangle src) const
virtual

比較オペレータ(!=)

同一クラスのオブジェクトの内容と比較します。

引数
[in]src比較対象
戻り値
true不一致
false一致
FVCL::Data::CFvRectangle::operator= ( const tagBOX src)
virtual

代入オペレータ

tagDBOX 構造体の内容を複製して、自身に代入します。

引数
[in]src複製元
戻り値
代入後の自身のオブジェクトへの参照を返します。
FVCL::Data::CFvRectangle::operator= ( const tagDBOX src)
virtual

代入オペレータ

tagDBOX 構造体の内容を複製して、自身に代入します。

引数
[in]src複製元
戻り値
代入後の自身のオブジェクトへの参照を返します。
FVCL::Data::CFvRectangle::operator= ( const BOX_T &  src)
virtual

代入オペレータ

BOX_T 構造体の内容を複製して、自身に代入します。

引数
[in]src複製元
戻り値
代入後の自身のオブジェクトへの参照を返します。
FVCL::Data::CFvRectangle::operator= ( const RECT src)
virtual

代入オペレータ

RECT 構造体の内容を複製して、自身に代入します。

引数
[in]src複製元
戻り値
代入後の自身のオブジェクトへの参照を返します。
FVCL::Data::CFvRectangle::operator= ( const Rectangle src)
virtual

代入オペレータ

Rectangle クラスの内容を複製して、自身に代入します。

引数
[in]src複製元
戻り値
代入後の自身のオブジェクトへの参照を返します。
FVCL::Data::CFvRectangle::operator tagBOX ( ) const
virtual

キャストオペレータ

戻り値
tagBOX 構造体にキャストして返します。
FVCL::Data::CFvRectangle::operator tagDBOX ( ) const
virtual

キャストオペレータ

戻り値
tagDBOX 構造体にキャストして返します。
FVCL::Data::CFvRectangle::operator BOX_T ( ) const
virtual

キャストオペレータ

戻り値
BOX_T 構造体にキャストして返します。
FVCL::Data::CFvRectangle::operator RECT ( ) const
virtual

キャストオペレータ

戻り値
RECT 構造体にキャストして返します。
FVCL::Data::CFvRectangle::operator Rectangle ( ) const
virtual

キャストオペレータ

戻り値
Rectangle クラスにキャストして返します。
FVCL::Data::CFvRectangle::ToBOX_T ( ) const

BOX_T 構造体への変換

戻り値
BOX_T 構造体に変換して返します。
FVCL::Data::CFvRectangle::ToRECT ( ) const

RECT 構造体への変換

戻り値
RECT 構造体に変換して返します。
FVCL::Data::CFvRectangle::ToRectangle ( ) const

Rectangle クラスへの変換

戻り値
Rectangle クラスに変換して返します。
FVCL::Data::CFvRectangle::GetStructure ( tagBOX data) const

構造体の取得

自身の内容を tagBOX 構造体に格納して返します。

引数
[out]datatagBOX 構造体のオブジェクトへのポインタ
FVCL::Data::CFvRectangle::GetStructure ( tagDBOX data) const

構造体の取得

自身の内容を tagDBOX 構造体に格納して返します。

引数
[out]datatagDBOX 構造体のオブジェクトへのポインタ
FVCL::Data::CFvRectangle::GetStructure ( BOX_T *  data) const

構造体の取得

自身の内容を BOX_T 構造体に格納して返します。

引数
[out]dataBOX_T 構造体のオブジェクトへのポインタ

メンバ詳解

CFvPoint FVCL::Data::CFvRectangle::st

左上

CFvPoint FVCL::Data::CFvRectangle::ed

右下

CFvAngle FVCL::Data::CFvRectangle::angle

回転角

CFvPoint FVCL::Data::CFvRectangle::center

回転中心 ( st からのオフセット)


Documentation copyright © 2007 FAST Corporation. [B-001864]
Generated on 2023年11月02日(木) 10時13分00秒 for WIL説明書(C++) by doxygen 1.8.11