FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
名前空間 | クラス | 列挙型 | 関数
FK 名前空間

Fine Kernel Toolkit 名前空間 [詳解]

名前空間

namespace  fk_Code
 簡易文字コード変換用名前空間
 
namespace  Material
 デフォルトマテリアル用名前空間
 

クラス

class  fk_Angle
 オイラー角を表すクラス [詳解]
 
class  fk_AppWindow
 アプリケーションウィンドウクラス [詳解]
 
class  fk_Attribute
 形状や位相要素の属性を付与、取得するクラス [詳解]
 
class  fk_AudioBase
 オーディオ基底クラス [詳解]
 
class  fk_AudioOggBuffer
 Ogg Vorbis オーディオバッファクラス [詳解]
 
class  fk_AudioStream
 オーディオストリームクラス [詳解]
 
class  fk_AudioWavBuffer
 Wave オーディオバッファクラス [詳解]
 
class  fk_BaseObject
 FK の各クラスの基盤となる基本クラス [詳解]
 
class  fk_BezCurve
 Bezier曲線を生成、管理するクラス [詳解]
 
class  fk_BezSurface
 Bezier曲面を生成、管理するクラス [詳解]
 
class  fk_Block
 直方体を生成、管理するクラス [詳解]
 
class  fk_Boundary
 境界ボリュームを管理するクラス [詳解]
 
class  fk_BSplCurve
 B-Spline 曲線を生成、管理するクラス [詳解]
 
class  fk_BVHMotion
 BVH 形式のモーションデータを読み込み、保持するクラス [詳解]
 
class  fk_Capsule
 カプセル型を生成、管理するクラス [詳解]
 
class  fk_Circle
 円を生成、管理するクラス [詳解]
 
class  fk_Closedline
 多角形(辺のみ)を生成、管理するクラス [詳解]
 
class  fk_Color
 RGB色を管理するクラス [詳解]
 
class  fk_Cone
 正多角錐・円錐を生成、管理するクラス [詳解]
 
class  fk_CSV
 CSV 入出力用クラス [詳解]
 
class  fk_Curve
 曲線用純粋仮想クラス [詳解]
 
class  fk_DataAccess
 ソリッドモデル用位相要素アクセスクラス [詳解]
 
class  fk_Dimension
 画像サイズを表すクラス [詳解]
 
class  fk_DisplayLink
 ディスプレイリストを制御するクラス [詳解]
 
class  fk_DrawCache
 描画用キャッシュデータを管理するクラス [詳解]
 
class  fk_Edge
 ソリッドモデルの稜線位相を管理するクラス [詳解]
 
class  fk_Fog
 シーン中の霧効果を制御するクラス [詳解]
 
class  fk_FrameBuffer
 フレームバッファー制御クラス [詳解]
 
class  fk_FrameController
 フレームレート制御クラス [詳解]
 
class  fk_Frustum
 一般透視投影を制御するクラス [詳解]
 
class  fk_FullscreenController
 フルスクリーン制御クラス [詳解]
 
class  fk_FVecArray
 シェーダー内 attribute 変数用ベクトル管理クラス [詳解]
 
class  fk_FVector
 単精度浮動小数点型3次元ベクトルを管理するクラス [詳解]
 
class  fk_GenMatrix
 任意次元正方行列を管理するクラス [詳解]
 
class  fk_GenVector
 任意次元ベクトルを管理するクラス [詳解]
 
class  fk_Graph
 グラフ構造を制御するクラス [詳解]
 
class  fk_GraphEdge
 グラフ構造の辺を制御するクラス [詳解]
 
class  fk_GraphNode
 グラフ構造のノードを制御するクラス [詳解]
 
class  fk_Gregory
 Gregory 曲面を生成、管理するクラス [詳解]
 
class  fk_GuideObject
 座標系可視化支援クラス [詳解]
 
class  fk_Half
 ソリッドモデルの半稜線位相を管理するクラス [詳解]
 
class  fk_HeapBase
 重複要素に同一IDを与えるための汎用テンプレート [詳解]
 
class  fk_HVector
 4次元ベクトルを管理するクラス [詳解]
 
class  fk_IFSTexture
 IFSテクスチャを生成、管理するクラス [詳解]
 
class  fk_Image
 画像を生成、管理するクラス [詳解]
 
class  fk_IndexFaceSet
 インデックスフェースセットによる任意形状を生成、管理するクラス [詳解]
 
class  fk_Light
 光源を管理するクラス [詳解]
 
class  fk_Line
 有向線分を生成、管理するクラス [詳解]
 
class  fk_Loop
 ソリッドモデルのループ位相を管理するクラス [詳解]
 
class  fk_Material
 マテリアル(質感)を管理するクラス [詳解]
 
class  fk_Math
 数学処理関数集合クラス [詳解]
 
class  fk_Matrix
 一般4元正方行列を管理するクラス [詳解]
 
class  fk_MatrixAdmin
 モデルの位置や姿勢を管理するクラス [詳解]
 
class  fk_MeshTexture
 メッシュテクスチャを生成、管理するクラス [詳解]
 
class  fk_Model
 モデルを生成、管理するクラス [詳解]
 
class  fk_Modify
 ソリッドモデル変形操作用クラス [詳解]
 
class  fk_Operation
 オイラー操作用クラス [詳解]
 
class  fk_Ortho
 平行投影法を制御するクラス [詳解]
 
class  fk_OrthoMatrix
 4元正方直交行列を管理するクラス [詳解]
 
class  fk_Palette
 マテリアルパレットを管理するクラス [詳解]
 
class  fk_ParserData
 ファイル入出力機能用抽象クラス [詳解]
 
class  fk_Particle
 パーティクル単体を制御するクラス [詳解]
 
class  fk_ParticleSet
 パーティクル集合を制御するクラス [詳解]
 
class  fk_Performer
 FK Performer キャラクターランタイムクラス [詳解]
 
class  fk_Perspective
 対称透視投影法を制御するクラス [詳解]
 
class  fk_Plane
 幾何平面を管理するクラス [詳解]
 
class  fk_Point
 点群を生成、管理するクラス [詳解]
 
class  fk_Polygon
 多角形を生成、管理するクラス [詳解]
 
class  fk_Polyline
 ポリラインを生成、管理するクラス [詳解]
 
class  fk_Prism
 正多角柱・円柱を生成、管理するクラス [詳解]
 
class  fk_ProjectBase
 投影法の基底クラス [詳解]
 
class  fk_Quaternion
 四元数(クォータニオン)を管理するクラス [詳解]
 
class  fk_Ray
 干渉判定光線クラス [詳解]
 
class  fk_RBezCurve
 有理 Bezier 曲線を生成、管理するクラス [詳解]
 
class  fk_Rect
 画像中の矩形領域を表すクラス [詳解]
 
class  fk_RectTexture
 矩形テクスチャを生成、管理するクラス [詳解]
 
class  fk_ReferenceL1
 位相状態参照用クラス(Level1) [詳解]
 
class  fk_ReferenceL2
 位相状態参照用クラス(Level2) [詳解]
 
class  fk_ReferenceL3
 位相状態参照用クラス(Level3) [詳解]
 
class  fk_Renderer
 マルチパスレンダリング制御クラス [詳解]
 
class  fk_Scene
 シーンを制御するクラス [詳解]
 
class  fk_ShaderBinder
 シェーダープログラム統括クラス [詳解]
 
class  fk_ShaderParameter
 シェーダーパラメーター管理クラス [詳解]
 
class  fk_ShaderProgram
 シェーダープログラム格納クラス [詳解]
 
class  fk_Shape
 形状用基底クラス [詳解]
 
class  fk_ShapeViewer
 簡易形状表示システム用クラス [詳解]
 
class  fk_Solid
 半稜線構造 (Half-Edge Structure) による任意形状を生成、管理するクラス [詳解]
 
class  fk_SolidBase
 ソリッドモデル形状変換クラス [詳解]
 
class  fk_Sphere
 球を生成、管理するクラス [詳解]
 
class  fk_SpriteModel
 2D スプライトモデルクラス [詳解]
 
class  fk_StrConverter
 日本語文字コード変換クラス [詳解]
 
class  fk_Surface
 曲面用純粋仮想クラス [詳解]
 
class  fk_System
 システム依存関数集合クラス [詳解]
 
