FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 全メンバ一覧
FK::fk_Loop クラス

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

#include <FK/Loop.h>

+ FK::fk_Loop の継承関係図
+ FK::fk_Loop 連携図

公開メンバ関数

 fk_Loop (int=FK_UNDEFINED)
 コンストラクタ
 
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)
 幾何曲面形状取得関数
 
- 基底クラス FK::fk_Topology に属する継承公開メンバ関数
 fk_Topology (void)
 コンストラクタ
 
virtual ~fk_Topology ()
 デストラクタ
 
int getID (void) const
 ID取得関数
 
fk_TopologyType getType (void) const
 位相タイプ取得関数
 
- 基底クラス FK::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 型、値が std::string 型である属性設定関数
 
bool setAttrSI (const std::string key, const int value)
 キーが std::string 型、値が int 型である属性設定関数
 
bool setAttrSD (const std::string key, const double value)
 キーが std::string 型、値が double 型である属性設定関数
 
bool setAttrSS (const std::string key, const std::string value)
 キーが std::string 型、値が std::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 型、値が std::string 型である属性参照関数
 
int getAttrSI (const std::string key) const
 キーが std::string 型、値が int 型である属性参照関数
 
double getAttrSD (const std::string key) const
 キーが std::string 型、値が double 型である属性参照関数
 
std::string getAttrSS (const std::string key) const
 キーが std::string 型、値が std::string 型である属性参照関数
 
bool existAttrII (const int key) const
 キーが int 型、値が int 型である属性存在参照関数
 
bool existAttrID (const int key) const
 キーが int 型、値が double 型である属性存在参照関数
 
bool existAttrIS (const int key) const
 キーが int 型、値が std::string 型である属性存在参照関数
 
bool existAttrSI (const std::string key) const
 キーが std::string 型、値が int 型である属性存在参照関数
 
bool existAttrSD (const std::string key) const
 キーが std::string 型、値が double 型である属性存在参照関数
 
bool existAttrSS (const std::string key) const
 キーが std::string 型、値が std::string 型である属性存在参照関数
 
bool deleteAttrII (const int key)
 キーが int 型、値が int 型である属性消去関数
 
bool deleteAttrID (const int key)
 キーが int 型、値が double 型である属性消去関数
 
bool deleteAttrIS (const int key)
 キーが int 型、値が std::string 型である属性消去関数
 
bool deleteAttrSI (const std::string key)
 キーが std::string 型、値が int 型である属性消去関数
 
bool deleteAttrSD (const std::string key)
 キーが std::string 型、値が double 型である属性消去関数
 
bool deleteAttrSS (const std::string key)
 キーが std::string 型、値が std::string 型である属性消去関数
 
- 基底クラス FK::fk_BaseObject に属する継承公開メンバ関数
 fk_BaseObject (fk_Type type=fk_Type::BASEOBJECT)
 コンストラクタ
 
fk_Type getObjectType (void) const
 タイプ取得関数
 

詳解

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

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

派生クラスのうち、ID 管理については fk_Topology, 属性設定については fk_Attribute を参照して下さい。

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

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

構築子と解体子

◆ fk_Loop()

FK::fk_Loop::fk_Loop ( int  = FK_UNDEFINED)

コンストラクタ

◆ ~fk_Loop()

virtual FK::fk_Loop::~fk_Loop ( )
virtual

デストラクタ

関数詳解

◆ getOneHalf()

fk_Half * FK::fk_Loop::getOneHalf ( void  ) const

接続半稜線取得関数

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

戻り値
このループを構成する半稜線を表すインスタンス

◆ getNormal()

fk_Vector * FK::fk_Loop::getNormal ( void  )

法線ベクトル取得関数

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

戻り値
法線ベクトルのアドレス。算出できなかった場合は nullptr を返します。

◆ getVNum()

int FK::fk_Loop::getVNum ( void  ) const

頂点数取得関数

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

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

◆ setTesselateMode()

void FK::fk_Loop::setTesselateMode ( bool  mode)

テセレーション設定関数

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

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

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

◆ getTesselateMode()

bool FK::fk_Loop::getTesselateMode ( void  )

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

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

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

◆ isTesselated()

bool FK::fk_Loop::isTesselated ( void  )

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

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

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

◆ setSurfGeometry()

void FK::fk_Loop::setSurfGeometry ( fk_Surface surface)

幾何曲面形状設定関数

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

引数
[in]surface幾何曲面インスタンスのアドレス

◆ getSurfGeometry()

fk_Surface * FK::fk_Loop::getSurfGeometry ( void  )

幾何曲面形状取得関数

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

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