FineKernelToolKit 3.1.0

- 総合概要
- 名前空間
- クラス
- ファイル

- クラス一覧
- クラス階層
- クラスメンバ

公開メンバ関数 | 全メンバ一覧
FK_CLI::fk_Solid クラス

半稜線構造 (Half-Edge Structure) による任意形状を生成、管理するクラス [詳解]

FK_CLI::fk_Solid の継承関係図
[凡例]
FK_CLI::fk_Solid 連携図
[凡例]

## 公開メンバ関数
| fk_Solid ()
| コンストラクタ [詳解]
| ~fk_Solid ()
| デストラクタ [詳解]
| !fk_Solid ()
| ファイナライザ [詳解]
void | AllClear (bool matFlg)
| 形状初期化メソッド1 [詳解]
void | AllClear (void)
| 形状初期化メソッド2 [詳解]
bool | IsEmpty (void)
| 空形状状態参照メソッド [詳解]
void | CloneShape (fk_Solid^ solid)
| 形状コピーメソッド [詳解]
bool | CompareShape (fk_Solid^ solid)
| 形状同値比較メソッド [詳解]
ファイル入力メソッド
bool | ReadSMFFile (String^ fileName)
| SMFファイル入力メソッド [詳解]
bool | ReadSRFFile (String^ fileName)
| SRFファイル入力メソッド [詳解]
bool | ReadVRMLFile (String^ fileName, bool materialFlg, bool solidFlg)
| VRML ファイル入力メソッド1. [詳解]
bool | ReadVRMLFile (String^ fileName, bool materialFlg)
| VRML ファイル入力メソッド2. [詳解]
bool | ReadVRMLFile (String^ fileName)
| VRML ファイル入力メソッド3. [詳解]
bool | ReadSTLFile (String^ fileName, bool solidFlg, double tolerance)
| STL ファイル入力メソッド1. [詳解]
bool | ReadSTLFile (String^ fileName, bool solidFlg)
| STL ファイル入力メソッド2. [詳解]
bool | ReadSTLFile (String^ fileName)
| STL ファイル入力メソッド2. [詳解]
bool | ReadHRCFile (String^ fileName)
| HRCファイル入力メソッド [詳解]
bool | ReadRDSFile (String^ fileName, bool solidFlg)
| RDSファイル入力メソッド1. [詳解]
bool | ReadRDSFile (String^ fileName)
| RDSファイル入力メソッド2. [詳解]
bool | ReadDXFFile (String^ fileName, bool solidFlg)
| DXFファイル入力メソッド1. [詳解]
bool | ReadDXFFile (String^ fileName)
| DXFファイル入力メソッド2. [詳解]
bool | ReadMQOFile (String^ fileName, String^ objName, bool solidFlg, bool contFlg, bool materialFlg)
| MQOファイル入力メソッド1-1. [詳解]
bool | ReadMQOFile (String^ fileName, String^ objName, bool solidFlg, bool contFlg)
| MQOファイル入力メソッド1-2. [詳解]
bool | ReadMQOFile (String^ fileName, String^ objName, bool solidFlg)
| MQOファイル入力メソッド1-3. [詳解]
bool | ReadMQOFile (String^ fileName, String^ objName)
| MQOファイル入力メソッド1-4. [詳解]
bool | ReadMQOFile (String^ fileName, String^ objName, int materialID, bool solidFlg, bool contFlg, bool materialFlg)
| MQOファイル入力メソッド2-1. [詳解]
bool | ReadMQOFile (String^ fileName, String^ objName, int materialID, bool solidFlg, bool contFlg)
| MQOファイル入力メソッド2-2. [詳解]
bool | ReadMQOFile (String^ fileName, String^ objName, int materialID, bool solidFlg)
| MQOファイル入力メソッド2-3. [詳解]
bool | ReadMQOFile (String^ fileName, String^ objName, int materialID)
| MQOファイル入力メソッド2-4. [詳解]
bool | ReadD3DXFile (String^ fileName, String^ objName, bool solidFlg)
| DirectX (D3DX) ファイル入力メソッド1-1. [詳解]
bool | ReadD3DXFile (String^ fileName, String^ objName)
| DirectX (D3DX) ファイル入力メソッド1-2. [詳解]
bool | ReadD3DXFile (String^ fileName, String^ objName, int materialID, bool solidFlg)
| DirectX (D3DX) ファイル入力メソッド2-1. [詳解]
bool | ReadD3DXFile (String^ fileName, String^ objName, int materialID)
| DirectX (D3DX) ファイル入力メソッド2-2. [詳解]
bool | WriteVRMLFile (String^ fileName, fk_Material^ material, bool triFlg)
| VRML ファイル出力メソッド1-1. [詳解]
bool | WriteVRMLFile (String^ fileName, fk_Material^ material)
| VRML ファイル出力メソッド1-2. [詳解]
bool | WriteVRMLFile (String^ fileName)
| VRML ファイル出力メソッド1-3. [詳解]
bool | WriteVRMLFile (String^ fileName, IEnumerable< double >^time, IEnumerable< fk_Vector^ >^pos, fk_Material^ material, bool triFlg)
| VRML ファイル出力メソッド2-1. [詳解]
bool | WriteVRMLFile (String^ fileName, IEnumerable< double >^time, IEnumerable< fk_Vector^ >^pos, fk_Material^ material)
| VRML ファイル出力メソッド2-2. [詳解]
bool | WriteVRMLFile (String^ fileName, IEnumerable< double >^time, IEnumerable< fk_Vector^ >^pos)
| VRML ファイル出力メソッド2-3. [詳解]
bool | WriteSTLFile (String^ fileName)
| STL ファイル出力メソッド [詳解]
bool | WriteDXFFile (String^ fileName, bool triFlg)
| DXF ファイル出力メソッド1. [詳解]
bool | WriteDXFFile (String^ fileName)
| DXF ファイル出力メソッド2. [詳解]
bool | WriteMQOFile (String^ fileName)
| MQO ファイル出力メソッド [詳解]
基底クラス FK_CLI::fk_SolidBase に属する継承公開メンバ関数
void | MakeIFSet (int faceNum, int polyNum, IEnumerable< int >^IFSet, int vertexNum, IEnumerable< fk_Vector^ >^posArray, int order)
| 任意形状生成メソッド1-1 [詳解]
void | MakeIFSet (int faceNum, int polyNum, IEnumerable< int >^IFSet, int vertexNum, IEnumerable< fk_Vector^ >^posArray)
| 任意形状生成メソッド1-2 [詳解]
void | MakeIFSet (IEnumerable< IEnumerable< int >^ >^faceArray, IEnumerable< fk_Vector^ >^posArray, int order)
| 任意形状生成メソッド2-1 [詳解]
void | MakeIFSet (IEnumerable< IEnumerable< int >^ >^faceArray, IEnumerable< fk_Vector^ >^posArray)
| 任意形状生成メソッド2-2 [詳解]
基底クラス FK_CLI::fk_Modify に属する継承公開メンバ関数
fk_Loop^ | RemoveVertexInLoop (fk_Vertex^ V)
| 頂点削除メソッド [詳解]
bool | ContractEdge (fk_Edge^ E, bool R)
| 稜線削除メソッド1-1 [詳解]
bool | ContractEdge (fk_Edge^ E)
| 稜線削除メソッド1-2 [詳解]
bool | ContractEdge (fk_Edge^ E, fk_Vector^ P, bool R)
| 稜線削除メソッド2-1 [詳解]
bool | ContractEdge (fk_Edge^ E, fk_Vector^ P)
| 稜線削除メソッド2-2 [詳解]
bool | CheckContract (fk_Edge^ E)
| 稜線削除可能判定メソッド [詳解]
fk_Loop^ | MakePolygon (IEnumerable< fk_Vector^ >^array, bool openFlg, bool initFlg)
| 多角形生成メソッド1 [詳解]
fk_Loop^ | MakePolygon (IEnumerable< fk_Vector^ >^array, bool openFlg)
| 多角形生成メソッド2 [詳解]
fk_Loop^ | PushPolygon (IEnumerable< fk_Vector^ >^array, bool openFlg)
| 多角形追加メソッド1 [詳解]
fk_Loop^ | PushPolygon (IEnumerable< fk_Vector^ >^array)
| 多角形追加メソッド2 [詳解]
void | PushPolygonVertex (fk_Vector^ pos, bool openFlg)
| 多角形頂点追加メソッド [詳解]
void | MakePoint (IEnumerable< fk_Vector^ >^array)
| 頂点群生成メソッド [詳解]
fk_Vertex^ | PushPointVertex (fk_Vector^ pos)
| 頂点追加メソッド [詳解]
void | MakeLines (IEnumerable< fk_Vector^ >^array)
| 線分群生成メソッド [詳解]
fk_Edge^ | PushLines (fk_Vector^ pos1, fk_Vector^ pos2)
| 線分追加メソッド [詳解]
bool | SetLinePos (int ID, fk_Vector^ pos)
| 線分頂点移動メソッド1 [詳解]
bool | SetLinePos (int edgeID, int vertexID, fk_Vector^ pos)
| 線分頂点移動メソッド2 [詳解]
bool | ChangeLine (int edgeID, fk_Vector^ pos1, fk_Vector^ pos2)
| 線分両端点移動メソッド [詳解]
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)
| 正多角錐(円錐)高さ設定メソッド [詳解]
bool | MoveVPosition (int vertexID, fk_Vector^ pos, int order)
| 頂点移動メソッド1-1 [詳解]
bool | MoveVPosition (int vertexID, fk_Vector^ pos)
| 頂点移動メソッド1-2 [詳解]
bool | MoveVPosition (int vertexID, double x, double y, double z, int order)
| 頂点移動メソッド2-1 [詳解]
bool | MoveVPosition (int vertexID, double x, double y, double z)
| 頂点移動メソッド2-2 [詳解]
void | SubDivShape (int count)
| 細分割曲面生成メソッド [詳解]
基底クラス FK_CLI::fk_Operation に属する継承公開メンバ関数
fk_Vertex^ | MakeVertex (fk_Vector^ P)
| 頂点生成メソッド [詳解]
bool | DeleteVertex (fk_Vertex^ V)
| 頂点削除メソッド [詳解]
bool | MoveVertex (fk_Vertex^ V, fk_Vector^ P)
| 頂点移動メソッド [詳解]
fk_Edge^ | MakeEdge (fk_Vertex^ V_1, fk_Vertex^ V_2, fk_Half^ H_11, fk_Half^ H_12, fk_Half^ H_21, fk_Half^ H_22)
| 稜線生成メソッド1 [詳解]
fk_Edge^ | MakeEdge (fk_Vertex^ V_1, fk_Vertex^ V_2)
| 稜線生成メソッド2 [詳解]
bool | DeleteEdge (fk_Edge^ E)
| 稜線削除メソッド [詳解]
fk_Loop^ | MakeLoop (fk_Half^ H)
| ループ生成メソッド [詳解]
bool | DeleteLoop (fk_Loop^ L)
| ループ削除メソッド [詳解]
fk_Edge^ | SeparateLoop (fk_Half^ H1, fk_Half^ H2)
| ループ分割メソッド [詳解]
bool | UniteLoop (fk_Edge^ E)
| ループ結合メソッド [詳解]
fk_Vertex^ | SeparateEdge (fk_Edge^ E)
| 稜線分離メソッド [詳解]
bool | UniteEdge (fk_Vertex^ V)
| 稜線結合メソッド [詳解]
void | NegateBody (void)
| 形状反転メソッド [詳解]
void | SetHistoryMark (void)
| 履歴マーク設定メソッド [詳解]
bool | UndoHistory (void)
| UNDO 操作実行メソッド [詳解]
bool | RedoHistory (void)
| REDO 操作実行メソッド [詳解]
基底クラス FK_CLI::fk_DataAccess に属する継承公開メンバ関数
bool | CheckDB (void)
| データベース設定チェックメソッド [詳解]
bool | CheckTopology (void)
| 位相状況チェックメソッド [詳解]
bool | ExistVertex (fk_Vertex^ vertex)
| 頂点位相要素存在判定メソッド1 [詳解]
bool | ExistVertex (int ID)
| 頂点位相要素存在判定メソッド2 [詳解]
bool | ExistHalf (fk_Half^ half)
| 半稜線位相要素存在判定メソッド1 [詳解]
bool | ExistHalf (int ID)
| 半稜線位相要素存在判定メソッド2 [詳解]
bool | ExistEdge (fk_Edge^ edge)
| 稜線位相要素存在判定メソッド1 [詳解]
bool | ExistEdge (int ID)
| 稜線位相要素存在判定メソッド2 [詳解]
bool | ExistLoop (fk_Loop^ loop)
| ループ位相要素存在判定メソッド1 [詳解]
bool | ExistLoop (int ID)
| ループ位相要素存在判定メソッド2 [詳解]
fk_Vertex^ | GetVData (int ID)
| 頂点位相要素参照メソッド [詳解]
fk_Half^ | GetHData (int ID)
| 半稜線位相要素参照メソッド [詳解]
fk_Edge^ | GetEData (int ID)
| 稜線位相要素参照メソッド [詳解]
fk_Loop^ | GetLData (int ID)
| ループ位相要素参照メソッド [詳解]
fk_Vertex^ | GetNextV (fk_Vertex^ vertex)
| 頂点位相要素逐次参照メソッド [詳解]
fk_Half^ | GetNextH (fk_Half^ half)
| 半稜線位相要素逐次参照メソッド [詳解]
fk_Edge^ | GetNextE (fk_Edge^ edge)
| 稜線位相要素逐次参照メソッド [詳解]
fk_Loop^ | GetNextL (fk_Loop^ loop)
| ループ位相要素逐次参照メソッド [詳解]
fk_Vertex^ | GetLastV (void)
| 頂点位相最終要素参照メソッド [詳解]
fk_Half^ | GetLastH (void)
| 半稜線位相最終要素参照メソッド [詳解]
fk_Edge^ | GetLastE (void)
| 稜線位相最終要素参照メソッド [詳解]
fk_Loop^ | GetLastL (void)
| ループ位相最終要素参照メソッド [詳解]
cli::array< fk_Vertex^ >^ | GetVertexArray (void)
| 頂点コンテナ取得メソッド [詳解]
cli::array< fk_Half^ >^ | GetHalfArray (void)
| 半稜線コンテナ取得メソッド [詳解]
cli::array< fk_Edge^ >^ | GetEdgeArray (void)
| 稜線コンテナ取得メソッド [詳解]
cli::array< fk_Loop^ >^ | GetLoopArray (void)
| ループコンテナ取得メソッド [詳解]
基底クラス FK_CLI::fk_Reference に属する継承公開メンバ関数
fk_Half^ | GetOneHOnV (fk_Vertex^ V)
| 頂点接続半稜線参照メソッド [詳解]
fk_Edge^ | GetOneEOnV (fk_Vertex^ V)
| 頂点接続稜線参照メソッド [詳解]
fk_Vertex^ | GetOneNeighborVOnV (fk_Vertex^ V)
| 隣接頂点参照メソッド [詳解]
cli::array< fk_Half^ >^ | GetAllHOnV (fk_Vertex^ V)
| 頂点接続全半稜線参照メソッド [詳解]
cli::array< fk_Edge^ >^ | GetAllEOnV (fk_Vertex^ V)
| 頂点接続全稜線参照メソッド [詳解]
cli::array< fk_Loop^ >^ | GetAllLOnV (fk_Vertex^ V)
| 頂点接続全ループ参照メソッド [詳解]
int | GetENumOnV (fk_Vertex^ V)
| 頂点接続稜線数参照メソッド [詳解]
cli::array< fk_Vertex^ >^ | GetAllNeighborVOnV (fk_Vertex^ V)
| 全隣接頂点参照メソッド [詳解]
cli::array< fk_Edge^ >^ | GetEOnVV (fk_Vertex^ V1, fk_Vertex^ V2)
| 頂点間稜線参照メソッド [詳解]
fk_Loop^ | GetOneLOnV (fk_Vertex^ V)
| 頂点接続ループ参照メソッド [詳解]
fk_Vertex^ | GetVOnH (fk_Half^ H)
| 半稜線接続頂点参照メソッド [詳解]
fk_Half^ | GetMateHOnH (fk_Half^ H)
| 対半稜線参照メソッド [詳解]
fk_Edge^ | GetParentEOnH (fk_Half^ H)
| 親稜線参照メソッド [詳解]
fk_Loop^ | GetParentLOnH (fk_Half^ H)
| 親ループ参照メソッド [詳解]
fk_Vertex^ | GetRightVOnE (fk_Edge^ E)
| 右側頂点参照メソッド [詳解]
fk_Vertex^ | GetLeftVOnE (fk_Edge^ E)
| 左側頂点参照メソッド [詳解]
fk_Half^ | GetRightHOnE (fk_Edge^ E)
| 右側半稜線参照メソッド [詳解]
fk_Half^ | GetLeftHOnE (fk_Edge^ E)
| 左側半稜線参照メソッド [詳解]
fk_Loop^ | GetRightLOnE (fk_Edge^ E)
| 右側ループ参照メソッド [詳解]
fk_Loop^ | GetLeftLOnE (fk_Edge^ E)
| 左側ループ参照メソッド [詳解]
fk_EdgeStatus | GetEdgeStatus (fk_Edge^ E)
| 稜線位相状態参照メソッド [詳解]
fk_Vertex^ | GetOneVOnL (fk_Loop^ L)
| ループ所属頂点参照メソッド [詳解]
fk_Half^ | GetOneHOnL (fk_Loop^ L)
| ループ所属半稜線参照メソッド [詳解]
fk_Edge^ | GetOneEOnL (fk_Loop^ L)
| ループ所属稜線参照メソッド [詳解]
cli::array< fk_Vertex^ >^ | GetAllVOnL (fk_Loop^ L)
| ループ所属全頂点参照メソッド [詳解]
cli::array< fk_Half^ >^ | GetAllHOnL (fk_Loop^ L)
| ループ所属全半稜線参照メソッド [詳解]
cli::array< fk_Edge^ >^ | GetAllEOnL (fk_Loop^ L)
| ループ所属全稜線参照メソッド [詳解]
fk_Loop^ | GetOneNeighborLOnL (fk_Loop^ L)
| 隣接ループ参照メソッド [詳解]
fk_Loop^ | GetNeighborLOnLH (fk_Loop^ L, fk_Half^ H)
| 半稜線条件付き隣接ループ参照メソッド [詳解]
int | GetVNumOnL (fk_Loop^ L)
| ループ上頂点数参照メソッド [詳解]
fk_Loop^ | GetNeighborLOnLE (fk_Loop^ L, fk_Edge^ E)
| 稜線条件付き隣接ループ参照メソッド [詳解]
cli::array< fk_Loop^ >^ | GetAllNeighborLOnL (fk_Loop^ L)
| 全隣接ループ参照メソッド [詳解]
基底クラス FK_CLI::fk_Shape に属する継承公開メンバ関数
void | ClearMaterial (void)
| パレット初期化メソッド [詳解]
void | PushPalette (fk_Material^ mat)
| マテリアル追加メソッド [詳解]
void | SetPalette (fk_Material^ mat, int ID)
| マテリアル設定メソッド [詳解]
fk_Material^ | GetMaterial (int ID)
| マテリアル取得メソッド [詳解]
基底クラス FK_CLI::fk_Attribute に属する継承公開メンバ関数
bool | SetAttrII (int key, int value)
| キーが int 型、値が int 型である属性設定メソッド [詳解]
bool | SetAttrID (int key, double value)
| キーが int 型、値が double 型である属性設定メソッド [詳解]
bool | SetAttrIS (int key, String^ value)
| キーが int 型、値が String 型である属性設定メソッド [詳解]
bool | SetAttrSI (String^ key, int value)
| キーが String 型、値が int 型である属性設定メソッド [詳解]
bool | SetAttrSD (String^ key, double value)
| キーが String 型、値が double 型である属性設定メソッド [詳解]
bool | SetAttrSS (String^ key, String^ value)
| キーが String 型、値が String 型である属性設定メソッド [詳解]
int | GetAttrII (int key)
| キーが int 型、値が int 型である属性参照メソッド [詳解]
double | GetAttrID (int key)
| キーが int 型、値が double 型である属性参照メソッド [詳解]
String^ | GetAttrIS (int key)
| キーが int 型、値が String 型である属性参照メソッド [詳解]
int | GetAttrSI (String^ key)
| キーが String 型、値が int 型である属性参照メソッド [詳解]
double | GetAttrSD (String^ key)
| キーが String 型、値が double 型である属性参照メソッド [詳解]
String^ | GetAttrSS (String^ key)
| キーが String 型、値が String 型である属性参照メソッド [詳解]
bool | ExistAttrII (int key)
| キーが int 型、値が int 型である属性存在参照メソッド [詳解]
bool | ExistAttrID (int key)
| キーが int 型、値が double 型である属性存在参照メソッド [詳解]
bool | ExistAttrIS (int key)
| キーが int 型、値が String 型である属性存在参照メソッド [詳解]
bool | ExistAttrSI (String^ key)
| キーが String 型、値が int 型である属性存在参照メソッド [詳解]
bool | ExistAttrSD (String^ key)
| キーが String 型、値が double 型である属性存在参照メソッド [詳解]
bool | ExistAttrSS (String^ key)
| キーが String 型、値が String 型である属性存在参照メソッド [詳解]
bool | DeleteAttrII (int key)
| キーが int 型、値が int 型である属性消去メソッド [詳解]
bool | DeleteAttrID (int key)
| キーが int 型、値が double 型である属性消去メソッド [詳解]
bool | DeleteAttrIS (int key)
| キーが int 型、値が String 型である属性消去メソッド [詳解]
bool | DeleteAttrSI (String^ key)
| キーが String 型、値が int 型である属性消去メソッド [詳解]
bool | DeleteAttrSD (String^ key)
| キーが String 型、値が double 型である属性消去メソッド [詳解]
bool | DeleteAttrSS (String^ key)
| キーが String 型、値が String 型である属性消去メソッド [詳解]