class  fk_TexCoord
 テクスチャ座標を管理するクラス [詳解]
 
class  fk_TextImage
 文字列板を管理するクラス [詳解]
 
class  fk_Texture
 テクスチャ用基底クラス [詳解]
 
class  fk_Time
 時間管理用クラス [詳解]
 
class  fk_Topology
 ソリッドモデル位相要素用基底クラス [詳解]
 
class  fk_TrackBall
 マウスによる視点操作クラス [詳解]
 
class  fk_Tree
 木構造用データベースクラス [詳解]
 
class  fk_TreeBaseObject
 木構造オブジェクトデータの基底クラス [詳解]
 
class  fk_TreeData
 木構造用ノードデータクラス [詳解]
 
class  fk_TriTexture
 3角形テクスチャを生成、管理するクラス [詳解]
 
class  fk_UniChar
 Unicode の文字を表すクラス [詳解]
 
class  fk_UniStr
 文字列板に表示する文字列を制御するクラス [詳解]
 
class  fk_Vector
 3次元ベクトルを管理するクラス [詳解]
 
class  fk_Vertex
 ソリッドモデルの頂点位相を管理するクラス [詳解]
 
class  fk_Window
 FLTK 用シーン描画ウィジェットクラス [詳解]
 

列挙型

enum class  fk_Type {
  BASEOBJECT , MATRIXADMIN , MODEL , DISPLAYLINK ,
  SCENE , SHAPE , POLYGON , LINE ,
  POLYLINE , POINT , CIRCLE , SPHERE ,
  BLOCK , CLOSEDLINE , PRISM , CAPSULE ,
  CONE , INDEXFACESET , LIGHT , CURVE ,
  BEZCURVE , RBEZCURVE , BSPLCURVE , SURFACE ,
  BEZSURFACE , GREGORY , IMAGE , FRAMEBUFFER ,
  TEXCOORD , TEXTURE , RECTTEXTURE , TRITEXTURE ,
  MESHTEXTURE , IFSTEXTURE , ARTEXTURE , UNICHAR ,
  UNISTR , TEXTIMAGE , COLOR , MATERIAL ,
  PALETTE , PLANE , WINDOW , PICKDATA ,
  PROJECTBASE , PERSPECTIVE , FRUSTUM , ORTHO ,
  VERTEX , HALF , EDGE , LOOP ,
  SOLID , SHAPEVIEWER , PARTICLE , PARTICLESET ,
  GRAPH , GRAPHNODE , GRAPHEDGE , CSV ,
  RAY
}
 オブジェクトインスタンスのタイプを表す列挙型 [詳解]
 
enum class  fk_BoundaryMode {
  SPHERE , AABB , OBB , CAPSULE ,
  NONE
}
 境界ボリュームのタイプを表す列挙型 [詳解]
 
enum class  fk_StereoChannel { LEFT , RIGHT }
 立体視出力を制御する際に用いる列挙型 [詳解]
 
enum class  fk_Draw : unsigned int {
  NONE = 0 , POINT = 1 << 1 , LINE = 1 << 2 , FACE = 1 << 3 ,
  BACK_FACE = ((1 << 4) | FACE) , FRONTBACK_FACE = ((1 << 5) | FACE) , TEXTURE = 1 << 6 , GEOM_LINE = 1 << 7 ,
  GEOM_POINT = 1 << 8 , GEOM_FACE = 1 << 9
}
 描画モードを表す列挙型 [詳解]
 
enum class  fk_EdgeStatus { NONE , UNDEF , HALF , BOTH }
 稜線状態を表す列挙型 [詳解]
 
enum class  fk_CurveType { BEZ , BSPL }
 幾何曲線の種類を表す列挙型 [詳解]
 
enum class  fk_FogMode {
  LINEAR = 0 , EXP , EXP2 , OFF ,
  NUM
}
 霧効果の減衰関数を表す列挙型 [詳解]
 
enum class  fk_SamplerSource { COLOR , DEPTH }
 フレームバッファーのサンプリングソースを表す列挙型 [詳解]
 
enum class  fk_CostStatus { CONTINUE , FINISH , ERROR }
 グラフのコスト算出状況を表す列挙型 [詳解]
 
enum class  fk_CostType { INT , DOUBLE , LENGTH }
 グラフ内コスト値の型を表す列挙型 [詳解]
 
enum class  fk_CostDirection { FORWARD , BACK }
 グラフ内コスト算出方向を表す列挙型 [詳解]
 
enum class  fk_Guide : unsigned int {
  NO_GUIDE = 0 , AXIS_X = 1 << 1 , AXIS_Y = 1 << 2 , AXIS_Z = 1 << 3 ,
  GRID_XZ = 1 << 4 , GRID_XY = 1 << 5 , GRID_YZ = 1 << 6
}
 座標ガイドを表す列挙型 [詳解]
 
enum class  fk_ImageType { BMP , PNG , JPG }
 画像フォーマットを表す列挙型 [詳解]
 
enum class  fk_SnapProcMode { FRONT , BACK , WIN32_GDI }
 画像取り込み方法を表す列挙型 [詳解]
 
enum class  fk_LightType { PARALLEL , POINT , SPOT }
 光源タイプを表す列挙型 [詳解]
 
enum class  fk_LineType { OPEN , CLOSE , HALF }
 fk_Math クラス内での直線群タイプを表す列挙型 [詳解]
 
enum class  fk_ElementMode { NONE , MODEL , ELEMENT }
 描画優先モードを表す列挙型 [詳解]
 
enum class  fk_ShadingMode { GOURAUD = 0 , PHONG , NUM }
 シェーディングモードを表す列挙型 [詳解]
 
enum class  fk_MaterialMode { NONE , CHILD , PARENT }
 マテリアルモード型 [詳解]
 
enum class  fk_ProjectMode { NONE , PERSPECTIVE , FRUSTUM , ORTHO }
 投影法を表す列挙型 [詳解]
 
enum class  fk_BlendMode {
  ALPHA , NEGATIVE , ADDITION , SCREEN ,
  LIGHTEN , MULTIPLY , NONE , CUSTOM
}
 ブレンドモード列挙型 [詳解]
 
enum class  fk_BlendFactor {
  ZERO , ONE , SRC_COLOR , ONE_MINUS_SRC_COLOR ,
  DST_COLOR , ONE_MINUS_DST_COLOR , SRC_ALPHA , ONE_MINUS_SRC_ALPHA ,
  DST_ALPHA , ONE_MINUS_DST_ALPHA
}
 ブレンド係数列挙型 [詳解]
 
enum class  fk_DepthMode : unsigned int { NO_USE = 0 , READ = 1 , WRITE = 2 , READ_AND_WRITE = READ | WRITE }
 デプス読み書きモード列挙型 [詳解]
 
enum class  fk_ShadowMode {
  HARD = 0 , SOFT_FAST , SOFT_NICE , OFF ,
  NUM
}
 影モードを表す列挙型 [詳解]
 
enum class  fk_RealShapeType {
  IFS , SOLID , TEXTURE , POINT ,
  LINE , CURVE , SURFACE , LIGHT ,
  GRAPH , OTHER
}
 形状データの具体的なデータ構造を表す列挙型 [詳解]
 
enum class  fk_UV : int { U_S = 0 , U_E = 1 , V_S = 2 , V_E = 3 }
 曲面の uv 方向を表す列挙型 [詳解]
 
enum class  fk_TextAlign { LEFT , CENTER , RIGHT }
 文字列板の文字列配置を表す列挙型 [詳解]
 
enum class  fk_TextSendingMode { ALL , CHAR , LINE }
 文字列板の文字送りモードを表す列挙型 [詳解]
 
enum class  fk_TexMode {
  MODULATE = 0 , DECAL , REPLACE , NONE ,
  NUM
}
 テクスチャモードを表す列挙型 [詳解]
 
enum class  fk_TexRendMode { NORMAL , SMOOTH }
 テクスチャ描画品質を表す列挙型 [詳解]
 
enum class  fk_TexWrapMode { REPEAT , CLAMP }
 テクスチャ外周部の描画モードを表す列挙型 [詳解]
 
enum class  fk_StringCode {
  UTF16 , UTF8 , JIS , SJIS ,
  EUC
}
 日本語文字コードを表す列挙型 [詳解]
 
