FineKernelToolKit  2.9.0
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義 ページ
Public メソッド | すべてのメンバ一覧
クラス fk_Sphere

球を生成、管理するクラス [詳細]

+ fk_Sphereに対する継承グラフ
+ fk_Sphereのコラボレーション図

Public メソッド

 fk_Sphere (int div=2, double rad=1.0)
 コンストラクタ [詳細]
 
virtual ~fk_Sphere ()
 デストラクタ [詳細]
 
void setDivide (int div)
 分割数設定関数 [詳細]
 
void setRadius (double rad)
 半径設定関数 [詳細]
 
void setScale (double scale)
 拡大縮小関数 [詳細]
 
- Public メソッド inherited from fk_IndexFaceSet
 fk_IndexFaceSet (void)
 コンストラクタ [詳細]
 
virtual ~fk_IndexFaceSet ()
 デストラクタ [詳細]
 
void cloneShape (fk_IndexFaceSet *ifs)
 形状コピー関数 [詳細]
 
bool readSMFFile (std::string fileName)
 SMFファイル入力関数 [詳細]
 
bool readVRMLFile (std::string fileName, bool materialFlg=true, bool solidFlg=true)
 VRML ファイル入力関数 [詳細]
 
bool readSTLFile (std::string fileName, bool solidFlg=true, double tolerance=1.0e-08)
 STL ファイル入力関数 [詳細]
 
bool readHRCFile (std::string fileName)
 HRCファイル入力関数 [詳細]
 
bool readRDSFile (std::string fileName, bool solidFlg=true)
 RDSファイル入力関数 [詳細]
 
bool readDXFFile (std::string fileName, bool solidFlg=true)
 DXFファイル入力関数 [詳細]
 
bool readMQOFile (std::string fileName, std::string objName, bool solidFlg=true, bool contFlg=true, bool materialFlg=false)
 MQOファイル入力関数1. [詳細]
 
bool readMQOFile (std::string fileName, std::string objName, int materialID, bool solidFlg=true, bool contFlg=true, bool materialFlg=false)
 MQOファイル入力関数2. [詳細]
 
bool readMQOData (unsigned char *buffer, std::string objName, bool solidFlg=true, bool contFlg=true, bool materialFlg=false)
 MQOデータ入力関数1. [詳細]
 
bool readMQOData (unsigned char *buffer, std::string objName, int materialID, bool solidFlg=true, bool contFlg=true, bool materialFlg=false)
 MQOデータ入力関数2. [詳細]
 
bool readD3DXFile (std::string fileName, std::string objName, bool solidFlg=true)
 DirectX (D3DX) ファイル入力関数1. [詳細]
 
bool readD3DXFile (std::string fileName, std::string objName, int materialID, bool solidFlg=true)
 DirectX (D3DX) ファイル入力関数2. [詳細]
 
bool writeVRMLFile (std::string fileName, fk_Material *material=NULL, bool triFlg=false)
 VRML ファイル出力関数1. [詳細]
 
bool writeVRMLFile (std::string fileName, std::vector< double > *time, std::vector< fk_Vector > *pos, fk_Material *material=NULL, bool triFlg=false)
 VRML ファイル出力関数2. [詳細]
 
bool writeSTLFile (std::string fileName)
 STL ファイル出力関数 [詳細]
 
bool writeDXFFile (std::string fileName, bool triFlg=false)
 DXF ファイル出力関数 [詳細]
 
bool writeMQOFile (std::string fileName)
 MQO ファイル出力関数 [詳細]
 
int getPosSize (void)
 頂点数参照関数 [詳細]
 
int getFaceSize (void)
 面数参照関数 [詳細]
 
fk_Vector getPosVec (int vertexID)
 頂点位置ベクトル参照関数 [詳細]
 
std::vector< int > getFaceData (int faceID)
 頂点 ID 配列参照関数 [詳細]
 
int getFaceData (int faceID, int vertexNum)
 頂点 ID 参照関数 [詳細]
 
fk_IFType getFaceType (void)
 面タイプ取得関数 [詳細]
 
fk_Vector getPNorm (int faceID, int order=0)
 面法線ベクトル取得関数 [詳細]
 
fk_Vector getVNorm (int vertexID, int order=0)
 頂点法線ベクトル取得関数 [詳細]
 
int getElemMaterialID (int faceID)
 マテリアルID取得関数 [詳細]
 
bool moveVPosition (int vertexID, const fk_Vector &pos, int order=0)
 頂点移動関数1 [詳細]
 
bool moveVPosition (int vertexID, double x, double y, double z, int order=0)
 頂点移動関数2 [詳細]
 