## その他の継承メンバ
基底クラス FK_CLI::fk_Operation に属する継承プロパティ
bool | HistoryMode`[get, set]`
| 履歴保存モードプロパティ [詳解]
bool | TesselateMode`[get, set]`
| 形状全体テセレーションプロパティ [詳解]
基底クラス FK_CLI::fk_DataAccess に属する継承プロパティ
int | VNum`[get]`
| 頂点数プロパティ [詳解]
int | HNum`[get]`
| 半稜線数プロパティ [詳解]
int | ENum`[get]`
| 稜線数プロパティ [詳解]
int | LNum`[get]`
| ループ数プロパティ [詳解]
基底クラス FK_CLI::fk_Shape に属する継承プロパティ
fk_RealShapeType^ | RealShapeType`[get]`
| 形状データ構造プロパティ [詳解]
fk_Palette^ | Palette`[get]`
| パレットプロパティ [詳解]
fk_MaterialMode | MaterialMode`[get, set]`
| マテリアルモード設定メソッド [詳解]
int | MaterialID`[get, set]`
| オブジェクトマテリアル ID プロパティ [詳解]
int | PaletteSize`[get]`
| パレット中のマテリアル格納数プロパティ [詳解]
cli::array< fk_Material^ >^ | MaterialVector`[get]`
| マテリアル配列取得メソッド [詳解]