enum class  fk_Axis { X , Y , Z }
 座標軸を表す列挙型 [詳解]
 
enum class  fk_Key {
  SHIFT_R , SHIFT_L , CTRL_R , CTRL_L ,
  ALT_R , ALT_L , ENTER , BACKSPACE ,
  DEL , CAPS_LOCK , TAB , PAGE_UP ,
  PAGE_DOWN , HOME , END , INSERT ,
  LEFT , RIGHT , UP , DOWN ,
  F1 , F2 , F3 , F4 ,
  F5 , F6 , F7 , F8 ,
  F9 , F10 , F11 , F12 ,
  SPACE
}
 特殊キーを表す列挙型 [詳解]
 
enum class  fk_MouseButton { M1 , M2 , M3 }
 マウスボタンを表す列挙型 [詳解]
 
enum class  fk_PutStrMode {
  NONE , CONSOLE , ERR_CONSOLE , BROWSER ,
  FILE
}
 メッセージ出力タイプを表す列挙型 [詳解]
 
enum class  fk_Switch { RELEASE , UP , DOWN , PRESS }
 ボタン系デバイス状態を表す列挙型 [詳解]
 

関数

fk_Color operator+ (const fk_Color &, const fk_Color &)
 色要素和二項演算子
 
fk_Color operator- (const fk_Color &, const fk_Color &)
 色要素差二項演算子
 
fk_Color operator* (const fk_Color &, double)
 実数倍二項演算子1
 
fk_Color operator* (double, const fk_Color &)
 実数倍二項演算子2
 
fk_Color operator/ (const fk_Color &, double)
 実数商二項演算子
 
fk_Draw operator| (fk_Draw, fk_Draw)
 描画モード用ビット論理和演算子
 
fk_Draw operator& (fk_Draw, fk_Draw)
 描画モード用ビット論理積演算子
 
fk_Draw operator^ (fk_Draw, fk_Draw)
 描画モード用ビット XOR 演算子
 
fk_GenVector operator* (const fk_GenMatrix &, const fk_GenVector &)
 ベクトル変換二項演算子
 
fk_GenMatrix operator+ (const fk_GenMatrix &, const fk_GenMatrix &)
 行列和二項演算子
 
fk_GenMatrix operator- (const fk_GenMatrix &, const fk_GenMatrix &)
 行列差二項演算子
 
fk_GenMatrix operator* (const fk_GenMatrix &, const fk_GenMatrix &)
 行列積二項演算子
 
double operator* (const fk_GenVector &P, const fk_GenVector &Q)
 内積二項演算子
 
fk_GenVector operator+ (const fk_GenVector &P, const fk_GenVector &Q)
 ベクトル和二項演算子
 
fk_GenVector operator- (const fk_GenVector &P, const fk_GenVector &Q)
 ベクトル差二項演算子
 
fk_GenVector operator* (const fk_GenVector &V, double d)
 実数倍二項演算子1
 
fk_GenVector operator* (double d, const fk_GenVector &V)
 実数倍二項演算子2
 
fk_GenVector operator/ (const fk_GenVector &V, double d)
 実数商二項演算子
 
fk_GenVector operator^ (const fk_GenVector &P, const fk_GenVector &Q)
 外積二項演算子
 
fk_Guide operator| (fk_Guide, fk_Guide)
 座標ガイド用ビット論理和演算子
 
fk_Guide operator& (fk_Guide, fk_Guide)
 座標ガイド用ビット論理積演算子
 
fk_Guide operator^ (fk_Guide, fk_Guide)
 座標ガイド用ビット XOR 演算子
 
fk_Dimension operator+ (const fk_Dimension &, const fk_Dimension &)
 整数値ベクトル和二項演算子
 
fk_Dimension operator- (const fk_Dimension &, const fk_Dimension &)
 整数値ベクトル差二項演算子
 
fk_Dimension operator* (const fk_Dimension &, int)
 整数値ベクトル倍演算二項演算子1
 
fk_Dimension operator* (int, const fk_Dimension &)
 整数値ベクトル倍演算二項演算子2
 
fk_Dimension operator/ (const fk_Dimension &, int)
 整数値ベクトル商演算二項演算子
 
void fk_InitMaterial (void)
 
fk_HVector operator* (const fk_OrthoMatrix &, const fk_HVector &)
 ベクトル変換二項演算子
 
fk_OrthoMatrix operator* (const fk_OrthoMatrix &, const fk_OrthoMatrix &)
 行列積二項演算子1
 
fk_Matrix operator* (const fk_Matrix &, const fk_OrthoMatrix &)
 行列積二項演算子2
 
fk_Matrix operator* (const fk_OrthoMatrix &, const fk_Matrix &)
 行列積二項演算子3
 
fk_Matrix operator+ (const fk_Matrix &, const fk_OrthoMatrix &)
 行列和二項演算子1
 
fk_Matrix operator+ (const fk_OrthoMatrix &, const fk_Matrix &)
 行列和二項演算子2
 
fk_Matrix operator- (const fk_Matrix &, const fk_OrthoMatrix &)
 行列差二項演算子1
 
fk_Matrix operator- (const fk_OrthoMatrix &, const fk_Matrix &)
 行列差二項演算子2
 
fk_HVector operator* (const fk_Matrix &, const fk_HVector &)
 ベクトル変換二項演算子
 
fk_Matrix operator* (const fk_Matrix &, const fk_Matrix &)
 行列積二項演算子
 
fk_Matrix operator* (double, const fk_Matrix &)
 行列実数倍二項演算子1
 
fk_Matrix operator* (const fk_Matrix &, double)
 行列実数倍二項演算子2
 
fk_Matrix operator+ (const fk_Matrix &, const fk_Matrix &)
 行列和二項演算子
 
fk_Matrix operator- (const fk_Matrix &, const fk_Matrix &)
 行列差二項演算子
 
fk_Quaternion operator* (const fk_Quaternion &, const fk_Quaternion &)
 四元数積二項演算子
 
fk_Quaternion operator+ (const fk_Quaternion &, const fk_Quaternion &)
 四元数和二項演算子
 
fk_Quaternion operator- (const fk_Quaternion &, const fk_Quaternion &)
 四元数差二項演算子
 
fk_Quaternion operator* (const fk_Quaternion &, double)
 四元数スカラー倍二項演算子1
 
fk_Quaternion operator* (double, const fk_Quaternion &)
 四元数スカラー倍二項演算子2
 
fk_Quaternion operator/ (const fk_Quaternion &, double)
 四元数スカラー商二項演算子
 
fk_Vector operator* (const fk_Quaternion &, const fk_Vector &)
 四元数ベクトル変換二項演算子
 
double operator^ (const fk_Quaternion &, const fk_Quaternion &)
 四元数内積二項演算子
 
fk_DepthMode operator| (fk_DepthMode argL, fk_DepthMode argR)
 デプス読み書きモード用ビット論理和演算子
 
fk_DepthMode operator& (fk_DepthMode argL, fk_DepthMode argR)
 デプス読み書きモード用ビット論理積演算子
 
fk_DepthMode operator^ (fk_DepthMode argL, fk_DepthMode argR)
 デプス読み書きモード用ビット XOR 演算子
 
double operator* (const fk_Vector &, const fk_Vector &)
 内積二項演算子
 
fk_Vector operator+ (const fk_Vector &, const fk_Vector &)
 ベクトル和二項演算子
 
fk_Vector operator- (const fk_Vector &, const fk_Vector &)
 ベクトル差二項演算子
 
fk_Vector operator* (const fk_Vector &, double)
 実数倍二項演算子1
 
fk_Vector operator* (double, const fk_Vector &)
 実数倍二項演算子2
 
fk_Vector operator/ (const fk_Vector &, double)
 実数商二項演算子
 
fk_Vector operator^ (const fk_Vector &, const fk_Vector &)
 外積二項演算子
 
double operator* (const fk_HVector &, const fk_HVector &)
 内積二項演算子
 

詳解

Fine Kernel Toolkit 名前空間

列挙型詳解

◆ fk_Type

enum class FK::fk_Type
strong

オブジェクトインスタンスのタイプを表す列挙型

列挙値
BASEOBJECT 

fk_BaseObject

MATRIXADMIN 

