Open5
metaseq 雑多
2024/9/9(月) visual studio 2019 が起動した.お任せ変換.
2024/9/14(土)
MAnsiString 文字列用クラス。const char *str などから生成できる。
内部文字列としては16bitは扱わなさそう。→内部16bitは MString の方。
char* から UTF-8 ポインタが得られるらしい。
*this = str ってもうわからなくなってしまった。
->mStr には char* が格納されている。
独自にバッファ確保してなさそうだし参照だけかもしれない。
いやデストラクタ時点でポインタ残ってたら free してる。
2024-10-14: NEAREST の情報参照先。WRAP, REPEAT の情報参照先。XMLReaderクラスは使えるのか。テクスチャサンプル。
2024-10-22: プラグインの中のMQObjectだと固定法線が取れるみたい。
void MQObject::GetFaceVertexNormal(int face, int vertex, BYTE& flag, MQPoint& normal);
face
面のインデックス
vertex
面内の頂点・辺のインデックス
flag
法線フラグ
[MQOBJECT_NORMAL_HARD_EDGE] 面内の辺に対する折目の指定
[MQOBJECT_NORMAL_FIX] 面内の頂点に対する固定法線の指定
normal
法線
2024-11-09: CREATE したとき,&m_ID に生成したIDが得られる。
MQTab::MQTab() : MQWidgetBase()
{
void *ptr[5];
ptr[0] = (void*)"type";
ptr[1] = (void*)"tab";
ptr[2] = (void*)"id";
ptr[3] = &m_ID;
ptr[4] = NULL;
MQWidget_Value(NullID, MQWIDGET_CREATE, (void*)ptr);
if(m_ID != NullID){
m_IDOwner = true;
RegisterID();
}
このコンストラクタのときには m_IDOwner = true と代入している。
デストラクタでこのフラグを参照していて
true の場合は DELETE する。
コンストラクタに id を指定した場合のデストラクタでは DELETE しない。
つまりわざわざ破壊申告しない。
MQWidgetBase::~MQWidgetBase()
{
if(m_ID != NullID){
s_WidgetIDMap.erase(m_ID);
if(m_IDOwner){
void *ptr[1];
ptr[0] = NULL;
MQWidget_Value(m_ID, MQWIDGET_DELETE, (void*)ptr);
}
m_ID = NullID;
m_IDOwner = false;
}
}