多角形を生成、管理するクラス [詳細]
Public メソッド | |
fk_Polygon (std::vector< fk_Vector > *array=NULL, fk_ObjectType=FK_POLYGON) | |
コンストラクタ [詳細] | |
virtual | ~fk_Polygon () |
デストラクタ [詳細] | |
void | pushVertex (fk_Vector pos) |
頂点追加関数 [詳細] | |
void | setVertex (int ID, fk_Vector pos) |
頂点位置設定関数 [詳細] | |
void | setVertex (int size, fk_Vector *array) |
頂点位置設定関数 [詳細] | |
void | setVertex (std::vector< fk_Vector > *array) |
頂点位置設定関数 [詳細] | |
![]() | |
fk_Solid (void) | |
コンストラクタ [詳細] | |
virtual | ~fk_Solid () |
デストラクタ [詳細] | |
void | allClear (bool matFlg=true) |
形状初期化関数 [詳細] | |
bool | isEmpty (void) |
空形状状態参照関数 [詳細] | |
void | cloneShape (fk_Solid *solid) |
形状コピー関数 [詳細] | |
bool | compareShape (fk_Solid *solid) |
形状同値比較関数 [詳細] | |
bool | readSMFFile (std::string fileName) |
SMFファイル入力関数 [詳細] | |
bool | readSRFFile (std::string fileName) |
SRFファイル入力関数 [詳細] | |
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 | 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 | readData (std::string fileName, bool sizeMode=true) |
独自形式ファイル入力関数 [詳細] | |
bool | readData (FILE *fp, fk_DataFormatMode mode=FK_BINARY_FILE, bool sizeMode=true) |
独自形式ファイルストリーム入力関数 [詳細] | |
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 ファイル出力関数 [詳細] | |
bool | writeData (std::string fileName, fk_DataFormatMode mode=FK_BINARY_FILE) |
独自形式ファイル出力関数 [詳細] | |
bool | writeData (FILE *fp, fk_DataFormatMode mode=FK_BINARY_FILE) |
独自形式ファイルストリーム出力関数 [詳細] | |
![]() | |
fk_SolidBase (void) | |
コンストラクタ [詳細] | |
virtual | ~fk_SolidBase () |
デストラクタ [詳細] | |
void | makeIFSet (int faceNum, int polyNum, int *IFSet, int vertexNum, fk_Vector *posArray, int order=0) |
任意形状生成関数1 [詳細] | |
void | makeIFSet (std::vector< std::vector< int > > *faceArray, std::vector< fk_Vector > *posArray, int order=0) |
任意形状生成関数2 [詳細] | |
![]() | |
fk_Modify (fk_DataBase *=(fk_DataBase *) NULL) | |
コンストラクタ [詳細] | |
virtual | ~fk_Modify () |
デストラクタ [詳細] | |
fk_Loop * | removeVertexInLoop (fk_Vertex *V) |
頂点削除関数 [詳細] | |
bool | contractEdge (fk_Edge *E, bool R=true) |
稜線削除関数1 [詳細] | |
bool | contractEdge (fk_Edge *E, fk_Vector P, bool R=true) |
稜線削除関数2 [詳細] | |
bool | checkContract (fk_Edge *E) |
稜線削除可能判定関数 [詳細] | |
fk_Loop * | makePolygon (std::vector< fk_Vector > *array, bool openFlg, bool initFlg=true) |
多角形生成関数1 [詳細] | |
fk_Loop * | makePolygon (int num, fk_Vector *array, bool openFlg, bool initFlg=true) |
多角形生成関数2 [詳細] | |
fk_Loop * | pushPolygon (std::vector< fk_Vector > *array, bool openFlg=false) |
多角形追加関数1 [詳細] | |
fk_Loop * | pushPolygon (int num, fk_Vector *array, bool openFlg=false) |
多角形追加関数2 [詳細] | |
void | pushPolygonVertex (fk_Vector pos, bool openFlg) |
多角形頂点追加関数 [詳細] | |
void | makePoint (std::vector< fk_Vector > *array) |
頂点群生成関数1 [詳細] | |
void | makePoint (int num, fk_Vector *array) |
頂点群生成関数2 [詳細] | |
fk_Vertex * | pushPointVertex (fk_Vector pos) |
頂点追加関数 [詳細] | |
void | makeLines (std::vector< fk_Vector > *array) |
線分群生成関数1 [詳細] | |
void | makeLines (int num, fk_Vector *array) |
線分群生成関数2 [詳細] | |
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=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) |
頂点移動関数2 [詳細] | |
![]() | |
fk_Operation (fk_DataBase *=(fk_DataBase *) NULL) | |
コンストラクタ [詳細] | |
virtual | ~fk_Operation () |
デストラクタ [詳細] | |
fk_Vertex * | makeVertex (const 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 *) NULL, fk_Half *H_12=(fk_Half *) NULL, fk_Half *H_21=(fk_Half *) NULL, fk_Half *H_22=(fk_Half *) NULL) |
稜線生成関数 [詳細] | |
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 | setHistoryMode (bool mode) |
履歴保存モード設定関数 [詳細] | |
bool | getHistoryMode (void) |
履歴保存モード参照関数 [詳細] | |
void | setHistoryMark (void) |
履歴マーク設定関数 [詳細] | |
bool | undoHistory (void) |
UNDO 操作実行関数 [詳細] | |
bool | redoHistory (void) |
REDO 操作実行関数 [詳細] | |
void | setTesselateMode (bool mode) |
形状全体テセレーション設定関数 [詳細] | |
bool | getTesselateMode (void) |
形状全体テセレーション状態参照関数 [詳細] | |
![]() | |
fk_MassProperty (void) | |
![]() | |
fk_DataAccess (void) | |
コンストラクタ [詳細] | |
virtual | ~fk_DataAccess () |
デストラクタ [詳細] | |
bool | checkDB (void) const |
データベース設定チェック関数 [詳細] | |
bool | checkTopology (void) |
位相状況チェック関数 [詳細] | |
void | printTopology (void) |
位相状況出力関数 [詳細] | |
bool | existVertex (fk_Vertex *vertex) const |
頂点位相要素存在判定関数1 [詳細] | |
bool | existVertex (int ID) const |
頂点位相要素存在判定関数2 [詳細] | |
bool | existHalf (fk_Half *half) const |
半稜線位相要素存在判定関数1 [詳細] | |
bool | existHalf (int ID) const |
半稜線位相要素存在判定関数2 [詳細] | |
bool | existEdge (fk_Edge *edge) const |
稜線位相要素存在判定関数1 [詳細] | |
bool | existEdge (int ID) const |
稜線位相要素存在判定関数2 [詳細] | |
bool | existLoop (fk_Loop *loop) const |
ループ位相要素存在判定関数1 [詳細] | |
bool | existLoop (int ID) const |
ループ位相要素存在判定関数2 [詳細] | |
fk_Vertex * | getVData (int ID) const |
頂点位相要素参照関数 [詳細] | |
fk_Half * | getHData (int ID) const |
半稜線位相要素参照関数 [詳細] | |
fk_Edge * | getEData (int ID) const |
稜線位相要素参照関数 [詳細] | |
fk_Loop * | getLData (int ID) const |
ループ位相要素参照関数 [詳細] | |
fk_Vertex * | getNextV (fk_Vertex *vertex) const |
頂点位相要素逐次参照関数 [詳細] | |
fk_Half * | getNextH (fk_Half *half) const |
半稜線位相要素逐次参照関数 [詳細] | |
fk_Edge * | getNextE (fk_Edge *edge) const |
稜線位相要素逐次参照関数 [詳細] | |
fk_Loop * | getNextL (fk_Loop *loop) const |
ループ位相要素逐次参照関数 [詳細] | |
fk_Vertex * | getLastV (void) const |
頂点位相最終要素参照関数 [詳細] | |
fk_Half * | getLastH (void) const |
半稜線位相最終要素参照関数 [詳細] | |
fk_Edge * | getLastE (void) const |
稜線位相最終要素参照関数 [詳細] | |
fk_Loop * | getLastL (void) const |
ループ位相最終要素参照関数 [詳細] | |
int | getVNum (void) const |
頂点数参照関数 [詳細] | |
int | getHNum (void) const |
半稜線数参照関数 [詳細] | |
int | getENum (void) const |
稜線数参照関数 [詳細] | |
int | getLNum (void) const |
ループ数参照関数 [詳細] | |
![]() | |
std::vector< fk_Vertex * > | getAllNeighborVOnV (fk_Vertex *V) const |
全隣接頂点参照関数 [詳細] | |
std::vector< fk_Edge * > | getEOnVV (fk_Vertex *V1, fk_Vertex *V2) const |
頂点間稜線参照関数 [詳細] | |
fk_Loop * | getOneLOnV (fk_Vertex *V) const |
頂点接続ループ参照関数 [詳細] | |
fk_Loop * | getNeighborLOnLE (fk_Loop *L, fk_Edge *E) const |
稜線条件付き隣接ループ参照関数 [詳細] | |
std::vector< fk_Loop * > | getAllNeighborLOnL (fk_Loop *L) const |
全隣接ループ参照関数 [詳細] | |
![]() | |
fk_Vertex * | getOneNeighborVOnV (fk_Vertex *V) const |
隣接頂点参照関数 [詳細] | |
std::vector< fk_Half * > | getAllHOnV (fk_Vertex *V) const |
頂点接続全半稜線参照関数 [詳細] | |
std::vector< fk_Edge * > | getAllEOnV (fk_Vertex *V) const |
頂点接続全稜線参照関数 [詳細] | |
std::vector< fk_Loop * > | getAllLOnV (fk_Vertex *V) const |
頂点接続全ループ参照関数 [詳細] | |
int | getENumOnV (fk_Vertex *V) const |
頂点接続稜線数参照関数 [詳細] | |
std::vector< fk_Vertex * > | getAllVOnL (fk_Loop *L) const |
ループ所属全頂点参照関数 [詳細] | |
std::vector< fk_Half * > | getAllHOnL (fk_Loop *L) const |
ループ所属全半稜線参照関数 [詳細] | |
std::vector< fk_Edge * > | getAllEOnL (fk_Loop *L) const |
ループ所属全稜線参照関数 [詳細] | |
fk_Loop * | getOneNeighborLOnL (fk_Loop *L) const |
隣接ループ参照関数 [詳細] | |
fk_Loop * | getNeighborLOnLH (fk_Loop *L, fk_Half *H) const |
半稜線条件付き隣接ループ参照関数 [詳細] | |
int | getVNumOnL (fk_Loop *L) const |
ループ上頂点数参照関数 [詳細] | |
![]() | |
fk_Half * | getOneHOnV (fk_Vertex *V) const |
頂点接続半稜線参照関数 [詳細] | |
fk_Edge * | getOneEOnV (fk_Vertex *V) const |
頂点接続稜線参照関数 [詳細] | |
fk_Vertex * | getVOnH (fk_Half *H) const |
半稜線接続頂点参照関数 [詳細] | |
fk_Half * | getMateHOnH (fk_Half *H) const |
対半稜線参照関数 [詳細] | |
fk_Edge * | getParentEOnH (fk_Half *H) const |
親稜線参照関数 [詳細] | |
fk_Loop * | getParentLOnH (fk_Half *H) const |
親ループ参照関数 [詳細] | |
fk_Vertex * | getRightVOnE (fk_Edge *E) const |
右側頂点参照関数 [詳細] | |
fk_Vertex * | getLeftVOnE (fk_Edge *E) const |
左側頂点参照関数 [詳細] | |
fk_Half * | getRightHOnE (fk_Edge *E) const |
右側半稜線参照関数 [詳細] | |
fk_Half * | getLeftHOnE (fk_Edge *E) const |
左側半稜線参照関数 [詳細] | |
fk_Loop * | getRightLOnE (fk_Edge *E) const |
右側ループ参照関数 [詳細] | |
fk_Loop * | getLeftLOnE (fk_Edge *E) const |
左側ループ参照関数 [詳細] | |
fk_EdgeStatus | getEdgeStatus (fk_Edge *E) const |
稜線位相状態参照関数 [詳細] | |
fk_Vertex * | getOneVOnL (fk_Loop *L) const |
ループ所属頂点参照関数 [詳細] | |
fk_Half * | getOneHOnL (fk_Loop *L) const |
ループ所属半稜線参照関数 [詳細] | |
fk_Edge * | getOneEOnL (fk_Loop *L) const |
ループ所属稜線参照関数 [詳細] | |
![]() | |
fk_Shape (fk_ObjectType=FK_SHAPE) | |
コンストラクタ [詳細] | |
virtual | ~fk_Shape () |
デストラクタ [詳細] | |
fk_Palette * | getPaletteData (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_Material * | getMaterial (int id) |
マテリアル取得関数 [詳細] | |
std::vector< fk_Material > * | getMaterialVector (void) |
マテリアル配列取得関数 [詳細] | |
![]() | |
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 型である属性消去関数 [詳細] | |
![]() | |
fk_BaseObject (fk_ObjectType type=FK_BASEOBJECT) | |
コンストラクタ [詳細] | |
fk_ObjectType | getObjectType (void) const |
タイプ取得関数 [詳細] | |
多角形を生成、管理するクラス
このクラスは、形状として多角形を制御する機能を提供します。 このクラスによる形状は、多角形の内部も描画します。 もし辺のみを描画したい場合は fk_Closedline クラスを利用して下さい。
描画される面は、基本的には多角形の頂点順番が向かって 反時計回りになっている側になります。 両面を描画したい場合は fk_Model の setDrawMode() 関数を参照して下さい。 また、本クラスの多角形の角数は 3 以上であれば制限はありませんが、 平面でなかった場合に意図している形状と描画形状が異なる場合があります。
fk_Polygon::fk_Polygon | ( | std::vector< fk_Vector > * | array = NULL , |
fk_ObjectType | = FK_POLYGON |
||
) |
コンストラクタ
引数はシステム内部制御のために利用されるものです。 ユーザは引数を省略して定義を行って下さい。
|
virtual |
デストラクタ
void fk_Polygon::pushVertex | ( | fk_Vector | pos | ) |
頂点追加関数
頂点を追加します。
[in] | pos | 追加頂点の位置ベクトル |
void fk_Polygon::setVertex | ( | int | ID, |
fk_Vector | pos | ||
) |
頂点位置設定関数
頂点の位置を設定します。 対象となる頂点がまだ存在していなかった場合、 角数を (id+1) まで増加させます。
[in] | ID | 頂点ID |
[in] | pos | 頂点位置ベクトル |
void fk_Polygon::setVertex | ( | int | size, |
fk_Vector * | array | ||
) |
頂点位置設定関数
頂点全部を、指定した配列に入れ替えます。
[in] | size | 角数 |
[in] | array | 頂点位置ベクトル配列の先頭アドレス |
void fk_Polygon::setVertex | ( | std::vector< fk_Vector > * | array | ) |
頂点位置設定関数
頂点全部を、指定した配列に入れ替えます。
[in] | array | vectorによる頂点位置ベクトル配列のアドレス |