fk_MatrixAdmin

MODEL 

fk_Model

DISPLAYLINK 

fk_DisplayLink

SCENE 

fk_Scene

SHAPE 

fk_Shape

POLYGON 

fk_Polygon

LINE 

fk_Line

POLYLINE 

fk_Polyline

POINT 

fk_Point

CIRCLE 

fk_Circle

SPHERE 

fk_Sphere

BLOCK 

fk_Block

CLOSEDLINE 

fk_Closedline

PRISM 

fk_Prism

CAPSULE 

fk_Capsule

CONE 

fk_Cone

INDEXFACESET 

fk_IndexFaceSet

LIGHT 

fk_Light

CURVE 

fk_Curve

BEZCURVE 

fk_BezCurve

RBEZCURVE 

fk_RBezCurve

BSPLCURVE 

fk_BSplCurve

SURFACE 

fk_Surface

BEZSURFACE 

fk_BezSurface

GREGORY 

fk_Gregory

IMAGE 

fk_Image

FRAMEBUFFER 

fk_FrameBuffer

TEXCOORD 

fk_TexCoord

TEXTURE 

fk_Texture

RECTTEXTURE 

fk_RectTexture

TRITEXTURE 

fk_TriTexture

MESHTEXTURE 

fk_MeshTexture

IFSTEXTURE 

fk_IFSTexture

ARTEXTURE 

fk_ARTexture 型

UNICHAR 

fk_UniChar

UNISTR 

fk_UniStr

TEXTIMAGE 

fk_TextImage

COLOR 

fk_Color

MATERIAL 

fk_Material

PALETTE 

fk_Palette

PLANE 

fk_Plane

WINDOW 

fk_Window

PICKDATA 

fk_PickData 型

PROJECTBASE 

fk_ProjectBase

PERSPECTIVE 

fk_Perspective

FRUSTUM 

fk_Frustum

ORTHO 

fk_Ortho

VERTEX 

fk_Vertex

HALF 

fk_Half

EDGE 

fk_Edge

LOOP 

fk_Loop

SOLID 

fk_Solid

SHAPEVIEWER 

fk_ShapeViewer

PARTICLE 

fk_Particle

PARTICLESET 

fk_ParticleSet

GRAPH 

fk_Graph

GRAPHNODE 

fk_GraphNode

GRAPHEDGE 

fk_GraphEdge

CSV 

fk_CSV

RAY 

fk_Ray

◆ fk_BoundaryMode

enum class FK::fk_BoundaryMode
strong

境界ボリュームのタイプを表す列挙型

列挙値
SPHERE 

境界球

AABB 

軸平行境界ボックス (Axis Aligned Bounding Box)

OBB 

有向境界ボックス (Oriented Bounding Box)

CAPSULE 

カプセル型

NONE 

未定義境界

◆ fk_StereoChannel

enum class FK::fk_StereoChannel
strong

立体視出力を制御する際に用いる列挙型

列挙値
LEFT 

左目側

RIGHT 

右目側

◆ fk_Draw

enum class FK::fk_Draw : unsigned int
strong

描画モードを表す列挙型

列挙値
NONE 

何も表示しない

POINT 

点描画

LINE 

線描画

FACE 

面描画 (表面のみ)

BACK_FACE 

裏面描画

FRONTBACK_FACE 

表裏面描画

TEXTURE 

テクスチャー描画

GEOM_LINE 

曲線・曲面グリッド描画

GEOM_POINT 

曲線・曲面点描画

GEOM_FACE 

曲面描画

◆ fk_EdgeStatus

enum class FK::fk_EdgeStatus
strong

稜線状態を表す列挙型

列挙値
NONE 

位相の不整合

UNDEF 

未定義稜線

HALF 

半定義稜線

BOTH 

両定義稜線

◆ fk_CurveType

enum class FK::fk_CurveType
strong

幾何曲線の種類を表す列挙型

列挙値
BEZ 

Bezier 曲線

BSPL 

B-Spline 曲線

◆ fk_FogMode

enum class FK::fk_FogMode
strong

霧効果の減衰関数を表す列挙型

列挙値
LINEAR 

線形式

EXP 

指数式

EXP2 

指数(2乗)式

OFF 

無効

NUM 

種類数

◆ fk_SamplerSource

enum class FK::fk_SamplerSource
strong

フレームバッファーのサンプリングソースを表す列挙型

列挙値
COLOR 

画面色情報参照

DEPTH 

画面深度情報参照

◆ fk_CostStatus

enum class FK::fk_CostStatus
strong

グラフのコスト算出状況を表す列挙型

列挙値
CONTINUE 

途中段階状態

FINISH 

完了状態

ERROR 

エラー

◆ fk_CostType

enum class FK::fk_CostType
strong

グラフ内コスト値の型を表す列挙型

列挙値
INT 

整数型

DOUBLE 

実数型

LENGTH 

辺長

◆ fk_CostDirection

enum class FK::fk_CostDirection
strong

グラフ内コスト算出方向を表す列挙型

列挙値
FORWARD 

出発ノードから開始

BACK 

目標ノードから開始

◆ fk_Guide

enum class FK::fk_Guide : unsigned int
strong

座標ガイドを表す列挙型

列挙値
NO_GUIDE 

ガイドなし

AXIS_X 

x 軸

AXIS_Y 

y 軸

AXIS_Z 

z 軸

GRID_XZ 

xz 平面

GRID_XY 

xy 平面

GRID_YZ 

yz 平面

◆ fk_ImageType

enum class FK::fk_ImageType
strong

画像フォーマットを表す列挙型

列挙値
BMP 

Windows Bitmap (BMP) 形式

PNG 

PNG 形式

JPG 

JPEG 形式

◆ fk_SnapProcMode

enum class FK::fk_SnapProcMode
strong

画像取り込み方法を表す列挙型

列挙値
FRONT 

OpenGL フロントバッファ

BACK 

OpenGL バックバッファ

WIN32_GDI 

Win32 GDI (Windows プラットフォームのみ対応)

◆ fk_LightType

enum class FK::fk_LightType
strong

光源タイプを表す列挙型

列挙値
PARALLEL 

平行光源

POINT 

点光源

SPOT 

スポットライト

◆ fk_LineType

enum class FK::fk_LineType
strong

fk_Math クラス内での直線群タイプを表す列挙型

列挙値
OPEN 

直線

CLOSE 

有向線分

HALF 

半直線

◆ fk_ElementMode

enum class FK::fk_ElementMode
strong

描画優先モードを表す列挙型

列挙値
NONE 

描画しない

MODEL 

モデル設定優先

ELEMENT 

形状個別要素設定優先

◆ fk_ShadingMode

enum class FK::fk_ShadingMode
strong

シェーディングモードを表す列挙型

列挙値
GOURAUD 

グーローシェーディング

PHONG 

フォンシェーディング

NUM 

シェーディングモード種類数

◆ fk_MaterialMode

enum class FK::fk_MaterialMode
strong

マテリアルモード型

列挙値
NONE 

不描画モード

CHILD 

個別設定モード

PARENT 

モデル設定モード

◆ fk_ProjectMode

enum class FK::fk_ProjectMode
strong

投影法を表す列挙型

列挙値
NONE 

指定なし

PERSPECTIVE 

対称透視投影法

FRUSTUM 

一般透視投影法

ORTHO 

平行投影法

◆ fk_BlendMode

enum class FK::fk_BlendMode
strong

ブレンドモード列挙型

列挙値
ALPHA 

アルファブレンド(デフォルト)

NEGATIVE 

反転

ADDITION 

加算

SCREEN 

スクリーン

LIGHTEN 

比較(明)

MULTIPLY 

乗算

NONE 

ブレンドなし

CUSTOM 

カスタム

◆ fk_BlendFactor

enum class FK::fk_BlendFactor
strong

ブレンド係数列挙型

列挙値
ZERO 

0

ONE 

1

SRC_COLOR 

Sr,Sg,Sb

ONE_MINUS_SRC_COLOR 

1-Sr,Sg,Sb

DST_COLOR 

Dr,Dg,Db

ONE_MINUS_DST_COLOR 

1-Dr,Dg,Db

SRC_ALPHA 

Sa

ONE_MINUS_SRC_ALPHA 

1-Sa

DST_ALPHA 

