本文整理汇总了C++中IObjParam::PipeSelLevelChanged方法的典型用法代码示例。如果您正苦于以下问题:C++ IObjParam::PipeSelLevelChanged方法的具体用法?C++ IObjParam::PipeSelLevelChanged怎么用?C++ IObjParam::PipeSelLevelChanged使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IObjParam
的用法示例。
在下文中一共展示了IObjParam::PipeSelLevelChanged方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ActivateSubobjSel
void SolidifyPW::ActivateSubobjSel(int level, XFormModes& modes)
{
if (ip)
{
ip->PipeSelLevelChanged();
NotifyDependents(FOREVER, PART_SELECT|PART_DISPLAY|PART_SUBSEL_TYPE, REFMSG_CHANGE);
}
}
示例2: ActivateSubobjSel
void EditFaceDataMod::ActivateSubobjSel(int level, XFormModes& modes) {
// Set the meshes level
selLevel = level;
// Fill in modes with our sub-object modes
if (level!=SEL_OBJECT) {
modes = XFormModes(NULL,NULL,NULL,NULL,NULL,selectMode);
}
// Update UI
UpdateDialog ();
ip->PipeSelLevelChanged();
NotifyDependents(FOREVER, SELECT_CHANNEL|DISP_ATTRIB_CHANNEL|SUBSEL_TYPE_CHANNEL, REFMSG_CHANGE);
}
示例3: ModifyObject
//.........这里部分代码省略.........
INode *node;
pblock->GetValue(pb_bevel,t,bevel,iv);
pblock->GetValue(pb_bevelshape,t,node,iv);
PolyShape shape;
if ((bevel) && node)
{
ObjectState nos = node->EvalWorldState(t);
if (nos.obj->IsShapeObject())
{
ShapeObject *pathOb = (ShapeObject*)nos.obj;
if (!pathOb->NumberOfCurves())
{
bevel = FALSE;
}
else
{
pathOb->MakePolyShape(t, shape,PSHAPE_BUILTIN_STEPS,TRUE);
if (shape.lines[0].IsClosed())
bevel = FALSE;
;
}
}
}
DWORD selLevel = mesh.selLevel;
mesh.faceSel.ClearAll();
if (bevel)
meshInfo.MakeSolid(&mesh,segments, a,oa,matid, sg,edgeMap,tvOffset,imatid,omatid,selEdges,selInner,selOuter,fixupCorners,autoSmooth,smoothAngle,&shape.lines[0]);
else meshInfo.MakeSolid(&mesh,segments, a,oa,matid, sg,edgeMap,tvOffset,imatid,omatid,selEdges,selInner,selOuter,fixupCorners,autoSmooth,smoothAngle,NULL);
mesh.selLevel = selLevel;
mesh.InvalidateTopologyCache ();
for (int i = 0; i < mesh.numFaces; i++)
{
for (int j = 0; j < 3; j++)
{
int index = mesh.faces[j].v[j];
if ((index < 0) || (index >= mesh.numVerts))
DebugPrint(_T("Invalid face %d(%d) %d\n"),i,j,index);
}
}
int numMaps = mesh.getNumMaps();
for (int mp = -NUM_HIDDENMAPS; mp < numMaps; mp++)
{
if (!mesh.mapSupport(mp)) continue;
Point3 *uvw = mesh.mapVerts(mp);
TVFace *uvwFace = mesh.mapFaces(mp);
if ((uvw) && (uvwFace))
{
int numberTVVerts = mesh.getNumMapVerts(mp);
for (int i = 0; i < mesh.numFaces; i++)
{
for (int j = 0; j < 3; j++)
{
int index = uvwFace[i].t[j];
if ((index < 0) || (index >= numberTVVerts))
DebugPrint(_T("Invalid Map %d tvface %d(%d) %d\n"),mp,i,j,index);
}
}
}
}
os->obj->UpdateValidity(GEOM_CHAN_NUM,iv);
os->obj->UpdateValidity(TOPO_CHAN_NUM,iv);
MeshNormalSpec *pNormSpec = (MeshNormalSpec *) mesh.GetInterface (MESH_NORMAL_SPEC_INTERFACE);
if (pNormSpec && pNormSpec->GetNumFaces() > 0)
{
pNormSpec->SetParent(&mesh);
pNormSpec->BuildNormals();
pNormSpec->ComputeNormals();
}
if ((updateUI) && (ip))
{
ip->PipeSelLevelChanged();
}
}
EnableUIControls();
}