## 詳解

半稜線構造 (Half-Edge Structure) による任意形状を生成、管理するクラス

このクラスは、半稜線構造 (Half-Edge Structure) による任意形状を制御する機能を提供します。

fk_Solid は様々な機能を持つ形状制御用クラスです。 fk_Solid 型のインスタンスが利用を想定している機能は、 実際には多くの基底クラスにて定義されています。 fk_Solid で直接定義されているメソッドは、 ほとんどが様々な3次元形状用ファイルフォーマットに対応した入出力機能となります。 その他、以下のようなような機能はそれぞれのクラスのマニュアルを参照して下さい。

- 位相に対する基本的な参照機能は、 fk_DataAccess を参照して下さい。
- 形状の高度な参照に関する機能は、 fk_Reference を参照して下さい。
- 形状の基本操作である「オイラー操作」に関する機能は、 fk_Operation を参照して下さい。
- 形状の高度な操作については、 fk_Modify を参照して下さい。
- インデックスフェースセットデータからの生成については、 fk_SolidBase を参照して下さい。
- マテリアルの位相別設定に関する機能は、 fk_Shape を参照して下さい。
- 位相や形状に対しての独自属性設定に関する機能は、 fk_Attribute を参照して下さい。

3次元形状データファイルの入出力については、以下の形式をサポートしています。