Da

ONE_MINUS_DST_ALPHA 

1-Da

◆ fk_DepthMode

enum class FK::fk_DepthMode : unsigned int
strong

デプス読み書きモード列挙型

列挙値
NO_USE 

デプスバッファの参照も更新せず、常に上書きします

READ 

デプスバッファを参照し、前後関係のチェックを行います

WRITE 

デプスバッファに書き込みを行い、更新します

READ_AND_WRITE 

デプスバッファの参照と書き込みを共に行います(初期値)

◆ fk_ShadowMode

enum class FK::fk_ShadowMode
strong

影モードを表す列挙型

列挙値
HARD 

ハードシャドウ

SOFT_FAST 

速度重視ソフトシャドウ

SOFT_NICE 

質重視ソフトシャドウ

OFF 

影無効

NUM 

影モード種類数

◆ fk_RealShapeType

enum class FK::fk_RealShapeType
strong

形状データの具体的なデータ構造を表す列挙型

列挙値
IFS 

fk_IndexFaceSet ベース

SOLID 

fk_Solid ベース

TEXTURE 

fk_Texture ベース

POINT 

fk_Point ベース

LINE 

fk_Line ベース

CURVE 

fk_Curve ベース

SURFACE 

fk_Surface ベース

LIGHT 

fk_Light ベース

GRAPH 

fk_Graph ベース

OTHER 

その他

◆ fk_UV

enum class FK::fk_UV : int
strong

曲面の uv 方向を表す列挙型

列挙値
U_S 

u側(v始点側)

U_E 

u側(v終点側)

V_S 

v側(u始点側)

V_E 

v側(u終点側)

◆ fk_TextAlign

enum class FK::fk_TextAlign
strong

文字列板の文字列配置を表す列挙型

列挙値
LEFT 

左寄せ

CENTER 

中寄せ

RIGHT 

右寄せ

◆ fk_TextSendingMode

enum class FK::fk_TextSendingMode
strong

文字列板の文字送りモードを表す列挙型

列挙値
ALL 

全体一括

CHAR 

文字単位

LINE 

行単位

◆ fk_TexMode

enum class FK::fk_TexMode
strong

テクスチャモードを表す列挙型

列挙値
MODULATE 

積算モード

DECAL 

線形補間モード

REPLACE 

画像モード

NONE 

指定なし

NUM 

◆ fk_TexRendMode

enum class FK::fk_TexRendMode
strong

テクスチャ描画品質を表す列挙型

列挙値
NORMAL 

標準品質

SMOOTH 

高品質

◆ fk_TexWrapMode

enum class FK::fk_TexWrapMode
strong

テクスチャ外周部の描画モードを表す列挙型

列挙値
REPEAT 

繰り返し式

CLAMP 

縁部伸張式

◆ fk_StringCode

enum class FK::fk_StringCode
strong

日本語文字コードを表す列挙型

列挙値
UTF16 

Unicode (UTF-16)

UTF8 

Unicode (UTF-8)

JIS 

ISO-2022-JIS (JISコード)

SJIS 

Shift-JIS (SJISコード)

EUC 

EUC

◆ fk_Axis

enum class FK::fk_Axis
strong

座標軸を表す列挙型

列挙値

x軸

y軸

z軸

◆ fk_Key

enum class FK::fk_Key
strong

特殊キーを表す列挙型

列挙値
SHIFT_R 

右シフトキー

SHIFT_L 

左シフトキー

CTRL_R 

右コントロールキー

CTRL_L 

左コントロールキー

ALT_R 

右オルトキー

ALT_L 

左オルトキー

ENTER 

エンター(改行、リターン)キー

BACKSPACE 

バックスペース(後退)キー

DEL 

デリート(削除)キー

CAPS_LOCK 

キャップスロックキー

TAB 

タブキー

PAGE_UP 

ページアップキー

PAGE_DOWN 

ページダウンキー

HOME 

ホームキー

END 

エンドキー

INSERT 

インサートキー

LEFT 

左矢印キー

RIGHT 

右矢印キー

UP 

上矢印キー

DOWN 

下矢印キー

F1 

F1 ファンクションキー

F2 

F2 ファンクションキー

F3 

F3 ファンクションキー

F4 

F4 ファンクションキー

F5 

F5 ファンクションキー

F6 

F6 ファンクションキー

F7 

F7 ファンクションキー

F8 

F8 ファンクションキー

F9 

F9 ファンクションキー

F10 

F10 ファンクションキー

F11 

F11 ファンクションキー

F12 

F12 ファンクションキー

SPACE 

スペースキー

◆ fk_MouseButton

enum class FK::fk_MouseButton
strong

マウスボタンを表す列挙型

列挙値
M1 

マウス左クリック(第1ボタン)

M2 

マウス中クリック、あるいはホイールクリック(第2ボタン)

M3 

マウス右クリック(第3ボタン)

◆ fk_PutStrMode

enum class FK::fk_PutStrMode
strong

メッセージ出力タイプを表す列挙型

列挙値
NONE 

出力なし

CONSOLE 

コンソール標準出力

ERR_CONSOLE 

コンソールエラー出力

BROWSER 

専用ブラウザ出力

FILE 

ファイル出力

◆ fk_Switch

enum class FK::fk_Switch
strong

ボタン系デバイス状態を表す列挙型

列挙値
RELEASE 

離しっぱなしの状態

UP 

離した瞬間

DOWN 

押した瞬間

PRESS 

押しっぱなしの状態

関数詳解

◆ operator+() [1/9]

fk_Color FK::operator+ ( const fk_Color ,
const fk_Color  
)

色要素和二項演算子

色値 C1 と C2 の和を得るには、以下のように記述します。 C1, C2, C3 はいずれも fk_Color 型の変数です。

C3 = C1 + C2;

なお演算の結果、成分値が 1 を超える場合はその成分を 1 とします。

◆ operator-() [1/9]

fk_Color FK::operator- ( const fk_Color ,
const fk_Color  
)

色要素差二項演算子

色値 C1 と C2 の差を得るには、以下のように記述します。 C1, C2, C3 はいずれも fk_Color 型の変数です。

C3 = C1 - C2;

なお演算の結果、成分値が 0 未満となる場合はその成分を 0 にします。

◆ operator*() [1/25]

fk_Color FK::operator* ( const fk_Color ,
double   
)

実数倍二項演算子1

ベクトル C1 のスカラー倍色値を得るには、以下のように記述します。 C1, C2 は共に fk_Color 型の変数で、d は double 型の変数です。

C2 = C1 * d;

色値と実数の順番は逆でも構いません。 なお演算の結果、成分値が 0 未満となる場合はその成分を 0 に、 1 を超える場合はその成分を 1 とします。

◆ operator*() [2/25]

fk_Color FK::operator* ( double  ,
const fk_Color  
)

実数倍二項演算子2

ベクトル C1 のスカラー倍色値を得るには、以下のように記述します。 C1, C2 は共に fk_Color 型の変数で、d は double 型の変数です。

C2 = d * C1;

色値と実数の順番は逆でも構いません。 なお演算の結果、成分値が 0 未満となる場合はその成分を 0 に、 1 を超える場合はその成分を 1 とします。

◆ operator/() [1/5]

fk_Color FK::operator/ ( const fk_Color ,
double   
)

実数商二項演算子

ベクトル C1 のスカラー商色値を得るには、以下のように記述します。 C1, C2 は共に fk_Color 型の変数で、d は double 型の変数です。

C2 = C1/d;

なお演算の結果、成分値が 0 未満となる場合はその成分を 0 に、 1 を超える場合はその成分を 1 とします。

◆ operator|() [1/3]

fk_Draw FK::operator| ( fk_Draw  ,
fk_Draw   
)

描画モード用ビット論理和演算子

◆ operator&() [1/3]

fk_Draw FK::operator& ( fk_Draw  ,
fk_Draw   
)

描画モード用ビット論理積演算子

◆ operator^() [1/6]

fk_Draw FK::operator^ ( fk_Draw  ,
fk_Draw   
)

描画モード用ビット XOR 演算子

◆ operator*() [3/25]

fk_GenVector FK::operator* ( const fk_GenMatrix ,
const fk_GenVector  
)

ベクトル変換二項演算子