bool moveVPosition (int vertexID, double *array, int order=0)
 頂点移動関数3 [詳細]
 
void makeIFSet (int faceNum, int polyNum, int *IFSet, int vertexNum, fk_Vector *posArray, int order=0)
 任意形状生成関数 [詳細]
 
bool setPNorm (int faceID, const fk_Vector &norm, int order=0)
 面法線ベクトル設定関数 [詳細]
 
bool setVNorm (int vertexID, const fk_Vector &norm, int order=0)
 頂点法線ベクトル設定関数 [詳細]
 
bool setElemMaterialID (int faceID, int materialID)
 マテリアルID設定関数 [詳細]
 
void flush (void)
 法線ベクトル強制計算関数 [詳細]
 
void makeBlock (double x, double y, double z)
 直方体生成関数 [詳細]
 
void setBlockSize (double x, double y, double z)
 直方体辺長変更関数 [詳細]
 
void setBlockSize (double length, fk_Axis axis)
 直方体個別辺長設定関数 [詳細]
 
void setBlockScale (double scale)
 直方体全体拡大縮小関数 [詳細]
 
void setBlockScale (double scale, fk_Axis axis)
 直方体軸方向拡大縮小関数 [詳細]
 
void setBlockScale (double x, double y, double z)
 直方体軸方向個別拡大縮小関数 [詳細]
 
void makeCircle (int div, double rad)
 円形状生成関数 [詳細]
 
void setCircleRadius (double rad)
 円形状半径設定関数 [詳細]
 
void setCircleDivide (int div)
 円形状分割数設定関数 [詳細]
 
void setCircleScale (double scale)
 円形状拡大縮小関数 [詳細]
 
void makeSphere (int div, double rad)
 球形状生成関数 [詳細]
 
void setSphereRadius (double rad)
 球形状半径設定関数 [詳細]
 
void setSphereDivide (int div)
 球形状分割数設定関数 [詳細]
 
void setSphereScale (double scale)
 球形状拡大縮小関数 [詳細]
 
void makePrism (int div, double top, double bottom, double height)
 正多角柱(円柱)形状生成関数 [詳細]
 
void setPrismDivide (int div)
 正多角柱(円柱)角数設定関数 [詳細]
 
void setPrismTopRadius (double top)
 正多角柱(円柱)上面半径設定関数 [詳細]
 
void setPrismBottomRadius (double bottom)
 正多角柱(円柱)角数設定関数 [詳細]
 
void setPrismHeight (double height)
 正多角柱(円柱)高さ設定関数 [詳細]
 
void makeCone (int div, double rad, double height)
 正多角錐(円錐)形状生成関数 [詳細]
 
void setConeDivide (int div)
 正多角錐(円錐)角数設定関数 [詳細]
 
void setConeRadius (double rad)
 正多角錐(円錐)底面半径設定関数 [詳細]
 
void setConeHeight (double height)
 正多角錐(円錐)高さ設定関数 [詳細]
 
void putSolid (fk_Solid *solid)
 fk_Solid 出力関数 [詳細]
 
void setAnimationTime (double time)
 アニメーション時間設定関数 [詳細]
 
void setBVHMotion (fk_BVHMotion *bvh)
 BVHデータ設定関数 [詳細]
 
- Public メソッド inherited from fk_Shape
 fk_Shape (fk_ObjectType=FK_SHAPE)
 コンストラクタ [詳細]
 
virtual ~fk_Shape ()
 デストラクタ [詳細]
 
fk_PalettegetPaletteData (void)
 パレット取得関数 [詳細]
 
void clearMaterial (void)
 パレット初期化関数 [詳細]
 
void setObjMaterialID (int ID)
 オブジェクトマテリアル ID 設定関数 [詳細]
 
void pushPalette (fk_Material &mat)
 マテリアル追加関数 [詳細]
 
void setPalette (fk_Material &mat, int ID)
 マテリアル設定関数 [詳細]
 
void setMaterialMode (fk_MaterialMode mode)
 マテリアルモード設定関数 [詳細]
 
fk_MaterialMode getMaterialMode (void)
 マテリアルモード取得関数 [詳細]
 
int getObjMaterialID (void)
 オブジェクトマテリアル ID 取得関数 [詳細]
 
int getPaletteSize (void)
 パレット中のマテリアル格納数取得関数 [詳細]
 
fk_MaterialgetMaterial (int id)
 マテリアル取得関数 [詳細]
 
std::vector< fk_Material > * getMaterialVector (void)
 マテリアル配列取得関数 [詳細]
 
- Public メソッド inherited from fk_Attribute
 fk_Attribute (void)
 コンストラクタ [詳細]
 