- 入力
  - VRML 形式
  - STL 形式
  - SMF 形式
  - HRC 形式
  - RDS (Ray Dream Studio) 形式
  - DXF 形式
  - MQO (Metasequoia) 形式
  - D3DX (DirectX) 形式
  - 独自形式
- 出力
  - VRML 形式
  - STL 形式
  - DXF 形式
  - MQO (Metasequoia) 形式
  - 独自形式

任意の形状を表現するクラスとして、 fk_Solid の他に fk_IndexFaceSet があります。 fk_IndexFaceSet は、 fk_Solid と比較して高速な描画が行えるという長所があります。 しかしその一方で、 fk_IndexFaceSet は面が3角形か4角形のみ(そして混在は不可)という制限があります。 また、位相変化を伴う変形には対応していません。 より高度な形状表現や位相変化を伴う変形を利用する場合は fk_Solid を利用して下さい。

参照
  fk_IndexFaceSet, fk_Shape, fk_Model, fk_Reference, fk_DataAccess, fk_Operation, fk_Modify, fk_SolidBase, fk_Shape, fk_Attribute

## 構築子と解体子

FK_CLI::fk_Solid::fk_Solid | ( |  | ) |

コンストラクタ

FK_CLI::fk_Solid::~fk_Solid | ( |  | ) |

デストラクタ

FK_CLI::fk_Solid::!fk_Solid | ( |  | ) |

ファイナライザ

## 関数詳解

void FK_CLI::fk_Solid::AllClear | ( | bool | matFlg | ) |

形状初期化メソッド1

インスタンスに設定されている形状と独自属性を全て消去し、 データの初期化を行います。

引数

  [in] | matFlg | true の場合、インスタンス中に設定されていたマテリアルに関する情報も 合わせて消去します。false の場合、マテリアル情報は存続させます。

void FK_CLI::fk_Solid::AllClear | ( | void |  | ) |

形状初期化メソッド2

インスタンスに設定されている形状と独自属性を全て消去し、 データの初期化を行います。 本メソッドは AllClear(bool) において、引数に true を入力した場合と同義となります。

bool FK_CLI::fk_Solid::IsEmpty | ( | void |  | ) |

空形状状態参照メソッド

形状情報が空かどうかを参照します。

戻り値
  形状情報が空の場合 true を、そうでない場合は false を返します。

void FK_CLI::fk_Solid::CloneShape | ( | fk_Solid^ | solid | ) |

形状コピーメソッド

引数として与えられたインスタンス中の形状をコピーします。 各種属性およびマテリアル情報は写しません。

引数

  [in] | solid | 複写元インスタンス

bool FK_CLI::fk_Solid::CompareShape | ( | fk_Solid^ | solid | ) |

形状同値比較メソッド

引数として与えられたインスタンス中の形状と、同じ状態かどうかを比較します。 ここでいう「同じ」とは、全ての位相要素の ID も一致している状態を指します。 幾何的には同一であるが位相要素の ID が異なるケースでは「同じ」とは判断しません。

引数

  [in] | solid | 比較インスタンス

戻り値
  同じであれば true を、異なれば false を返します。

bool FK_CLI::fk_Solid::ReadSMFFile | ( | String^ | fileName | ) |

SMFファイル入力メソッド

SMF形式のファイルからデータを入力します。

引数

  [in] | fileName | ファイル名

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadSRFFile | ( | String^ | fileName | ) |

SRFファイル入力メソッド

SRF形式のファイルからデータを入力します。

引数

  [in] | fileName | ファイル名

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadVRMLFile | ( | String^ | fileName,
|  | bool | materialFlg,
|  | bool | solidFlg
| ) |  |

VRML ファイル入力メソッド1.

VRML形式のファイルからデータを入力します。 VRMLでは、形状を表す様々なノードがありますが、 本メソッドが対応しているのは「IndexedFaceSet」ノードに記述された形状のみです。

引数

  [in] | fileName | ファイル名
  [in] | materialFlg | true の場合、VRMLファイル中で設定されているマテリアル情報を入力します。 false の場合は、マテリアル情報を無視します。
  [in] | solidFlg | true の場合、位相の隣接関係を最適化します。 ただし、結果として入力に失敗する場合があります。 false の場合は隣接関係を最適化せず、 入力データのままインデックスフェースセットを構築します。

戻り値
  成功すれば true を、失敗すれば false を返します。