任意次元ベクトル V1 の、行列 M による変換ベクトル V2 を求めるには、 以下のように記述します。 V1, V2 は共に fk_GenVector 型の変数で、M は fk_GenMatrix 型の変数です。

V2 = M * V1;

FK では行列体系として MV 系を採用しており、 行列のベクトル変換の際には行列が左側、ベクトルが右側である必要があります。 なお、この演算では M と V1 の次元数が同一である必要があります。 もし次元数が異なった場合は、次元が 0 のベクトルを返します。

◆ operator+() [2/9]

fk_GenMatrix FK::operator+ ( const fk_GenMatrix ,
const fk_GenMatrix  
)

行列和二項演算子

行列 M1, M2 の行列和 M3 を求めるには、 以下のように記述します。 M1, M2, M3 はいずれも fk_GenMatrix 型です。

M3 = M1 + M2;
覚え書き
行列和は交換法則が成り立ちます。 なお、この演算では M1 と M2 の次元数が同一である必要があります。 もし次元数が異なった場合は、次元が 0 の行列を返します。

◆ operator-() [2/9]

fk_GenMatrix FK::operator- ( const fk_GenMatrix ,
const fk_GenMatrix  
)

行列差二項演算子

行列 M1, M2 の行列差 M3 を求めるには、 以下のように記述します。 M1, M2, M3 はいずれも fk_GenMatrix 型です。

M3 = M1 - M2;
覚え書き
行列差は交換法則は成り立ちません。 なお、この演算では M1 と M2 の次元数が同一である必要があります。 もし次元数が異なった場合は、次元が 0 の行列を返します。

◆ operator*() [4/25]

fk_GenMatrix FK::operator* ( const fk_GenMatrix ,
const fk_GenMatrix  
)

行列積二項演算子

行列 M1, M2 の行列積 M3 を求めるには、 以下のように記述します。 M1, M2, M3 はいずれも fk_GenMatrix 型の変数です。

M3 = M1 * M2;
覚え書き
行列積は交換法則が成り立たないため、 \( \mathbf{M}_1\mathbf{M}_2 \) と \( \mathbf{M}_2\mathbf{M}_1 \) は一般的に結果が異なります。 なお、この演算では M1 と M2 の次元数が同一である必要があります。 もし次元数が異なった場合は、次元が 0 の行列を返します。

◆ operator*() [5/25]

double FK::operator* ( const fk_GenVector P,
const fk_GenVector Q 
)

内積二項演算子

fk_GenVector 型の n 次元ベクトル \( \mathbf{P} \) と \( \mathbf{Q} \) の内積値(スカラー積)は、以下のように定義されます。

\[ \mathbf{P}\cdot\mathbf{Q} = \sum_{i=0}^{n-1} P_iQ_i \]

これを得るには、以下のように記述します。d は double 型の変数です。

d = P * Q;

P と Q の次元数が異なる場合は、無条件に 0.0 を返します。 なお、内積演算は交換法則が成り立ちます。

◆ operator+() [3/9]

fk_GenVector FK::operator+ ( const fk_GenVector P,
const fk_GenVector Q 
)

ベクトル和二項演算子

ベクトル P と Q の和を得るには、以下のように記述します。 P, Q, R はいずれも fk_GenVector 型の変数です。

R = P + Q;

P と Q の次元数が異なる場合は、次元数 0 のベクトルを返します。 なお、和演算は交換法則が成り立ちます。

◆ operator-() [3/9]

fk_GenVector FK::operator- ( const fk_GenVector P,
const fk_GenVector Q 
)

ベクトル差二項演算子

ベクトル P と Q の差を得るには、以下のように記述します。 P, Q, R はいずれも fk_GenVector 型の変数です。

R = P - Q;

P と Q の次元数が異なる場合は、次元数 0 のベクトルを返します。 なお、差演算は交換法則は成り立ちません。

◆ operator*() [6/25]

fk_GenVector FK::operator* ( const fk_GenVector V,
double  d 
)

実数倍二項演算子1

ベクトル V1 のスカラー倍ベクトルを得るには、以下のように記述します。 V1, V2 は共に fk_GenVector 型の変数で、d は double 型の変数です。

V2 = V1 * d;

なお、ベクトルと実数の順番は逆でも構いません。

◆ operator*() [7/25]

fk_GenVector FK::operator* ( double  d,
const fk_GenVector V 
)

実数倍二項演算子2

ベクトル V1 のスカラー倍ベクトルを得るには、以下のように記述します。 V1, V2 は共に fk_GenVector 型の変数で、d は double 型の変数です。

V2 = d * V1;

なお、ベクトルと実数の順番は逆でも構いません。

◆ operator/() [2/5]

fk_GenVector FK::operator/ ( const fk_GenVector V,
double  d 
)

実数商二項演算子

ベクトル V1 のスカラー商ベクトルを得るには、以下のように記述します。 V1, V2 は共に fk_GenVector 型の変数で、d は double 型の変数です。

V2 = V1/d;

◆ operator^() [2/6]

fk_GenVector FK::operator^ ( const fk_GenVector P,
const fk_GenVector Q 
)

外積二項演算子

n次元ベクトル \( \mathbf{P} \) と \( \mathbf{Q} \) の外積ベクトル(ベクトル積)は、以下のように定義されます。

\[ \mathbf{P} \times \mathbf{Q} = \left(P_1Q_2 - P_2Q_1, \; P_2Q_3 - P_3Q_2, \ldots, \; P_{n-2}Q_{n-1} - P_{n-1}Q_{n-2}, \; P_{n-1}Q_0 - P_0Q_{n-1}, \; P_0Q_1 - P_1Q_0\right) \]

これを得るには、以下のように記述します。 P,Q,R はいずれも fk_Vector 型の変数です。

R = P ^ Q;

P と Q の次元数が異なる場合は、次元数 0 のベクトルを返します。

◆ operator|() [2/3]

fk_Guide FK::operator| ( fk_Guide  ,
fk_Guide   
)

座標ガイド用ビット論理和演算子

◆ operator&() [2/3]

fk_Guide FK::operator& ( fk_Guide  ,
fk_Guide   
)

座標ガイド用ビット論理積演算子

◆ operator^() [3/6]

fk_Guide FK::operator^ ( fk_Guide  ,
fk_Guide   
)

座標ガイド用ビット XOR 演算子

◆ operator+() [4/9]

fk_Dimension FK::operator+ ( const fk_Dimension ,
const fk_Dimension  
)

整数値ベクトル和二項演算子

◆ operator-() [4/9]

fk_Dimension FK::operator- ( const fk_Dimension ,
const fk_Dimension  
)

整数値ベクトル差二項演算子

◆ operator*() [8/25]

fk_Dimension FK::operator* ( const fk_Dimension ,
int   
)

整数値ベクトル倍演算二項演算子1

◆ operator*() [9/25]

fk_Dimension FK::operator* ( int  ,
const fk_Dimension  
)

整数値ベクトル倍演算二項演算子2

◆ operator/() [3/5]

fk_Dimension FK::operator/ ( const fk_Dimension ,
int   
)

整数値ベクトル商演算二項演算子

◆ fk_InitMaterial()

void FK::fk_InitMaterial ( void  )

デフォルトマテリアル変数の初期化

この関数は、最初から用意されているマテリアル用変数の初期化を行います。 これを行わないと、各変数に適切な値が入力されません。 この関数を呼んだあとに、各変数のマテリアル要素を設定しなおすことが可能です。 その後改めて初期化するには、再度この関数を呼んで下さい。

◆ operator*() [10/25]

fk_HVector FK::operator* ( const fk_OrthoMatrix ,
const fk_HVector  
)

ベクトル変換二項演算子

行列変換二項演算子2

4次元ベクトル V1 の、直交行列 M による変換ベクトル V2 を求めるには、 以下のように記述します。 V1, V2 は共に fk_HVector 型の変数で、M は fk_OrthoMatrix 型の変数です。

V2 = M * V1;

FK では行列体系として MV 系を採用しており、 行列のベクトル変換の際には行列が左側、ベクトルが右側である必要があります。

以下のコードは、fk_HVector 型の変数 V_org を fk_OrthoMatrix 型の変数 M によって変換した値を、 fk_HVector 型変数 V_new に代入します。

V_new = M * V_org;

