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

ソリッドモデルのループ位相を管理するクラス [詳細]

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

Public メソッド

 fk_Loop (int)
 コンストラクタ [詳細]
 
virtual ~fk_Loop ()
 デストラクタ [詳細]
 
fk_HalfgetOneHalf (void) const
 接続半稜線取得関数 [詳細]
 
fk_VectorgetNormal (void)
 法線ベクトル取得関数 [詳細]
 
int getVNum (void) const
 頂点数取得関数 [詳細]
 
void setTesselateMode (bool mode)
 テセレーション設定関数 [詳細]
 
bool getTesselateMode (void)
 テセレーション設定取得関数 [詳細]
 
bool isTesselated (void)
 テセレーション状態参照関数 [詳細]
 
void setSurfGeometry (fk_Surface *surface)
 幾何曲面形状設定関数 [詳細]
 
fk_SurfacegetSurfGeometry (void)
 幾何曲面形状取得関数 [詳細]
 
- Public メソッド inherited from fk_Topology
 fk_Topology (void)
 コンストラクタ [詳細]
 
virtual ~fk_Topology ()
 デストラクタ [詳細]
 
int getID (void) const
 ID取得関数 [詳細]
 
fk_TopologyType getType (void) const
 位相タイプ取得関数 [詳細]
 
- 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
 タイプ取得関数 [詳細]
 
- Public メソッド inherited from fk_TopologyMaterial
 fk_TopologyMaterial (void)
 コンストラクタ [詳細]
 
virtual ~fk_TopologyMaterial ()
 デストラクタ [詳細]
 
void setElemMaterialMode (fk_MaterialMode mode)
 マテリアルモード設定関数 [詳細]
 
void setElemMaterialID (int ID)
 マテリアルID設定関数 [詳細]
 
fk_MaterialMode getElemMaterialMode (void)
 マテリアルモード参照関数 [詳細]
 
int getElemMaterialID (void)
 マテリアル ID 参照関数 [詳細]
 

説明

ソリッドモデルのループ位相を管理するクラス

このクラスは、 fk_Solid によるソリッドモデルにおいて、 ループ位相に関する制御機能を提供します。 FK におけるソリッドモデルの構造については、 ユーザーズマニュアルの「形状に対する高度な操作」の章を参照して下さい。

派生クラスのうち、ID 管理については fk_Topology, 個別マテリアル設定については fk_TopologyMaterial, 属性設定については fk_Attribute を参照して下さい。

ループに対して、幾何形状として曲面データを設定することができます。 詳細は fk_Surface を参照して下さい。

参照
fk_Solid, fk_Vertex, fk_Half, fk_Edge, fk_Topology, fk_TopologyMaterial, fk_Attribute, fk_Surface

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

fk_Loop::fk_Loop ( int  )

コンストラクタ

virtual fk_Loop::~fk_Loop ( )
virtual

デストラクタ

関数

fk_Half* fk_Loop::getOneHalf ( void  ) const

接続半稜線取得関数

このループを構成する半稜線のうちの1つを取得します。 条件を満たす全ての半稜線を得たい場合は、 fk_ReferenceL2::getAllHOnL() 関数を用いて下さい。

戻り値
このループを構成する半稜線を表す fk_Half 型インスタンスのアドレス。
fk_Vector* fk_Loop::getNormal ( void  )

法線ベクトル取得関数

適切な法線ベクトルを取得します。 ループが曲面である場合は、面全体の平均法線ベクトルを返します。 返り値が実体ではなくポインタであることに注意して下さい。 特に、NULL を返すケースがありえることは重要です。

戻り値
法線ベクトルのアドレス。算出できなかった場合は NULL を返します。
int fk_Loop::getVNum ( void  ) const

頂点数取得関数

このループを構成する頂点数を返します。

戻り値
ループを構成する頂点数。もしエラーが生じた場合は -1 を返します。
参照
fk_ReferenceL2::getVNumOnL()
void fk_Loop::setTesselateMode ( bool  mode)

テセレーション設定関数

「テセレーション」とは、4角以上の多角形に対し、 内部を複数の3角形に分割する処理のことです。 一般的に、非凸多角形や非平面多角形である場合、 描画処理が適切に行えないことがあります。 そのようなループに対しては、 テセレーションを施すことによって正常に描画されることが期待できます。

形状中の全てのループに対して、テセレーションの有無効を設定するには、 fk_Operation::setTesselateMode() を利用して下さい。

引数
[in]modetrue の場合、 4角以上のループに対してテセレーション処理を施すようになります。 false の場合はテセレーション処理を行いません。
参照
fk_Operation::setTesselateMode()
bool fk_Loop::getTesselateMode ( void  )

テセレーション設定取得関数

現在のテセレーション設定を取得します。 テセレーションに関する詳細は setTesselateMode() を参照して下さい。

戻り値
テセレーション設定。
参照
isTesselated(), fk_Operation::getTesselateMode()
bool fk_Loop::isTesselated ( void  )

テセレーション状態参照関数

テセレーションが有効になっていても、ループが 3 角形であった場合など、 内部ではテセレーション処理を行っていない可能性があります。 実際にテセレーション処理を行ったかどうかを知るには、 この関数を用いる必要があります。

戻り値
true であれば、ループに対しテセレーション処理が行われています。 false であれば行われていません。
参照
getTesselateMode()
void fk_Loop::setSurfGeometry ( fk_Surface surface)

幾何曲面形状設定関数

任意の自由曲面を幾何曲面としてループに設定します。 fk_Surface の条件を満たせばユーザによる自作クラスも設定することができます。 条件については fk_Surface を参照して下さい。

引数
[in]surface幾何曲面インスタンスのアドレス
fk_Surface* fk_Loop::getSurfGeometry ( void  )

幾何曲面形状取得関数

ループに設定されている自由曲面を取得します。

戻り値
自由曲面インスタンスのアドレス。 設定されていなかった場合は NULL を返します。