覚え書き
  VRML形式は、1994年に策定された通称「VRML1.0」と、 1997年に策定された「VRML97」の2種類があり、 VRML97は「VRML2.0」とも呼ばれます。 本メソッドでは入力フォーマットとして VRML97 を想定しています。
  VRMLは文法解釈、特にセパレータの扱い方についてはあまり厳密になっておらず、 様々なデータによって異なる解釈がなされているようです。 そのため、構文解析がうまくいかずに入力失敗する場合がありえます。

bool FK_CLI::fk_Solid::ReadVRMLFile | ( | String^ | fileName,
|  | bool | materialFlg
| ) |  |

VRML ファイル入力メソッド2.

VRML形式のファイルからデータを入力します。 VRMLでは、形状を表す様々なノードがありますが、 本メソッドが対応しているのは「IndexedFaceSet」ノードに記述された形状のみです。

なお、本メソッドは ReadVRMLFile(String^, bool, bool) において、 第3引数に true を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名
  [in] | materialFlg | true の場合、VRMLファイル中で設定されているマテリアル情報を入力します。 false の場合は、マテリアル情報を無視します。

戻り値
  成功すれば true を、失敗すれば false を返します。

覚え書き
  VRML形式は、1994年に策定された通称「VRML1.0」と、 1997年に策定された「VRML97」の2種類があり、 VRML97は「VRML2.0」とも呼ばれます。 本メソッドでは入力フォーマットとして VRML97 を想定しています。
  VRMLは文法解釈、特にセパレータの扱い方についてはあまり厳密になっておらず、 様々なデータによって異なる解釈がなされているようです。 そのため、構文解析がうまくいかずに入力失敗する場合がありえます。

bool FK_CLI::fk_Solid::ReadVRMLFile | ( | String^ | fileName | ) |

VRML ファイル入力メソッド3.

VRML形式のファイルからデータを入力します。 VRMLでは、形状を表す様々なノードがありますが、 本メソッドが対応しているのは「IndexedFaceSet」ノードに記述された形状のみです。

なお、本メソッドは ReadVRMLFile(String^, bool, bool) において、 第2引数に true、第3引数に true を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名

戻り値
  成功すれば true を、失敗すれば false を返します。

覚え書き
  VRML形式は、1994年に策定された通称「VRML1.0」と、 1997年に策定された「VRML97」の2種類があり、 VRML97は「VRML2.0」とも呼ばれます。 本メソッドでは入力フォーマットとして VRML97 を想定しています。
  VRMLは文法解釈、特にセパレータの扱い方についてはあまり厳密になっておらず、 様々なデータによって異なる解釈がなされているようです。 そのため、構文解析がうまくいかずに入力失敗する場合がありえます。

bool FK_CLI::fk_Solid::ReadSTLFile | ( | String^ | fileName,
|  | bool | solidFlg,
|  | double | tolerance
| ) |  |

STL ファイル入力メソッド1.

STL形式のファイルからデータを入力します。 対応しているのは面データのみです。

引数

  [in] | fileName | ファイル名
  [in] | solidFlg | true の場合、位相の隣接関係を最適化します。 ただし、結果として入力に失敗する場合があります。 false の場合は隣接関係を最適化せず、 すべての面が独立した状態として形状を構築します。
  [in] | tolerance | solidFlg で true を指定した場合、 頂点同士が同一かどうかを判断するための距離許容誤差を指定します。 solidFlg が false であった場合、この値は無視されます。

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadSTLFile | ( | String^ | fileName,
|  | bool | solidFlg
| ) |  |

STL ファイル入力メソッド2.

STL形式のファイルからデータを入力します。 対応しているのは面データのみです。

なお、本メソッドは ReadSTLFile(String^, bool, double) において、 第3引数に 1.0e-08 を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名
  [in] | solidFlg | true の場合、位相の隣接関係を最適化します。 ただし、結果として入力に失敗する場合があります。 false の場合は隣接関係を最適化せず、 すべての面が独立した状態として形状を構築します。

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadSTLFile | ( | String^ | fileName | ) |

STL ファイル入力メソッド2.

STL形式のファイルからデータを入力します。 対応しているのは面データのみです。

なお、本メソッドは ReadSTLFile(String^, bool, double) において、 第2引数に true を、第3引数に 1.0e-08 を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadHRCFile | ( | String^ | fileName | ) |

HRCファイル入力メソッド

HRC形式のファイルからデータを入力します。

引数

  [in] | fileName | ファイル名

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadRDSFile | ( | String^ | fileName,
|  | bool | solidFlg
| ) |  |

RDSファイル入力メソッド1.

RDS (Ray Dream Studio) 形式のファイルからデータを入力します。

引数

  [in] | fileName | ファイル名
  [in] | solidFlg | true の場合、位相の隣接関係を最適化します。 ただし、結果として入力に失敗する場合があります。 false の場合は隣接関係を最適化せず、 すべての面が独立した状態として形状を構築します。

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadRDSFile | ( | String^ | fileName | ) |

RDSファイル入力メソッド2.

RDS (Ray Dream Studio) 形式のファイルからデータを入力します。 本メソッドは ReadRDSFile(String^, bool) メソッドにおいて、 第2引数に true を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadDXFFile | ( | String^ | fileName,
|  | bool | solidFlg
| ) |  |

DXFファイル入力メソッド1.

DXF 形式のファイルからデータを入力します。

引数

  [in] | fileName | ファイル名
  [in] | solidFlg | true の場合、位相の隣接関係を最適化します。 ただし、結果として入力に失敗する場合があります。 false の場合は隣接関係を最適化せず、 すべての面が独立した状態として形状を構築します。

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadDXFFile | ( | String^ | fileName | ) |

DXFファイル入力メソッド2.

DXF 形式のファイルからデータを入力します。 本メソッドは ReadDXFFile(String^, bool) メソッドにおいて、 第2引数に true を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadMQOFile | ( | String^ | fileName,
|  | String^ | objName,
|  | bool | solidFlg,
|  | bool | contFlg,
|  | bool | materialFlg
| ) |  |

MQOファイル入力メソッド1-1.

MQO 形式のファイルからデータを入力します。

このメソッドは、テクスチャ用のデータの入力は行いません。 テクスチャデータも併せて表示を行いたい場合は、 fk_IFSTexture クラスを利用して下さい。

MQOデータには「オブジェクト」という概念があり、 1つの形状データが複数のオブジェクトによって構成されていることがあります。 このメソッドでは、ファイル名とともにオブジェクト名を指定する必要があります。

引数

  [in] | fileName | ファイル名
  [in] | objName | オブジェクト名
  [in] | solidFlg | true の場合、位相の隣接関係を最適化します。 ただし、結果として入力に失敗する場合があります。 false の場合は隣接関係を最適化せず、 すべての面が独立した状態として形状を構築します。
  [in] | contFlg | テクスチャ断絶の設定を指定します。これは、テクスチャ座標が不連続な箇所に対し、 形状の位相を断絶する操作を行うためのものです。 これを true にした場合は断裂操作が行われ、 テクスチャ座標が不連続な箇所が幾何的にも不連続となるように表示されます。 ほとんどの場合は、断裂操作を行った方が良好な描画結果となります。 ただし、断裂操作を行う際に新たな位相要素を生成するため、 本来のデータよりも頂点、稜線、面が若干増加する場合があります。 false にした場合は、断裂操作を行わずに通常のデータ通り読み込みます。
  [in] | materialFlg | true の場合、VRMLファイル中で設定されているマテリアル情報を入力します。 false の場合は、マテリアル情報を無視します。

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadMQOFile | ( | String^ | fileName,
|  | String^ | objName,
|  | bool | solidFlg,
|  | bool | contFlg
| ) |  |