FK では行列体系として MV 系を採用しており、 行列のベクトル変換の際には行列が左側、ベクトルが右側である必要があります。

◆ operator*() [11/25]

fk_OrthoMatrix FK::operator* ( const fk_OrthoMatrix ,
const fk_OrthoMatrix  
)

行列積二項演算子1

直交行列 M1, M2 の行列積 M3 を求めるには、 以下のように記述します。 M1, M2, M3 はいずれも fk_OrthoMatrix 型の変数です。

M3 = M1 * M2;
覚え書き
行列積は交換法則が成り立たないため、 \( \mathbf{M}_1\mathbf{M}_2 \) と \( \mathbf{M}_2\mathbf{M}_1 \) は一般的に結果が異なります。

◆ operator*() [12/25]

fk_Matrix FK::operator* ( const fk_Matrix ,
const fk_OrthoMatrix  
)

行列積二項演算子2

一般行列 M_ord と直交行列 M_ortho の行列積 M を求めるには、 以下のように記述します。 M_ord, M は fk_Matrix 型、M_ortho は fk_OrthoMatrix 型の変数です。

M = M_ord * M_ortho;
覚え書き
行列積は交換法則が成り立たないため、 \( \mathbf{M}_1\mathbf{M}_2 \) と \( \mathbf{M}_2\mathbf{M}_1 \) は一般的に結果が異なります。

◆ operator*() [13/25]

fk_Matrix FK::operator* ( const fk_OrthoMatrix ,
const fk_Matrix  
)

行列積二項演算子3

直交行列 M_ortho と一般行列 M_ord の行列積 M を求めるには、 以下のように記述します。 M_ord, M は fk_Matrix 型、M_ortho は fk_OrthoMatrix 型の変数です。

M = M_ortho * M_ord;
覚え書き
行列積は交換法則が成り立たないため、 \( \mathbf{M}_1\mathbf{M}_2 \) と \( \mathbf{M}_2\mathbf{M}_1 \) は一般的に結果が異なります。

◆ operator+() [5/9]

fk_Matrix FK::operator+ ( const fk_Matrix ,
const fk_OrthoMatrix  
)

行列和二項演算子1

一般行列 M_ord と直交行列 M_ortho の行列和 M を求めるには、 以下のように記述します。 M_ord, M は fk_Matrix 型、M_ortho は fk_OrthoMatrix 型の変数です。

M = M_ord + M_ortho;
覚え書き
行列和は交換法則が成り立ちます。

◆ operator+() [6/9]

fk_Matrix FK::operator+ ( const fk_OrthoMatrix ,
const fk_Matrix  
)

行列和二項演算子2

直交行列 M_ortho と一般行列 M_ord の行列和 M を求めるには、 以下のように記述します。 M_ord, M は fk_Matrix 型、M_ortho は fk_OrthoMatrix 型の変数です。

M = M_ortho + M_ord;
覚え書き
行列和は交換法則が成り立ちます。

◆ operator-() [5/9]

fk_Matrix FK::operator- ( const fk_Matrix ,
const fk_OrthoMatrix  
)

行列差二項演算子1

一般行列 M_ord と直交行列 M_ortho の行列差 M を求めるには、 以下のように記述します。 M_ord, M は fk_Matrix 型、M_ortho は fk_OrthoMatrix 型の変数です。

M = M_ord - M_ortho;
覚え書き
行列差は交換法則が成り立ちません。

◆ operator-() [6/9]

fk_Matrix FK::operator- ( const fk_OrthoMatrix ,
const fk_Matrix  
)

行列差二項演算子2

直交行列 M_ortho と一般行列 M_ord の行列差 M を求めるには、 以下のように記述します。 M_ord, M は fk_Matrix 型、M_ortho は fk_OrthoMatrix 型の変数です。

M = M_ortho - M_ord;
覚え書き
行列差は交換法則が成り立ちません。

◆ operator*() [14/25]

fk_HVector FK::operator* ( const fk_Matrix ,
const fk_HVector  
)

ベクトル変換二項演算子

行列変換二項演算子1

4次元ベクトル V1 の、行列 M による変換ベクトル V2 を求めるには、 以下のように記述します。 V1, V2 は共に fk_HVector 型の変数で、M は fk_Matrix 型の変数です。

V2 = M * V1;

FK では行列体系として MV 系を採用しており、 行列のベクトル変換の際には行列が左側、ベクトルが右側である必要があります。

以下のコードは、fk_HVector 型の変数 V_org を fk_Matrix 型の変数 M によって変換した値を、 fk_HVector 型変数 V_new に代入します。

V_new = M * V_org;

FK では行列体系として MV 系を採用しており、 行列のベクトル変換の際には行列が左側、ベクトルが右側である必要があります。

◆ operator*() [15/25]

fk_Matrix FK::operator* ( const fk_Matrix ,
const fk_Matrix  
)

行列積二項演算子

行列 M1, M2 の行列積 M3 を求めるには、 以下のように記述します。 M1, M2, M3 はいずれも fk_Matrix 型の変数です。

M3 = M1 * M2;
覚え書き
行列積は交換法則が成り立たないため、 \( \mathbf{M}_1\mathbf{M}_2 \) と \( \mathbf{M}_2\mathbf{M}_1 \) は一般的に結果が異なります。

◆ operator*() [16/25]

fk_Matrix FK::operator* ( double  ,
const fk_Matrix  
)

行列実数倍二項演算子1

行列 M1 のスカラー倍行列をエルには、以下のように記述します。 M1, M2 はいずれも fk_Matrix 型の変数で、d は double 型の変数です。

M2 = d * M1;

なお、行列と実数の順番は逆でも構いません。

◆ operator*() [17/25]

fk_Matrix FK::operator* ( const fk_Matrix ,
double   
)

行列実数倍二項演算子2

行列 M1 のスカラー倍行列をエルには、以下のように記述します。 M1, M2 はいずれも fk_Matrix 型の変数で、d は double 型の変数です。

M2 = M1 * d;

なお、行列と実数の順番は逆でも構いません。

◆ operator+() [7/9]

fk_Matrix FK::operator+ ( const fk_Matrix ,
const fk_Matrix  
)

行列和二項演算子

行列 M1, M2 の行列和 M3 を求めるには、 以下のように記述します。 M1, M2, M3 はいずれも fk_Matrix 型です。

M3 = M1 + M2;
覚え書き
行列和は交換法則が成り立ちます。

◆ operator-() [7/9]

fk_Matrix FK::operator- ( const fk_Matrix ,
const fk_Matrix  
)

行列差二項演算子

行列 M1, M2 の行列差 M3 を求めるには、 以下のように記述します。 M1, M2, M3 はいずれも fk_Matrix 型です。

M3 = M1 - M2;
覚え書き
行列差は交換法則が成り立ちません。

◆ operator*() [18/25]

fk_Quaternion FK::operator* ( const fk_Quaternion ,
const fk_Quaternion  
)

四元数積二項演算子

2つの四元数 \(\mathbf{q}_1, \mathbf{q}_2\) に対し、 それぞれのスカラー部とベクトル部を以下のように記述するとします。

\[ \mathbf{q}_1 = s_1 + \mathbf{V}_1, \; \mathbf{q}_2 = s_2 + \mathbf{V}_2 \]

このとき、四元数の積は以下のように定義されます。

\[ \mathbf{q}_1\mathbf{q}_2 = \left(s_1s_2 - \mathbf{V}_1\cdot\mathbf{V}_2\right) + \left(s_1\mathbf{V}_2+s_2\mathbf{V}_1 + \mathbf{V}_1 \times \mathbf{V}_2\right) \]

これを得るには、以下のように記述します。 q1, q2, q はいずれも fk_Quaternion 型の変数です。

q = q1 * q2;

四元数の積は、四元数を回転変換として考えたとき、合成変換を生成することを意味します。 なお、四元数の積は交換法則は成り立ちません。

◆ operator+() [8/9]

fk_Quaternion FK::operator+ ( const fk_Quaternion ,
const fk_Quaternion  
)

四元数和二項演算子

四元数の和は、全ての成分同士を加算することで定義されます。 四元数 q1 と q2 の和を得るには、以下のように記述します。 q1, q2, q はいずれも fk_Quaternion 型の変数です。

q = q1 + q2;

◆ operator-() [8/9]

