1#if !defined(__FK_SHAPE_VIEWER_HEADER__)
2#define __FK_SHAPE_VIEWER_HEADER__
15#if !defined(FK_DOXYGEN_USER_PROCESS)
17 enum class fk_ShapeGUIMenuItem {
82#if !defined(FK_DOXYGEN_USER_PROCESS)
93 std::unique_ptr<Fl_Window> mainWindow;
94 std::unique_ptr<fk_Window> viewWin;
99 std::unique_ptr<fk_GUI_> gui;
112 std::map<int, int> IDMap;
113 fk_Model lightModel[2], camera, axisModel;
118 std::vector<std::unique_ptr<fk_Model>> modelArray;
119 std::vector<std::unique_ptr<fk_Material>> polyMaterial;
120 std::vector<std::unique_ptr<fk_Color>> edgeColor;
121 std::vector<std::unique_ptr<fk_Color>> vertexColor;
792 void setAngle(
int ID,
double h,
double p,
double b);
822 void setVec(
int ID,
double x,
double y,
double z);
852 void setUpvec(
int ID,
double x,
double y,
double z);
959#if !defined(FK_CLI_CODE)
980#if !defined(FK_DOXYGEN_USER_PROCESS)
981 void SetFinalizeMode(
void);
982 virtual bool shapeProcess(
fk_Solid *shape);
985#if !defined(FK_OLD_NONSUPPORT) && !defined(FK_DOXYGEN_USER_PROCESS)
986 void setLineWidth(
int ID,
double width);
987 double getLineWidth(
int ID);
991 std::unique_ptr<Member> _m;
993 void InitValue(
void);
995 void InitWindow(
void);
997 void LightInit(
void);
1001 void RotateLight(
double);
1002 bool MenuSelect(
void);
1003 void SetOrientation(
double,
double,
double,
double);
1004 void SetAxisLine(
double);
1005 void MovePosition(
double,
double,
double);
1006 void DragShape(
void);
1007 void KeyHandle(
void);
1008 std::string CommonFileChooser(std::string,
int, std::string);
1009 void SetAllMaterial(
void);
1010 void SetSceneFlg(fk_ShapeGUIMenuItem);
1012 void GetMaterial(
int, fk_ShapeGUIMenuItem,
1013 double *,
double *,
double *);
1014 void SetMaterial(
int, fk_ShapeGUIMenuItem,
1015 double,
double,
double);
1016 void SetDrawMode(
void);
オイラー角を表すクラス
Definition Angle.h:21
FK の各クラスの基盤となる基本クラス
Definition Base.h:113
RGB色を管理するクラス
Definition Color.h:21
画像サイズを表すクラス
Definition Image.h:67
フレームレート制御クラス
Definition FrameController.h:28
画像を生成、管理するクラス
Definition Image.h:260
光源を管理するクラス
Definition Light.h:48
有向線分を生成、管理するクラス
Definition Line.h:22
マテリアル(質感)を管理するクラス
Definition Material.h:40
モデルを生成、管理するクラス
Definition Model.h:98
シーンを制御するクラス
Definition Scene.h:48
簡易形状表示システム用クラス
Definition ShapeViewer.h:81
void setShape(fk_Shape *shape)
単独形状設定関数
void setWindowSize(int w, int h)
描画領域サイズ変更関数
void setAxisMode(bool mode)
座標軸描画設定関数
double getScale(void)
カメラ倍率参照関数
void setPointSize(int ID, double size)
形状頂点描画サイズ設定関数
bool getBlendStatus(void)
透過処理参照関数
void setElementMode(fk_ElementMode mode)
要素モード設定関数
void setHead(double angle)
カメラヘッド角設定関数
void setAxisScale(double scale)
座標軸大きさ設定関数
void setDrawMode(fk_Draw mode)
描画モード設定関数
void setBank(double angle)
カメラバンク角設定関数
void setPosition(int ID, fk_Vector pos)
形状位置設定関数1
void setUpvec(int ID, fk_Vector vec)
形状アップベクトル設定関数1
fk_PutStrMode getPutStrMode(void)
メッセージ出力モード参照関数
fk_Vector getCenter(void)
描画領域中心座標参照関数
fk_ElementMode getElementMode(int ID)
形状別要素モード設定関数
bool getSmoothMode(int ID)
スムースモード参照関数
fk_Draw getDrawMode(int ID)
個別形状描画モード参照関数
void setBGColor(float r, float g, float b)
背景色設定関数2
void setDrawMode(int ID, fk_Draw mode)
個別形状描画モード設定関数
void printf(const char *format,...)
メッセージ出力書式付き設定関数
bool snapImage(fk_Image *image, fk_SnapProcMode mode=fk_SnapProcMode::FRONT)
描画画像データ出力関数
void setPutStrMode(const fk_PutStrMode mode)
メッセージ出力モード設定関数
void setAngle(int ID, double h, double p, double b)
形状姿勢設定関数2
void setBGColor(fk_Color col)
背景色設定関数1
void setEdgeColor(int ID, fk_Color col)
形状稜線描画色設定関数
void setScale(double scale)
カメラ倍率設定関数
void clearBrowser(void)
メッセージ出力用ブラウザ初期化関数
bool getAxisMode(void)
座標軸描画参照関数
void setUpvec(int ID, double x, double y, double z)
形状アップベクトル設定関数2
void setVec(int ID, fk_Vector vec)
形状方向ベクトル設定関数1
void setMaterial(int ID, fk_Material mat)
形状マテリアル設定関数
void clearModel(void)
形状設定初期化関数
fk_ElementMode getElementMode(void)
要素モード設定関数
void setShape(int ID, fk_Shape *shape)
ID付き形状設定関数
int getModelNum(void)
形状設定数参照関数
double getPitch(void)
カメラピッチ角参照関数
bool setPutFile(const std::string &str)
メッセージ出力用ファイル設定関数
double getPointSize(int ID)
形状頂点描画サイズ参照関数
fk_Color getBGColor(void)
背景色参照関数
bool getSmoothMode(void)
スムースモード参照関数
fk_ShapeViewer(int w=300, int h=360)
コンストラクタ
void setPosition(int ID, double x, double y, double z)
形状位置設定関数2
void setPitch(double angle)
カメラピッチ角設定関数
void setAngle(int ID, fk_Angle angle)
形状姿勢設定関数1
void setElementMode(int ID, fk_ElementMode mode)
形状別要素モード設定関数
void putString(const std::string &str)
メッセージ出力文字列設定関数
double getHead(void)
カメラヘッド角参照関数
fk_ShadingMode getShadingMode(int ID)
シェーディングモード参照関数
void setShadingMode(fk_ShadingMode mode)
シェーディングモード設定関数
fk_ShadingMode getShadingMode(void)
シェーディングモード参照関数
void setBlendStatus(bool mode)
透過処理設定関数
void setSmoothMode(bool mode)
スムースモード設定関数
double getBank(void)
カメラバンク角参照関数
void setVertexColor(int ID, fk_Color col)
形状頂点描画色設定関数
void setVec(int ID, double x, double y, double z)
形状方向ベクトル設定関数2
fk_Shape * getShape(int ID=0)
形状参照関数
double getAxisScale(void)
座標軸大きさ参照関数
void setFPS(int fps)
FPS設定関数
void setShadingMode(int ID, fk_ShadingMode mode)
シェーディングモード設定関数
void setSmoothMode(int ID, bool mode)
スムースモード設定関数
fk_Draw getDrawMode(void)
描画モード参照関数
bool snapImage(std::string fileName, fk_ImageType format=fk_ImageType::BMP, fk_SnapProcMode mode=fk_SnapProcMode::FRONT)
描画画像ファイル出力関数
virtual ~fk_ShapeViewer()
デストラクタ
形状用基底クラス
Definition Shape.h:44
半稜線構造 (Half-Edge Structure) による任意形状を生成、管理するクラス
Definition Solid.h:66
3次元ベクトルを管理するクラス
Definition Vector.h:45
Fine Kernel Toolkit 名前空間
Definition Angle.h:6
fk_PutStrMode
メッセージ出力タイプを表す列挙型
Definition Window.h:68
fk_ShadingMode
シェーディングモードを表す列挙型
Definition Model.h:33
fk_SnapProcMode
画像取り込み方法を表す列挙型
Definition Image.h:56
fk_ElementMode
描画優先モードを表す列挙型
Definition Model.h:26
fk_ImageType
画像フォーマットを表す列挙型
Definition Image.h:49
@ BMP
Windows Bitmap (BMP) 形式
fk_Draw
描画モードを表す列挙型
Definition DrawMode.h:7