virtual ~fk_Attribute ()
 デストラクタ [詳細]
 
bool setAttrII (const int key, const int value)
 キーが int 型、値が int 型である属性設定関数 [詳細]
 
bool setAttrID (const int key, const double value)
 キーが int 型、値が double 型である属性設定関数 [詳細]
 
bool setAttrIS (const int key, const std::string value)
 キーが int 型、値が string 型である属性設定関数 [詳細]
 
bool setAttrSI (const std::string key, const int value)
 キーが string 型、値が int 型である属性設定関数 [詳細]
 
bool setAttrSD (const std::string key, const double value)
 キーが string 型、値が double 型である属性設定関数 [詳細]
 
bool setAttrSS (const std::string key, const std::string value)
 キーが string 型、値が string 型である属性設定関数 [詳細]
 
int getAttrII (const int key) const
 キーが int 型、値が int 型である属性参照関数 [詳細]
 
double getAttrID (const int key) const
 キーが int 型、値が double 型である属性参照関数 [詳細]
 
std::string getAttrIS (const int key) const
 キーが int 型、値が string 型である属性参照関数 [詳細]
 
int getAttrSI (const std::string key) const
 キーが string 型、値が int 型である属性参照関数 [詳細]
 
double getAttrSD (const std::string key) const
 キーが string 型、値が double 型である属性参照関数 [詳細]
 
std::string getAttrSS (const std::string key) const
 キーが string 型、値が string 型である属性参照関数 [詳細]
 
bool existAttrII (const int key) const
 キーが int 型、値が int 型である属性存在参照関数 [詳細]
 
bool existAttrID (const int key) const
 キーが int 型、値が double 型である属性存在参照関数 [詳細]
 
bool existAttrIS (const int key) const
 キーが int 型、値が string 型である属性存在参照関数 [詳細]
 
bool existAttrSI (const std::string key) const
 キーが string 型、値が int 型である属性存在参照関数 [詳細]
 
bool existAttrSD (const std::string key) const
 キーが string 型、値が double 型である属性存在参照関数 [詳細]
 
bool existAttrSS (const std::string key) const
 キーが string 型、値が string 型である属性存在参照関数 [詳細]
 
bool deleteAttrII (const int key)
 キーが int 型、値が int 型である属性消去関数 [詳細]
 
bool deleteAttrID (const int key)
 キーが int 型、値が double 型である属性消去関数 [詳細]
 
bool deleteAttrIS (const int key)
 キーが int 型、値が string 型である属性消去関数 [詳細]
 
bool deleteAttrSI (const std::string key)
 キーが string 型、値が int 型である属性消去関数 [詳細]
 
bool deleteAttrSD (const std::string key)
 キーが string 型、値が double 型である属性消去関数 [詳細]
 
bool deleteAttrSS (const std::string key)
 キーが string 型、値が string 型である属性消去関数 [詳細]
 
- Public メソッド inherited from fk_BaseObject
 fk_BaseObject (fk_ObjectType type=FK_BASEOBJECT)
 コンストラクタ [詳細]
 
fk_ObjectType getObjectType (void) const
 タイプ取得関数 [詳細]
 

説明

球を生成、管理するクラス

このクラスは、形状として球を制御する機能を提供しています。

実際には、球を近似する3角形面集合として表現されています。 3角形面の数は分割数を $ d $ とした場合 $ 8d(d-1) $ 枚となります。 分割数が高いほど球としての描画精度は高くなりますが、 面数も多くなるため描画速度が低下することになります。 特に多くのオブジェクトを同時に配置する場合は注意が必要です。

初期状態では、中心を原点とするように配置されます。 このクラスは fk_IndexFaceSet クラスの派生クラスであり、 生成後に fk_IndexFaceSet クラスの機能によって頂点を移動することが可能です。

参照
fk_IndexFaceSet, fk_Shape, fk_Model

コンストラクタとデストラクタ

fk_Sphere::fk_Sphere ( int  div = 2,
double  rad = 1.0 
)

コンストラクタ

引数として、分割数と半径を入力できます。分割数の最小値は 2 です。

引数
[in]div分割数
[in]rad半径
virtual fk_Sphere::~fk_Sphere ( )
virtual

デストラクタ

関数

void fk_Sphere::setDivide ( int  div)

分割数設定関数

分割数を設定します。分割数の最小値は 2 です。

引数
[in]div分割数
void fk_Sphere::setRadius ( double  rad)

半径設定関数

半径を設定します。

引数
[in]rad半径
void fk_Sphere::setScale ( double  scale)

拡大縮小関数

球全体を与えられた倍率で拡大縮小します。

引数
[in]scale倍率