fk_Quaternion FK::operator- ( const fk_Quaternion ,
const fk_Quaternion  
)

四元数差二項演算子

四元数の差は、全ての成分同士を減算することで定義されます。 四元数 q1 と q2 の差を得るには、以下のように記述します。 q1, q2, q はいずれも fk_Quaternion 型の変数です。

q = q1 - q2;

◆ operator*() [19/25]

fk_Quaternion FK::operator* ( const fk_Quaternion ,
double   
)

四元数スカラー倍二項演算子1

四元数のスカラー倍は、全ての成分に与えられた実数を掛けることで定義されます。 これを得るには、以下のように記述します。 q1, q2 はいずれも fk_Quaternion 型の変数で、d は double 型の変数です。

q2 = q1 * d;

なお、四元数と実数の順番は逆でも構いません。

◆ operator*() [20/25]

fk_Quaternion FK::operator* ( double  ,
const fk_Quaternion  
)

四元数スカラー倍二項演算子2

四元数のスカラー倍は、全ての成分に与えられた実数を掛けることで定義されます。 これを得るには、以下のように記述します。 q1, q2 はいずれも fk_Quaternion 型の変数で、d は double 型の変数です。

q2 = d * q1;

なお、四元数と実数の順番は逆でも構いません。

◆ operator/() [4/5]

fk_Quaternion FK::operator/ ( const fk_Quaternion ,
double   
)

四元数スカラー商二項演算子

四元数のスカラー商は、全ての成分を与えられた実数で割ることで定義されます。 これを得るには、以下のように記述します。 q1, q2 はいずれも fk_Quaternion 型の変数で、d は double 型の変数です。

q2 = q1 / d;

◆ operator*() [21/25]

fk_Vector FK::operator* ( const fk_Quaternion ,
const fk_Vector  
)

四元数ベクトル変換二項演算子

四元数は、数学的には任意軸回転変換を表現します。 一つの四元数 \( \mathbf{q} \) は3次元ベクトル \(\mathbf{V}\) に対し、

\[ \mathbf{V}' = \mathbf{q}\mathbf{V}\mathbf{q}^{-1} \]

という演算によって回転変換したベクトル \(\mathbf{V}'\) を求めることができます。

上記の変換ベクトルを得るには、以下のように記述します。 v1, v2 はともに fk_Vector 型の変数、q は fk_Quaternion 型の変数です。 v1 が元のベクトル、v2 が変換後のベクトルを意味します。

v2 = q * v1;

◆ operator^() [4/6]

double FK::operator^ ( const fk_Quaternion ,
const fk_Quaternion  
)

四元数内積二項演算子

2つの四元数 \(\mathbf{q}_1 = s_1 + x_1i + y_1j + z_1k, \; \mathbf{q}_2 = s_2 + x_2i + y_2j + z_2k \) の内積(スカラー積)は、以下のように定義されます。

\[ \mathbf{q}_1\cdot\mathbf{q}_2 = s_1s_2 + x_1x_2 + y_1y_2 + z_1z_2 \]

これを得るには、以下のように記述します。 q1, q2 は fk_Quaternion 型の変数、d は double 型の変数です。

d = q1 ^ q2;

なお、四元数の内積は交換法則が成り立ちます。

覚え書き
ここで演算子として採用されている「^」は、 C++ の仕様上あまり演算子としての優先度が高くありません。 そのため、括弧を適切に使用しないと本来の意図と異なる結果を生じるおそれがあります。

◆ operator|() [3/3]

fk_DepthMode FK::operator| ( fk_DepthMode  argL,
fk_DepthMode  argR 
)

デプス読み書きモード用ビット論理和演算子

◆ operator&() [3/3]

fk_DepthMode FK::operator& ( fk_DepthMode  argL,
fk_DepthMode  argR 
)

デプス読み書きモード用ビット論理積演算子

◆ operator^() [5/6]

fk_DepthMode FK::operator^ ( fk_DepthMode  argL,
fk_DepthMode  argR 
)

デプス読み書きモード用ビット XOR 演算子

◆ operator*() [22/25]

double FK::operator* ( const fk_Vector ,
const fk_Vector  
)

内積二項演算子

3次元ベクトル \( \mathbf{P} \) と \( \mathbf{Q} \) の内積値(スカラー積)は、以下のように定義されます。

\[ \mathbf{P}\cdot\mathbf{Q} = P_xQ_x + P_yQ_y + P_zQ_z \]

これを得るには、以下のように記述します。 P, Q はともに fk_Vector 型の変数で、d は double 型の変数です。

d = P * Q;

なお、内積は交換法則が成り立ちます。

◆ operator+() [9/9]

fk_Vector FK::operator+ ( const fk_Vector ,
const fk_Vector  
)

ベクトル和二項演算子

ベクトル V1 と V2 の和を得るには、以下のように記述します。 V1, V2, V3 はいずれも fk_Vector 型の変数です。

V3 = V1 + V2;

なお、和演算は交換法則が成り立ちます。

◆ operator-() [9/9]

fk_Vector FK::operator- ( const fk_Vector ,
const fk_Vector  
)

ベクトル差二項演算子

ベクトル V1 と V2 の差を得るには、以下のように記述します。 V1, V2, V3 はいずれも fk_Vector 型の変数です。

V3 = V1 - V2;

なお、差演算は交換法則が成り立ちません。

◆ operator*() [23/25]

fk_Vector FK::operator* ( const fk_Vector ,
double   
)

実数倍二項演算子1

ベクトル V1 のスカラー倍ベクトルを得るには、以下のように記述します。 V1, V2 は共に fk_Vector 型の変数で、d は double 型の変数です。

V2 = V1 * d;

なお、ベクトルと実数の順番は逆でも構いません。

◆ operator*() [24/25]

fk_Vector FK::operator* ( double  ,
const fk_Vector  
)

実数倍二項演算子2

ベクトル V1 のスカラー倍ベクトルを得るには、以下のように記述します。 V1, V2 は共に fk_Vector 型の変数で、d は double 型の変数です。

V2 = d * V1;

なお、ベクトルと実数の順番は逆でも構いません。

◆ operator/() [5/5]

fk_Vector FK::operator/ ( const fk_Vector ,
double   
)

実数商二項演算子

ベクトル V1 のスカラー商ベクトルを得るには、以下のように記述します。 V1, V2 は共に fk_Vector 型の変数で、d は double 型の変数です。

V2 = V1/d;

◆ operator^() [6/6]

fk_Vector FK::operator^ ( const fk_Vector ,
const fk_Vector  
)

外積二項演算子

3次元ベクトル \( \mathbf{P} \) と \( \mathbf{Q} \) の外積ベクトル(ベクトル積)は、以下のように定義されます。

\[ \mathbf{P} \times \mathbf{Q} = (P_yQ_z - P_zQ_y, \; P_zQ_x - P_xQ_z, \; P_xQ_y - P_yQ_x) \]

これを得るには、以下のように記述します。 P,Q,R はいずれも fk_Vector 型の変数です。

R = P ^ Q;

なお、外積は以下のような法則があります。

  • \(\mathbf{P}\), \(\mathbf{Q}\) が平行でない場合、 上記の \(\mathbf{R}\) は、 \(\mathbf{P}\), \(\mathbf{Q}\) の双方と垂直である。
  • \(\mathbf{P}\), \(\mathbf{Q}\) が平行な場合、 \(\mathbf{R}\) は零ベクトルとなる。
  • \( (\mathbf{P} \times \mathbf{Q}) = -(\mathbf{Q} \times \mathbf{P}) \) である。
    覚え書き
    ここで演算子として採用されている「^」は、 C++ の仕様上あまり演算子としての優先度が高くありません。 そのため、括弧を適切に使用しないと本来の意図と異なる結果を生じるおそれがあります。

◆ operator*() [25/25]

double FK::operator* ( const fk_HVector ,
const fk_HVector  
)

内積二項演算子

fk_HVector 型のベクトル V1 と V2 について、 それぞれの3次元ベクトル部の内積値(スカラー積)を得るには、以下のように記述します。 V1, V2 はともに fk_HVector 型の変数で、d は double 型の変数です。

d = V1 * V2;

なお、内積は交換法則が成り立ちます。 同次座標成分については、内積値の算出には利用しません。