int InvPlane::HitTest(TimeValue t, INode* inode, int type, int crossing, int flags, IPoint2 *p, ViewExp *vpt, ModContext* mc)
{
GraphicsWindow *gw = vpt->getGW();
HitRegion hr;
MakeHitRegion(hr,type, crossing,4,p);
tri->mesh.selLevel = MESH_FACE;
gw->setHitRegion(&hr);
Matrix3 mat = inode->GetObjectTM(t);
gw->setTransform(mat);
gw->clearHitCode();
SubObjHitList hitList;
MeshSubHitRec *rec;
BOOL res = tri->mesh.SubObjectHitTest(gw, gw->getMaterial(), &hr, SUBHIT_FACES, hitList);
rec = hitList.First();
if (res) MessageBox(0,"res!=0","",0);
return res;
}
Как делается sub-selection в примере maxsdk MESHSEL.CPP???
Можно объяснить механизм sub-selection?
Почему не работает так как приведено выше???
{
GraphicsWindow *gw = vpt->getGW();
HitRegion hr;
MakeHitRegion(hr,type, crossing,4,p);
tri->mesh.selLevel = MESH_FACE;
gw->setHitRegion(&hr);
Matrix3 mat = inode->GetObjectTM(t);
gw->setTransform(mat);
gw->clearHitCode();
SubObjHitList hitList;
MeshSubHitRec *rec;
BOOL res = tri->mesh.SubObjectHitTest(gw, gw->getMaterial(), &hr, SUBHIT_FACES, hitList);
rec = hitList.First();
if (res) MessageBox(0,"res!=0","",0);
return res;
}
Как делается sub-selection в примере maxsdk MESHSEL.CPP???
Можно объяснить механизм sub-selection?
Почему не работает так как приведено выше???