WIL説明書(C++)  3.0.0
FvPoint.h
[詳解]
1 // $Revision: 1.3 $
2 /*
3  @file FvPoint.h
4  @brief FVCL::Data::CFvPoint class interface
5  @author FAST Corporation
6 */
7 
8 #ifndef _FVPOINT_H_INCLUDED_
9 #define _FVPOINT_H_INCLUDED_
10 
11 #include "FvDataObject.h"
12 
13 #pragma pack(push,_FVCL_PACKING)
14 
15 namespace FVCL
16 {
17 
18 struct tagPNT
19 {
20  INT x;
21  INT y;
22 };
23 
24 struct tagSPNT
25 {
28 };
29 
30 struct tagDPNT
31 {
34 };
35 
36 namespace Data
37 {
38 class FVCL_API CFvPoint : public CFvDataObject, public tagDPNT
39 {
40 private:
41  void _Constructor();
42 
43 public:
44  CFvPoint();
45  CFvPoint( DOUBLE x, DOUBLE y );
46  CFvPoint( const FVCL::Data::CFvPoint& src );
47  CFvPoint( const tagPNT& src );
48  CFvPoint( const tagSPNT& src );
49  CFvPoint( const tagDPNT& src );
50  CFvPoint( const PNT_T& src );
51  CFvPoint( const SPNT_T& src );
52  CFvPoint( const DPNT_T& src );
53  CFvPoint( const POINT& src );
54  CFvPoint( const SIZE& src );
55  CFvPoint( const F_EDGE& src );
56  CFvPoint( const F_DEDGE& src );
57  CFvPoint( const DEDGE_T& src );
58  virtual ~CFvPoint();
59 
60  enum { DataID = 11 };
61 
62  virtual INT GetDataID() const;
63  virtual bool GetPointer( INT id, void** val ) const;
64 
65  // operator overload
66  virtual FVCL::Data::CFvPoint& operator =( const FVCL::Data::CFvPoint& src );
67  virtual bool operator ==( const FVCL::Data::CFvPoint& src ) const;
68  virtual bool operator !=( const FVCL::Data::CFvPoint& src ) const;
69 
70  virtual CFvPoint operator + ( const CFvPoint& src ) const;
71  virtual CFvPoint operator + ( const PNT_T& src ) const;
72  virtual CFvPoint operator + ( const SPNT_T& src ) const;
73  virtual CFvPoint operator + ( const DPNT_T& src ) const;
74  virtual CFvPoint operator + ( const POINT& src ) const;
75  virtual CFvPoint operator + ( const SIZE& src ) const;
76  virtual CFvPoint operator + ( DOUBLE value ) const;
77  virtual CFvPoint& operator += ( const CFvPoint& src );
78  virtual CFvPoint& operator += ( const PNT_T& src );
79  virtual CFvPoint& operator += ( const SPNT_T& src );
80  virtual CFvPoint& operator += ( const DPNT_T& src );
81  virtual CFvPoint& operator += ( const POINT& src );
82  virtual CFvPoint& operator += ( const SIZE& src );
83  virtual CFvPoint& operator += ( DOUBLE value );
84 
85  virtual CFvPoint operator - ( const CFvPoint& src ) const;
86  virtual CFvPoint operator - ( const PNT_T& src ) const;
87  virtual CFvPoint operator - ( const SPNT_T& src ) const;
88  virtual CFvPoint operator - ( const DPNT_T& src ) const;
89  virtual CFvPoint operator - ( const POINT& src ) const;
90  virtual CFvPoint operator - ( const SIZE& src ) const;
91  virtual CFvPoint operator - ( DOUBLE value ) const;
92  virtual CFvPoint& operator -= ( const CFvPoint& src );
93  virtual CFvPoint& operator -= ( const PNT_T& src );
94  virtual CFvPoint& operator -= ( const SPNT_T& src );
95  virtual CFvPoint& operator -= ( const DPNT_T& src );
96  virtual CFvPoint& operator -= ( const POINT& src );
97  virtual CFvPoint& operator -= ( const SIZE& src );
98  virtual CFvPoint& operator -= ( DOUBLE value );
99 
100  virtual CFvPoint operator * ( const CFvPoint& src ) const;
101  virtual CFvPoint operator * ( const PNT_T& src ) const;
102  virtual CFvPoint operator * ( const SPNT_T& src ) const;
103  virtual CFvPoint operator * ( const DPNT_T& src ) const;
104  virtual CFvPoint operator * ( const POINT& src ) const;
105  virtual CFvPoint operator * ( const SIZE& src ) const;
106  virtual CFvPoint operator * ( DOUBLE value ) const;
107  virtual CFvPoint& operator *= ( const CFvPoint& src );
108  virtual CFvPoint& operator *= ( const PNT_T& src );
109  virtual CFvPoint& operator *= ( const SPNT_T& src );
110  virtual CFvPoint& operator *= ( const DPNT_T& src );
111  virtual CFvPoint& operator *= ( const POINT& src );
112  virtual CFvPoint& operator *= ( const SIZE& src );
113  virtual CFvPoint& operator *= ( DOUBLE value );
114 
115  virtual CFvPoint operator / ( const CFvPoint& src ) const;
116  virtual CFvPoint operator / ( const PNT_T& src ) const;
117  virtual CFvPoint operator / ( const SPNT_T& src ) const;
118  virtual CFvPoint operator / ( const DPNT_T& src ) const;
119  virtual CFvPoint operator / ( const POINT& src ) const;
120  virtual CFvPoint operator / ( const SIZE& src ) const;
121  virtual CFvPoint operator / ( DOUBLE value ) const;
122  virtual CFvPoint& operator /= ( const CFvPoint& src );
123  virtual CFvPoint& operator /= ( const PNT_T& src );
124  virtual CFvPoint& operator /= ( const SPNT_T& src );
125  virtual CFvPoint& operator /= ( const DPNT_T& src );
126  virtual CFvPoint& operator /= ( const POINT& src );
127  virtual CFvPoint& operator /= ( const SIZE& src );
128  virtual CFvPoint& operator /= ( DOUBLE value );
129 
130  FVCL_API friend CFvPoint operator + ( DOUBLE value, const CFvPoint& src );
131  FVCL_API friend CFvPoint operator - ( DOUBLE value, const CFvPoint& src );
132  FVCL_API friend CFvPoint operator * ( DOUBLE value, const CFvPoint& src );
133  FVCL_API friend CFvPoint operator / ( DOUBLE value, const CFvPoint& src );
134 
135  virtual CFvPoint& operator =( const tagPNT& src );
136  virtual CFvPoint& operator =( const tagSPNT& src );
137  virtual CFvPoint& operator =( const tagDPNT& src );
138  virtual CFvPoint& operator =( const PNT_T& src );
139  virtual CFvPoint& operator =( const SPNT_T& src );
140  virtual CFvPoint& operator =( const DPNT_T& src );
141  virtual CFvPoint& operator =( const POINT& src );
142  virtual CFvPoint& operator =( const SIZE& src );
143  virtual CFvPoint& operator =( const F_EDGE& src );
144  virtual CFvPoint& operator =( const F_DEDGE& src );
145  virtual CFvPoint& operator =( const DEDGE_T& src );
146 
147  virtual operator tagPNT() const;
148  virtual operator tagSPNT() const;
149  virtual operator tagDPNT() const;
150  virtual operator PNT_T() const;
151  virtual operator SPNT_T() const;
152  virtual operator DPNT_T() const;
153  virtual operator POINT() const;
154  virtual operator SIZE() const;
155  virtual operator F_EDGE() const;
156  virtual operator F_DEDGE() const;
157  virtual operator DEDGE_T() const;
158 
159  PNT_T ToPNT_T() const;
160  SPNT_T ToSPNT_T() const;
161  DPNT_T ToDPNT_T() const;
162  POINT ToPOINT() const;
163  SIZE ToSIZE() const;
164  F_EDGE ToF_EDGE(INT q = 0, INT mag = 0) const;
165  F_DEDGE ToF_DEDGE(DOUBLE q = 0, DOUBLE mag = 0) const;
166  DEDGE_T ToDEDGE_T(DOUBLE q = 0) const;
167 
168  void GetStructure( tagPNT* data ) const;
169  void GetStructure( tagSPNT* data ) const;
170  void GetStructure( tagDPNT* data ) const;
171  void GetStructure( PNT_T* data ) const;
172  void GetStructure( SPNT_T* data ) const;
173  void GetStructure( DPNT_T* data ) const;
174 };
175 
176 // ===================================================================
177 FVCL_API CFvPoint operator + ( DOUBLE value, const CFvPoint& src );
178 FVCL_API CFvPoint operator - ( DOUBLE value, const CFvPoint& src );
179 FVCL_API CFvPoint operator * ( DOUBLE value, const CFvPoint& src );
180 FVCL_API CFvPoint operator / ( DOUBLE value, const CFvPoint& src );
181 
182 } // Data
183 } // FVCL
184 
185 #pragma pack(pop)
186 
187 #endif // _FV_POINT_H
#define FVCL_API
DLLエクスポートマクロ
Definition: FvMacros.h:61
点構造体
Definition: _structure.h:125
DOUBLE y
Y座標
Definition: FvPoint.h:33
点構造体
Definition: FvPoint.h:24
INT y
Y座標
Definition: FvPoint.h:21
INT x
X座標
Definition: FvPoint.h:20
点構造クラス
Definition: FvPoint.h:38
FVCLのネームスペース
Definition: EVCbasicDeclare.txt:9
点構造体
Definition: FvPoint.h:18
int INT
整数型(32ビット)
Definition: FvDefs.h:36
点構造体
Definition: FvPoint.h:30
FVCL_API CFvPoint operator/(DOUBLE value, const CFvPoint &src)
除算オペレータ
データオブジェクトの基本クラス
Definition: FvDataObject.h:20
double DOUBLE
倍精度浮動小数点型(64ビット)
Definition: FvDefs.h:62
short SHORT
整数型(16ビット)
Definition: FvDefs.h:34
FVCL_API CFvPoint operator-(DOUBLE value, const CFvPoint &src)
減算オペレータ
DOUBLE x
X座標
Definition: FvPoint.h:32
SHORT y
Y座標
Definition: FvPoint.h:27
struct tagPOINT POINT
点構造体型
Definition: _structure.h:137
FVCL_API CFvPoint operator*(DOUBLE value, const CFvPoint &src)
乗算オペレータ
データオブジェクトの基本クラスのインターフェース
SHORT x
X座標
Definition: FvPoint.h:26
FVCL_API CFvPoint operator+(DOUBLE value, const CFvPoint &src)
加算オペレータ

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