MQOファイル入力メソッド1-2.

MQO 形式のファイルからデータを入力します。

このメソッドは、テクスチャ用のデータの入力は行いません。 テクスチャデータも併せて表示を行いたい場合は、 fk_IFSTexture クラスを利用して下さい。

MQOデータには「オブジェクト」という概念があり、 1つの形状データが複数のオブジェクトによって構成されていることがあります。 このメソッドでは、ファイル名とともにオブジェクト名を指定する必要があります。

なお、本メソッドは ReadMQOFile(String^, String^, bool, bool, bool) において、 第5引数に false を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名
  [in] | objName | オブジェクト名
  [in] | solidFlg | true の場合、位相の隣接関係を最適化します。 ただし、結果として入力に失敗する場合があります。 false の場合は隣接関係を最適化せず、 すべての面が独立した状態として形状を構築します。
  [in] | contFlg | テクスチャ断絶の設定を指定します。これは、テクスチャ座標が不連続な箇所に対し、 形状の位相を断絶する操作を行うためのものです。 これを true にした場合は断裂操作が行われ、 テクスチャ座標が不連続な箇所が幾何的にも不連続となるように表示されます。 ほとんどの場合は、断裂操作を行った方が良好な描画結果となります。 ただし、断裂操作を行う際に新たな位相要素を生成するため、 本来のデータよりも頂点、稜線、面が若干増加する場合があります。 false にした場合は、断裂操作を行わずに通常のデータ通り読み込みます。

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadMQOFile | ( | String^ | fileName,
|  | String^ | objName,
|  | bool | solidFlg
| ) |  |

MQOファイル入力メソッド1-3.

MQO 形式のファイルからデータを入力します。

このメソッドは、テクスチャ用のデータの入力は行いません。 テクスチャデータも併せて表示を行いたい場合は、 fk_IFSTexture クラスを利用して下さい。

MQOデータには「オブジェクト」という概念があり、 1つの形状データが複数のオブジェクトによって構成されていることがあります。 このメソッドでは、ファイル名とともにオブジェクト名を指定する必要があります。

なお、本メソッドは ReadMQOFile(String^, String^, bool, bool, bool) において、 第4引数に true、第5引数に false を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名
  [in] | objName | オブジェクト名
  [in] | solidFlg | true の場合、位相の隣接関係を最適化します。 ただし、結果として入力に失敗する場合があります。 false の場合は隣接関係を最適化せず、 すべての面が独立した状態として形状を構築します。

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadMQOFile | ( | String^ | fileName,
|  | String^ | objName
| ) |  |

MQOファイル入力メソッド1-4.

MQO 形式のファイルからデータを入力します。

このメソッドは、テクスチャ用のデータの入力は行いません。 テクスチャデータも併せて表示を行いたい場合は、 fk_IFSTexture クラスを利用して下さい。

MQOデータには「オブジェクト」という概念があり、 1つの形状データが複数のオブジェクトによって構成されていることがあります。 このメソッドでは、ファイル名とともにオブジェクト名を指定する必要があります。

なお、本メソッドは ReadMQOFile(String^, String^, bool, bool, bool) において、 第3引数に true、第4引数に true、第5引数に false を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名
  [in] | objName | オブジェクト名

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadMQOFile | ( | String^ | fileName,
|  | String^ | objName,
|  | int | materialID,
|  | bool | solidFlg,
|  | bool | contFlg,
|  | bool | materialFlg
| ) |  |

MQOファイル入力メソッド2-1.

MQO 形式のファイルからデータを入力します。

このメソッドは、テクスチャ用のデータの入力は行いません。 テクスチャデータも併せて表示を行いたい場合は、 fk_IFSTexture クラスを利用して下さい。

MQOデータには「オブジェクト」という概念があり、 1つの形状データが複数のオブジェクトによって構成されていることがあります。 このメソッドでは、ファイル名とともにオブジェクト名を指定する必要があります。

引数

  [in] | fileName | ファイル名
  [in] | objName | オブジェクト名
  [in] | materialID | MQOデータではマテリアルを複数設定することができ、 各ポリゴンに対してどのマテリアルを割り振るかのIDが設定されています。 この引数にマテリアルIDを指定すると、そのIDを持つポリゴンのみを読み込みます。 materialID に -1 を入力した場合は、すべてのポリゴンを読み込みます。
  [in] | solidFlg | true の場合、位相の隣接関係を最適化します。 ただし、結果として入力に失敗する場合があります。 false の場合は隣接関係を最適化せず、 すべての面が独立した状態として形状を構築します。
  [in] | contFlg | テクスチャ断絶の設定を指定します。これは、テクスチャ座標が不連続な箇所に対し、 形状の位相を断絶する操作を行うためのものです。 これを true にした場合は断裂操作が行われ、 テクスチャ座標が不連続な箇所が幾何的にも不連続となるように表示されます。 ほとんどの場合は、断裂操作を行った方が良好な描画結果となります。 ただし、断裂操作を行う際に新たな位相要素を生成するため、 本来のデータよりも頂点、稜線、面が若干増加する場合があります。 false にした場合は、断裂操作を行わずに通常のデータ通り読み込みます。
  [in] | materialFlg | true の場合、VRMLファイル中で設定されているマテリアル情報を入力します。 false の場合は、マテリアル情報を無視します。

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadMQOFile | ( | String^ | fileName,
|  | String^ | objName,
|  | int | materialID,
|  | bool | solidFlg,
|  | bool | contFlg
| ) |  |

MQOファイル入力メソッド2-2.

MQO 形式のファイルからデータを入力します。

このメソッドは、テクスチャ用のデータの入力は行いません。 テクスチャデータも併せて表示を行いたい場合は、 fk_IFSTexture クラスを利用して下さい。

MQOデータには「オブジェクト」という概念があり、 1つの形状データが複数のオブジェクトによって構成されていることがあります。 このメソッドでは、ファイル名とともにオブジェクト名を指定する必要があります。

なお、本メソッドは ReadMQOFile(String^, String^, int, bool, bool, bool) において、 第6引数に false を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名
  [in] | objName | オブジェクト名
  [in] | materialID | MQOデータではマテリアルを複数設定することができ、 各ポリゴンに対してどのマテリアルを割り振るかのIDが設定されています。 この引数にマテリアルIDを指定すると、そのIDを持つポリゴンのみを読み込みます。 materialID に -1 を入力した場合は、すべてのポリゴンを読み込みます。
  [in] | solidFlg | true の場合、位相の隣接関係を最適化します。 ただし、結果として入力に失敗する場合があります。 false の場合は隣接関係を最適化せず、 すべての面が独立した状態として形状を構築します。
  [in] | contFlg | テクスチャ断絶の設定を指定します。これは、テクスチャ座標が不連続な箇所に対し、 形状の位相を断絶する操作を行うためのものです。 これを true にした場合は断裂操作が行われ、 テクスチャ座標が不連続な箇所が幾何的にも不連続となるように表示されます。 ほとんどの場合は、断裂操作を行った方が良好な描画結果となります。 ただし、断裂操作を行う際に新たな位相要素を生成するため、 本来のデータよりも頂点、稜線、面が若干増加する場合があります。 false にした場合は、断裂操作を行わずに通常のデータ通り読み込みます。

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadMQOFile | ( | String^ | fileName,
|  | String^ | objName,
|  | int | materialID,
|  | bool | solidFlg
| ) |  |

