FineKernelToolKit 4.3.0
読み取り中…
検索中…
一致する文字列を見つけられません
Base.h
[詳解]
1#if !defined(__FK_BASE_HEADER__)
2#define __FK_BASE_HEADER__
3
4#if defined(_MINGW_) && defined(hypot)
5#undef hypot
6#endif
7
8#include <cstdio>
9#include <string>
10#include <cstdlib>
11#include <cstring>
12#include <ctime>
13#include <cmath>
14#include <fstream>
15#include <iostream>
16#include <vector>
17#include <tuple>
18#include <memory>
19
20#if defined(WIN32)
21
22#pragma warning(disable : 4786)
23//#define snprintf _snprintf
24//#define vsnprintf _vsnprintf
25
26#endif // !WIN32 || _CYGWIN_GCC_
27
28#define FK_UNUSED(x) (void)(x)
29
31namespace FK {
32
33#if !defined(FK_DOXYGEN_USER_PROCESS)
34 constexpr int FK_MAJOR_VERSION = 4;
35 constexpr int FK_MINOR_VERSION = 2;
36 constexpr int FK_SUBMINOR_VERSION = 13;
37
38 constexpr int _FK_UNDEFINED_DEFINE_ = -1;
39 constexpr int FK_UNDEFINED = _FK_UNDEFINED_DEFINE_;
40#endif
41
113
115
121
122 public:
124
128
130
135
136#if !defined(FK_DOXYGEN_USER_PROCESS)
137 void SetObjectType(const fk_Type type);
138#endif
139
140 private:
141 fk_Type ObjectType;
142
143 };
144
145#if defined(FK_DEF_STD_NAMESPACE)
146 using namespace std;
147#endif
148
149#if defined(FK_DEF_SIZETYPE)
150 using _st = std::vector<int>::size_type;
151#endif
152
153#if !defined(FK_DOXYGEN_USER_PROCESS)
154 class fk_Noncopyable {
155 private:
156 void operator =(const fk_Noncopyable&) {};
157 fk_Noncopyable(const fk_Noncopyable&) {};
158
159 public:
160 fk_Noncopyable(void) {};
161 };
162#endif
163
164}
165
166#endif /* !__FK_BASE_HEADER__ */
167
168/****************************************************************************
169 *
170 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
171 *
172 * Redistribution and use in source and binary forms,
173 * with or without modification, are permitted provided that the
174 * following conditions are met:
175 *
176 * - Redistributions of source code must retain the above
177 * copyright notice, this list of conditions and the
178 * following disclaimer.
179 *
180 * - Redistributions in binary form must reproduce the above
181 * copyright notice, this list of conditions and the
182 * following disclaimer in the documentation and/or
183 * other materials provided with the distribution.
184 *
185 * - Neither the name of the copyright holders nor the names
186 * of its contributors may be used to endorse or promote
187 * products derived from this software without specific
188 * prior written permission.
189 *
190 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
191 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
192 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
193 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
194 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
195 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
196 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
197 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
198 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
199 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
200 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
201 * POSSIBILITY OF SUCH DAMAGE.
202 *
203 ****************************************************************************/
204/****************************************************************************
205 *
206 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
207 *
208 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
209 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
210 *
211 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
212 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
213 *
214 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
215 * および下記免責条項を含めること。
216 *
217 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
218 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
219 * 含めること。
220 *
221 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
222 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
223 * コントリビューターの名前を使用してはならない。
224 *
225 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
226 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
227 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
228 * に限定されない、いかなる保証もないものとします。著作権者もコン
229 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
230 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
231 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
232 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
233 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
234 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
235 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
236 * ついて、一切責任を負わないものとします。
237 *
238 ****************************************************************************/
fk_BaseObject(fk_Type type=fk_Type::BASEOBJECT)
コンストラクタ
fk_Type getObjectType(void) const
タイプ取得関数
Fine Kernel Toolkit 名前空間
Definition Angle.h:6
fk_Type
オブジェクトインスタンスのタイプを表す列挙型
Definition Base.h:43
@ MATRIXADMIN
fk_MatrixAdmin 型
Definition Base.h:45
@ CURVE
fk_Curve 型
Definition Base.h:63
@ COLOR
fk_Color 型
Definition Base.h:82
@ DISPLAYLINK
fk_DisplayLink 型
Definition Base.h:47
@ PROJECTBASE
fk_ProjectBase 型
Definition Base.h:88
@ CIRCLE
fk_Circle 型
Definition Base.h:54
@ VERTEX
fk_Vertex 型
Definition Base.h:92
@ FRUSTUM
fk_Frustum 型
Definition Base.h:90
@ LINE
fk_Line 型
Definition Base.h:51
@ BASEOBJECT
fk_BaseObject 型
Definition Base.h:44
@ BEZCURVE
fk_BezCurve 型
Definition Base.h:64
@ IMAGE
fk_Image 型
Definition Base.h:70
@ TRITEXTURE
fk_TriTexture 型
Definition Base.h:75
@ PRISM
fk_Prism 型
Definition Base.h:58
@ PHYSICSBOX
fk_PhysicsBox 型
Definition Base.h:106
@ BSPLCURVE
fk_BSplCurve 型
Definition Base.h:66
@ SURFACE
fk_Surface 型
Definition Base.h:67
@ TEXTIMAGE
fk_TextImage 型
Definition Base.h:81
@ TEXTURE
fk_Texture 型
Definition Base.h:73
@ MESHTEXTURE
fk_MeshTexture 型
Definition Base.h:76
@ BEZSURFACE
fk_BezSurface 型
Definition Base.h:68
@ BLOCK
fk_Block 型
Definition Base.h:56
@ PHYSICSWORLD
fk_PhysicsWorld 型
Definition Base.h:105
@ PALETTE
fk_Palette 型
Definition Base.h:84
@ PARTICLE
fk_Particle 型
Definition Base.h:98
@ HINGECONST
fk_PhysicsHingeConstraint 型
Definition Base.h:109
@ EDGE
fk_Edge 型
Definition Base.h:94
@ RBEZCURVE
fk_RBezCurve 型
Definition Base.h:65
@ CAPSULE
fk_Capsule 型
Definition Base.h:59
@ SPHERE
fk_Sphere 型
Definition Base.h:55
@ WINDOW
fk_Window 型
Definition Base.h:86
@ RAY
fk_Ray 型
Definition Base.h:104
@ MODEL
fk_Model 型
Definition Base.h:46
@ HALF
fk_Half 型
Definition Base.h:93
@ LOOP
fk_Loop 型
Definition Base.h:95
@ ORTHO
fk_Ortho 型
Definition Base.h:91
@ FIXEDCONST
fk_PhysicsFixedConstraint 型
Definition Base.h:110
@ GREGORY
fk_Gregory 型
Definition Base.h:69
@ PICKDATA
fk_PickData 型
Definition Base.h:87
@ FRAMEBUFFER
fk_FrameBuffer 型
Definition Base.h:71
@ PLANE
fk_Plane 型
Definition Base.h:85
@ POINT
fk_Point 型
Definition Base.h:53
@ CLOSEDLINE
fk_Closedline 型
Definition Base.h:57
@ CONE
fk_Cone 型
Definition Base.h:60
@ MATERIAL
fk_Material 型
Definition Base.h:83
@ CSV
fk_CSV 型
Definition Base.h:103
@ IFSTEXTURE
fk_IFSTexture 型
Definition Base.h:77
@ RECTTEXTURE
fk_RectTexture 型
Definition Base.h:74
@ SOLID
fk_Solid 型
Definition Base.h:96
@ PERSPECTIVE
fk_Perspective 型
Definition Base.h:89
@ UNISTR
fk_UniStr 型
Definition Base.h:80
@ ARTEXTURE
fk_ARTexture 型
Definition Base.h:78
@ GRAPHNODE
fk_GraphNode 型
Definition Base.h:101
@ UNICHAR
fk_UniChar 型
Definition Base.h:79
@ SHAPEVIEWER
fk_ShapeViewer 型
Definition Base.h:97
@ GRAPH
fk_Graph 型
Definition Base.h:100
@ PARTICLESET
fk_ParticleSet 型
Definition Base.h:99
@ TEXCOORD
fk_TexCoord 型
Definition Base.h:72
@ SLIDERCONST
fk_PhysicsSliderConstraint 型
Definition Base.h:111
@ PHYSICSSPHERE
fk_PhysicsSphere 型
Definition Base.h:107
@ POLYLINE
fk_Polyline 型
Definition Base.h:52
@ GRAPHEDGE
fk_GraphEdge 型
Definition Base.h:102
@ POLYGON
fk_Polygon 型
Definition Base.h:50
@ SCENE
fk_Scene 型
Definition Base.h:48
@ P2PCONST
fk_PhysicsP2PConstraint 型
Definition Base.h:108
@ SHAPE
fk_Shape 型
Definition Base.h:49
@ LIGHT
fk_Light 型
Definition Base.h:62
@ INDEXFACESET
fk_IndexFaceSet 型
Definition Base.h:61