1#if !defined(__FK_MODEL_HEADER__)
2#define __FK_MODEL_HEADER__
19 class fk_ShaderBinder;
21#if !defined(FK_DOXYGEN_USER_PROCESS)
22 using fk_funcSet = std::tuple<
unsigned int, std::function<void(
void)> >;
100#if !defined(FK_DOXYGEN_USER_PROCESS)
120 unsigned int modelID;
125 std::unique_ptr<fk_HVector> snapPos;
126 std::unique_ptr<fk_HVector> snapInhPos;
127 std::unique_ptr<fk_Angle> snapAngle;
134 std::list<fk_Model *> interList;
138 bool shadowEffectMode;
307 double Bx,
double By,
double Bz,
double theta);
461 double Bx,
double By,
double Bz,
double theta);
599 double Bx,
double By,
double Bz,
double theta);
755 double Bx,
double By,
double Bz,
double theta);
1592#if !defined(FK_OLD_NONSUPPORT) && !defined(FK_DOXYGEN_USER_PROCESS)
1594 void setPickMode(
const bool);
1595 bool getPickMode(
void)
const;
2091#if !defined(FK_OLD_NONSUPPORT) && !defined(FK_DOXYGEN_USER_PROCESS)
2244#if !defined(FK_DOXYGEN_USER_PROCESS)
2246 virtual void connectShader(
unsigned int) {};
2248 void SetTreeDelMode(
bool);
2249 void TreePrint(
void);
2252#if !defined(FK_OLD_NONSUPPORT) && !defined(FK_DOXYGEN_USER_PROCESS)
2253 void setSize(
double);
2254 double getSize(
void)
const;
2255 void setWidth(
double);
2256 double getWidth(
void)
const;
2261 std::unique_ptr<Member> _m;
2263 void EntryTree(
void);
2264 void DeleteTree(
void);
2273 void PostMove(
void);
2275 void StaticInit(
void);
2278 static inline std::unique_ptr<fk_Tree> modelTree;
2279 static inline std::unique_ptr<unsigned int> globalModelID;
オイラー角を表すクラス
Definition Angle.h:21
境界ボリュームを管理するクラス
Definition Boundary.h:65
RGB色を管理するクラス
Definition Color.h:21
マテリアル(質感)を管理するクラス
Definition Material.h:40
一般4元正方行列を管理するクラス
Definition Matrix.h:549
モデルを生成、管理するクラス
Definition Model.h:98
void setSmoothMode(const bool mode)
スムースモード設定関数
void snapShot(void)
位置・姿勢保存関数
fk_BlendMode getBlendMode(fk_BlendFactor *outSrc=nullptr, fk_BlendFactor *outDst=nullptr) const
ブレンドモード参照関数
fk_Angle getInhAngle(void) const
継承オイラー角参照関数
bool loRotate(fk_Vector A, fk_Vector B, double theta)
ローカル座標系任意軸回転関数1
bool getInterStatus(void)
干渉継続状態取得関数
virtual ~fk_Model()
デストラクタ
fk_Vector getInhPosition(void) const
継承位置ベクトル参照関数
fk_Model * getParent(void) const
親モデル参照関数
bool setParent(fk_Model *model, bool setMode=false)
親モデル設定関数
bool loRotateWithVec(fk_Vector origin, fk_Axis axis, double theta)
ローカル座標系座標軸回転(姿勢付き)関数1
void setLineColor(fk_Color *col)
稜線色設定関数1
bool glMoveTo(double x, double y, double z)
グローバル座標系位置指定関数2
void setFogMode(bool mode)
霧効果設定関数
bool glTranslate(double x, double y, double z)
グローバル座標系平行移動関数2
void deleteParent(bool setMode=false)
親モデル解除関数
bool loTranslate(fk_Vector v)
ローカル座標系平行移動関数1
void setShape(fk_Shape *shape)
形状設定関数
fk_Material * getMaterial(void)
マテリアル参照関数
void setTextureMode(fk_TexMode mode)
テクスチャモード設定関数
void setElementMode(const fk_ElementMode mode)
要素モード設定関数
bool glMoveTo(fk_Vector p)
グローバル座標系位置指定関数1
bool glRotateWithVec(fk_Vector A, fk_Vector B, double theta)
グローバル座標系任意軸回転(姿勢付き)関数1
void setLineColor(float r, float g, float b)
稜線色設定関数2
bool restore(void)
位置・姿勢復元関数
bool getInterMode(void)
干渉継続モード取得関数
bool glRotateWithVec(double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
グローバル座標系座標軸回転(姿勢付き)関数2
fk_DepthMode getDepthMode(void) const
前後関係参照関数
bool deleteChild(fk_Model *model, bool setMode=false)
子モデル解除関数
bool getShadowEffect(void)
影投影設定参照関数
bool glTranslate(fk_Vector v)
グローバル座標系平行移動関数1
fk_OrthoMatrix getInhBaseMatrix(void) const
継承移動・回転要素変換行列取得関数
void setPointColor(fk_Color *col)
頂点色設定関数1
void setDrawMode(const fk_Draw mode)
描画モード設定関数
void deleteInterModel(fk_Model *model)
干渉自動停止モデル解除関数
fk_Model(fk_Shape *shape=nullptr)
コンストラクタ
void adjustCapsule(fk_Vector P, fk_Axis axis)
境界カプセル自動設定関数(中心軸上の点と座標軸)
bool loRotate(double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
ローカル座標系任意軸回転関数2
fk_TexMode getTextureMode(void)
テクスチャモード取得関数
void adjustCapsule(fk_Vector S, fk_Vector E, bool mode=false)
境界カプセル自動設定関数(中心軸直接指定)
fk_ShaderBinder * getShader(void)
シェーダー取得関数
void setBlendMode(const fk_BlendMode mode, const fk_BlendFactor srcFactor=fk_BlendFactor::SRC_ALPHA, const fk_BlendFactor dstFactor=fk_BlendFactor::ONE_MINUS_SRC_ALPHA)
ブレンドモード設定関数
void adjustCapsule(fk_Axis axis)
境界カプセル自動設定関数(座標軸による中心軸設定)
fk_Vector getInhVec(void) const
継承方向ベクトル参照関数
void setShadingMode(fk_ShadingMode mode)
シェーディングモード設定関数
bool getSmoothMode(void) const
スムースモード参照関数
void setShader(fk_ShaderBinder *shader)
シェーダー設定関数
fk_ElementMode getElementMode(void) const
要素モード設定関数
void clearInterModel(void)
干渉自動停止モデル初期化関数
bool loRotateWithVec(double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
ローカル座標系座標軸回転(姿勢付き)関数2
fk_ShadingMode getShadingMode(void) const
シェーディングモード取得関数
void entryInterModel(fk_Model *model)
干渉自動停止モデル登録関数
bool glRotateWithVec(fk_Vector origin, fk_Axis axis, double theta)
グローバル座標系座標軸回転(姿勢付き)関数1
unsigned int getID(void) const
ID参照関数
bool loRotateWithVec(double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
ローカル座標系任意軸回転(姿勢付き)関数2
bool glRotateWithVec(double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
グローバル座標系任意軸回転(姿勢付き)関数2
bool entryChild(fk_Model *model, bool setMode=false)
子モデル設定関数
void setShadowEffect(bool mode)
影投影設定関数
void setPointColor(float r, float g, float b)
頂点色設定関数2
bool getReverseDrawMode(void) const
描画順序参照関数
bool loRotateWithVec(fk_Vector A, fk_Vector B, double theta)
ローカル座標系任意軸回転(姿勢付き)関数1
std::tuple< bool, double > isCollision(fk_Model *model)
モデル間衝突判定関数
fk_OrthoMatrix getInhInvBaseMatrix(void) const
継承移動・回転要素逆変換行列取得関数
void setDepthMode(const fk_DepthMode mode)
前後関係制御関数
bool loTranslate(double x, double y, double z)
ローカル座標系平行移動関数2
void setInterMode(bool mode)
干渉継続モード設定関数
bool glRotate(double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
グローバル座標系座標軸回転関数2
bool glRotate(fk_Vector origin, fk_Axis axis, double theta)
グローバル座標系座標軸回転関数1
void adjustOBB(void)
OBB 自動設定関数
void setCurveColor(fk_Color *col)
曲線色設定関数1
void adjustAABB(void)
AABB 自動設定関数
bool getInterStopMode(void)
干渉自動停止モード取得関数
void setCurveColor(float r, float g, float b)
曲線色設定関数2
void resetInter(void)
干渉継続状態初期化関数
fk_Color * getPointColor(void)
頂点色参照関数
bool loRotate(fk_Vector origin, fk_Axis axis, double theta)
ローカル座標系座標軸回転関数1
double getInhScale(void) const
継承全体倍率取得関数
bool restore(double t)
位置・姿勢途中復元関数
void setShadowDraw(bool mode)
影表示設定関数
void adjustSphere(void)
境界球自動設定関数
fk_Vector getInhUpvec(void) const
継承アップベクトル参照関数
fk_Color * getLineColor(void)
稜線色参照関数
void setMaterial(const fk_Material &mat)
マテリアル設定関数
void adjustCapsule(void)
境界カプセル自動設定関数(全自動)
void setInterStopMode(bool mode)
干渉自動停止モード設定関数
bool isInter(fk_Model *model)
モデル間干渉判定関数
bool getFogMode(void)
霧効果設定参照関数
void setPointSize(const double size)
頂点描画サイズ設定関数
bool getShadowDraw(void)
影表示設定参照関数
void setReverseDrawMode(const bool mode)
描画順序制御関数
fk_Matrix getInhInvMatrix(void) const
継承逆変換行列取得関数
fk_Matrix getInhMatrix(void) const
継承変換行列取得関数
double getPointSize(void) const
頂点描画サイズ参照関数
bool loRotate(double orgX, double orgY, double orgZ, fk_Axis axis, double theta)
ローカル座標系座標軸回転関数2
bool glRotate(fk_Vector A, fk_Vector B, double theta)
グローバル座標系任意軸回転関数1
fk_Color * getCurveColor(void)
曲線色参照関数
fk_Model * foreachChild(fk_Model *model)
子モデル逐次参照関数
fk_Draw getDrawMode(void) const
描画モード参照関数
bool glRotate(double Ax, double Ay, double Az, double Bx, double By, double Bz, double theta)
グローバル座標系任意軸回転関数2
void deleteChildren(bool setMode=false)
全子モデル解除関数
fk_Shape * getShape(void) const
形状参照関数
4元正方直交行列を管理するクラス
Definition Matrix.h:40
シェーダープログラム統括クラス
Definition ShaderBinder.h:34
形状用基底クラス
Definition Shape.h:44
木構造用ノードデータクラス
Definition Tree.h:59
3次元ベクトルを管理するクラス
Definition Vector.h:45
Fine Kernel Toolkit 名前空間
Definition Angle.h:6
fk_DepthMode
デプス読み書きモード列挙型
Definition RenderState.h:32
fk_TexMode
テクスチャモードを表す列挙型
Definition Texture.h:12
fk_ShadingMode
シェーディングモードを表す列挙型
Definition Model.h:33
fk_BlendMode
ブレンドモード列挙型
Definition RenderState.h:6
fk_BlendFactor
ブレンド係数列挙型
Definition RenderState.h:18
@ ONE_MINUS_SRC_ALPHA
1-Sa
fk_Axis
座標軸を表す列挙型
Definition Vector.h:16
fk_ElementMode
描画優先モードを表す列挙型
Definition Model.h:26
fk_MaterialMode
マテリアルモード型
Definition Palette.h:11
fk_Draw
描画モードを表す列挙型
Definition DrawMode.h:7