MQOファイル入力メソッド2-3.

MQO 形式のファイルからデータを入力します。

このメソッドは、テクスチャ用のデータの入力は行いません。 テクスチャデータも併せて表示を行いたい場合は、 fk_IFSTexture クラスを利用して下さい。

MQOデータには「オブジェクト」という概念があり、 1つの形状データが複数のオブジェクトによって構成されていることがあります。 このメソッドでは、ファイル名とともにオブジェクト名を指定する必要があります。

なお、本メソッドは ReadMQOFile(String^, String^, int, bool, bool, bool) において、 第5引数に true、第6引数に false を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名
  [in] | objName | オブジェクト名
  [in] | materialID | MQOデータではマテリアルを複数設定することができ、 各ポリゴンに対してどのマテリアルを割り振るかのIDが設定されています。 この引数にマテリアルIDを指定すると、そのIDを持つポリゴンのみを読み込みます。 materialID に -1 を入力した場合は、すべてのポリゴンを読み込みます。
  [in] | solidFlg | true の場合、位相の隣接関係を最適化します。 ただし、結果として入力に失敗する場合があります。 false の場合は隣接関係を最適化せず、 すべての面が独立した状態として形状を構築します。

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadMQOFile | ( | String^ | fileName,
|  | String^ | objName,
|  | int | materialID
| ) |  |

MQOファイル入力メソッド2-4.

MQO 形式のファイルからデータを入力します。

このメソッドは、テクスチャ用のデータの入力は行いません。 テクスチャデータも併せて表示を行いたい場合は、 fk_IFSTexture クラスを利用して下さい。

MQOデータには「オブジェクト」という概念があり、 1つの形状データが複数のオブジェクトによって構成されていることがあります。 このメソッドでは、ファイル名とともにオブジェクト名を指定する必要があります。

なお、本メソッドは ReadMQOFile(String^, String^, int, bool, bool, bool) において、 第4引数に true、第5引数に true、第6引数に false を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名
  [in] | objName | オブジェクト名
  [in] | materialID | MQOデータではマテリアルを複数設定することができ、 各ポリゴンに対してどのマテリアルを割り振るかのIDが設定されています。 この引数にマテリアルIDを指定すると、そのIDを持つポリゴンのみを読み込みます。 materialID に -1 を入力した場合は、すべてのポリゴンを読み込みます。

戻り値
  成功すれば true を、失敗すれば false を返します。

bool FK_CLI::fk_Solid::ReadD3DXFile | ( | String^ | fileName,
|  | String^ | objName,
|  | bool | solidFlg
| ) |  |

DirectX (D3DX) ファイル入力メソッド1-1.

DirectX 形式 (X 形式と呼ばれることもあります) のフォーマット (以下、「D3DX形式」) であるファイルからデータを入力します。 このメソッドで入力できるのは形状データとアニメーションデータです。 テクスチャデータを入力したい場合は、 fk_Solid クラスではなく fk_IFSTexture クラスを利用して下さい。

D3DXデータには「オブジェクト」という概念があり、 1つの形状データが複数のオブジェクトによって構成されていることがあります。 このメソッドでは、ファイル名とともにオブジェクト名を指定する必要があります。

引数

  [in] | fileName | ファイル名
  [in] | objName | オブジェクト名。 D3DX 形式では、オブジェクト名を省略することが許容されています。 そのような場合は、この引数に空文字列 ( "" ) を入れてください。 この場合、ファイル中で最初に存在するオブジェクトのデータを入力します。
  [in] | solidFlg | true の場合、位相の隣接関係を最適化します。 ただし、結果として入力に失敗する場合があります。 false の場合は隣接関係を最適化せず、 すべての面が独立した状態として形状を構築します。

戻り値
  ファイルの入力に成功した場合 true を、失敗した場合 false を返します。

参照
  fk_IFSTexture::ReadD3DXFile()

bool FK_CLI::fk_Solid::ReadD3DXFile | ( | String^ | fileName,
|  | String^ | objName
| ) |  |

DirectX (D3DX) ファイル入力メソッド1-2.

DirectX 形式 (X 形式と呼ばれることもあります) のフォーマット (以下、「D3DX形式」) であるファイルからデータを入力します。 このメソッドで入力できるのは形状データとアニメーションデータです。 テクスチャデータを入力したい場合は、 fk_Solid クラスではなく fk_IFSTexture クラスを利用して下さい。

D3DXデータには「オブジェクト」という概念があり、 1つの形状データが複数のオブジェクトによって構成されていることがあります。 このメソッドでは、ファイル名とともにオブジェクト名を指定する必要があります。

本メソッドは、 ReadD3DXFile(String^, String^, bool) において、 第3引数に true を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名
  [in] | objName | オブジェクト名。 D3DX 形式では、オブジェクト名を省略することが許容されています。 そのような場合は、この引数に空文字列 ( "" ) を入れてください。 この場合、ファイル中で最初に存在するオブジェクトのデータを入力します。

戻り値
  ファイルの入力に成功した場合 true を、失敗した場合 false を返します。

参照
  fk_IFSTexture::ReadD3DXFile()

bool FK_CLI::fk_Solid::ReadD3DXFile | ( | String^ | fileName,
|  | String^ | objName,
|  | int | materialID,
|  | bool | solidFlg
| ) |  |

DirectX (D3DX) ファイル入力メソッド2-1.

DirectX 形式 (X 形式と呼ばれることもあります) のフォーマット (以下、「D3DX形式」) であるファイルからデータを入力します。 このメソッドで入力できるのは形状データとアニメーションデータです。 テクスチャデータを入力したい場合は、 fk_Solid クラスではなく fk_IFSTexture クラスを利用して下さい。

D3DXデータには「オブジェクト」という概念があり、 1つの形状データが複数のオブジェクトによって構成されていることがあります。 このメソッドでは、ファイル名とともにオブジェクト名を指定する必要があります。

引数

  [in] | fileName | ファイル名
  [in] | objName | オブジェクト名。 D3DX 形式では、オブジェクト名を省略することが許容されています。 そのような場合は、この引数に空文字列 ( "" ) を入れてください。 この場合、ファイル中で最初に存在するオブジェクトのデータを入力します。
  [in] | materialID | D3DXデータではマテリアルを複数設定することができ、 各ポリゴンに対してどのマテリアルを割り振るかのIDが設定されています。 この引数にマテリアルIDを指定すると、そのIDを持つポリゴンのみを読み込みます。 materialID に -1 を入力した場合は、すべてのポリゴンを読み込みます。
  [in] | solidFlg | true の場合、位相の隣接関係を最適化します。 ただし、結果として入力に失敗する場合があります。 false の場合は隣接関係を最適化せず、 すべての面が独立した状態として形状を構築します。

戻り値
  ファイルの入力に成功した場合 true を、失敗した場合 false を返します。

参照
  fk_IFSTexture::ReadD3DXFile()

bool FK_CLI::fk_Solid::ReadD3DXFile | ( | String^ | fileName,
|  | String^ | objName,
|  | int | materialID
| ) |  |

DirectX (D3DX) ファイル入力メソッド2-2.

DirectX 形式 (X 形式と呼ばれることもあります) のフォーマット (以下、「D3DX形式」) であるファイルからデータを入力します。 このメソッドで入力できるのは形状データとアニメーションデータです。 テクスチャデータを入力したい場合は、 fk_Solid クラスではなく fk_IFSTexture クラスを利用して下さい。

D3DXデータには「オブジェクト」という概念があり、 1つの形状データが複数のオブジェクトによって構成されていることがあります。 このメソッドでは、ファイル名とともにオブジェクト名を指定する必要があります。

本メソッドは、 ReadD3DXFile(String^, String^, int, bool) において、 第4引数に true を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名
  [in] | objName | オブジェクト名。 D3DX 形式では、オブジェクト名を省略することが許容されています。 そのような場合は、この引数に空文字列 ( "" ) を入れてください。 この場合、ファイル中で最初に存在するオブジェクトのデータを入力します。
  [in] | materialID | D3DXデータではマテリアルを複数設定することができ、 各ポリゴンに対してどのマテリアルを割り振るかのIDが設定されています。 この引数にマテリアルIDを指定すると、そのIDを持つポリゴンのみを読み込みます。 materialID に -1 を入力した場合は、すべてのポリゴンを読み込みます。

戻り値
  ファイルの入力に成功した場合 true を、失敗した場合 false を返します。

参照
  fk_IFSTexture::ReadD3DXFile()

bool FK_CLI::fk_Solid::WriteVRMLFile | ( | String^ | fileName,
|  | fk_Material^ | material,
|  | bool | triFlg
| ) |  |

VRML ファイル出力メソッド1-1.

VRML (VRML2.0) 形式で形状データを出力します。

引数

  [in] | fileName | ファイル名
  [in] | material | VRMLファイル中に「Material」ノードとしてマテリアル情報を保存します。 null を代入した場合は、VRMLファイル中に「Material」ノードを生成しません。
  [in] | triFlg | 仮想メソッドからの継承のために存在する引数で、処理には一切影響しません。

戻り値
  ファイルの出力に成功した場合 true を、失敗した場合 false を返します。

bool FK_CLI::fk_Solid::WriteVRMLFile | ( | String^ | fileName,
|  | fk_Material^ | material
| ) |  |

VRML ファイル出力メソッド1-2.

VRML (VRML2.0) 形式で形状データを出力します。

引数

  [in] | fileName | ファイル名
  [in] | material | VRMLファイル中に「Material」ノードとしてマテリアル情報を保存します。 null を代入した場合は、VRMLファイル中に「Material」ノードを生成しません。

戻り値
  ファイルの出力に成功した場合 true を、失敗した場合 false を返します。

bool FK_CLI::fk_Solid::WriteVRMLFile | ( | String^ | fileName | ) |

VRML ファイル出力メソッド1-3.

VRML (VRML2.0) 形式で形状データを出力します。

本メソッドは、 WriteVRMLFile(String^, fk_Material^) において、 第2引数に null を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名

戻り値
  ファイルの出力に成功した場合 true を、失敗した場合 false を返します。

bool FK_CLI::fk_Solid::WriteVRMLFile | ( | String^ | fileName,
|  | IEnumerable< double >^ | time,
|  | IEnumerable< fk_Vector^ >^ | pos,
|  | fk_Material^ | material,
|  | bool | triFlg
| ) |  |

VRML ファイル出力メソッド2-1.

VRML (VRML2.0) 形式で形状データを出力します。 この引数形式の場合は、 CoordinateInterpolator ノードを用いた アニメーションデータを出力することが可能です。

引数

  [in] | fileName | ファイル名
  [in] | time | CoordinateInterpolator における時間配列 (key) を入力します。
  [in] | pos | CoordinateInterpolator における位置ベクトル配列 (keyValue) を入力します。
  [in] | material | VRMLファイル中に「Material」ノードとしてマテリアル情報を保存します。 null を代入した場合は、VRMLファイル中に「Material」ノードを生成しません。
  [in] | triFlg | 仮想メソッドからの継承のために存在する引数で、処理には一切影響しません。

戻り値
  ファイルの出力に成功した場合 true を、失敗した場合 false を返します。

bool FK_CLI::fk_Solid::WriteVRMLFile | ( | String^ | fileName,
|  | IEnumerable< double >^ | time,
|  | IEnumerable< fk_Vector^ >^ | pos,
|  | fk_Material^ | material
| ) |  |

VRML ファイル出力メソッド2-2.

VRML (VRML2.0) 形式で形状データを出力します。 この引数形式の場合は、 CoordinateInterpolator ノードを用いた アニメーションデータを出力することが可能です。

引数

  [in] | fileName | ファイル名
  [in] | time | CoordinateInterpolator における時間配列 (key) を入力します。
  [in] | pos | CoordinateInterpolator における位置ベクトル配列 (keyValue) を入力します。
  [in] | material | VRMLファイル中に「Material」ノードとしてマテリアル情報を保存します。 null を代入した場合は、VRMLファイル中に「Material」ノードを生成しません。

戻り値
  ファイルの出力に成功した場合 true を、失敗した場合 false を返します。

bool FK_CLI::fk_Solid::WriteVRMLFile | ( | String^ | fileName,
|  | IEnumerable< double >^ | time,
|  | IEnumerable< fk_Vector^ >^ | pos
| ) |  |

VRML ファイル出力メソッド2-3.

VRML (VRML2.0) 形式で形状データを出力します。 この引数形式の場合は、 CoordinateInterpolator ノードを用いた アニメーションデータを出力することが可能です。

本メソッドは、 WriteVRMLFile(String^, IEnumerable<double>^, IEnumerable<fk_Vector^>^, fk_Material^) において、 第4引数に null を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名
  [in] | time | CoordinateInterpolator における時間配列 (key) を入力します。
  [in] | pos | CoordinateInterpolator における位置ベクトル配列 (keyValue) を入力します。

戻り値
  ファイルの出力に成功した場合 true を、失敗した場合 false を返します。

bool FK_CLI::fk_Solid::WriteSTLFile | ( | String^ | fileName | ) |

STL ファイル出力メソッド

STL 形式で形状データを出力します。

引数

  [in] | fileName | ファイル名

戻り値
  ファイルの出力に成功した場合 true を、失敗した場合 false を返します。

bool FK_CLI::fk_Solid::WriteDXFFile | ( | String^ | fileName,
|  | bool | triFlg
| ) |  |

DXF ファイル出力メソッド1.

DXF 形式で形状データを出力します。

引数

  [in] | fileName | ファイル名
  [in] | triFlg | 面情報を3角形として出力したい場合は、true を代入します。 false の場合、3角形面を2点が重複している4角形面として出力します。

戻り値
  ファイルの出力に成功した場合 true を、失敗した場合 false を返します。

bool FK_CLI::fk_Solid::WriteDXFFile | ( | String^ | fileName | ) |

DXF ファイル出力メソッド2.

DXF 形式で形状データを出力します。 本メソッドは、 WriteDXFFile(String^, bool) において、 第2引数に false を入力した場合と同義となります。

引数

  [in] | fileName | ファイル名

戻り値
  ファイルの出力に成功した場合 true を、失敗した場合 false を返します。

bool FK_CLI::fk_Solid::WriteMQOFile | ( | String^ | fileName | ) |

MQO ファイル出力メソッド

MQO 形式で形状データを出力します。

引数

  [in] | fileName | ファイル名

戻り値
  ファイルの出力に成功した場合 true を、失敗した場合 false を返します。