本文整理汇总了C++中Real::getRoll方法的典型用法代码示例。如果您正苦于以下问题:C++ Real::getRoll方法的具体用法?C++ Real::getRoll怎么用?C++ Real::getRoll使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Real
的用法示例。
在下文中一共展示了Real::getRoll方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: frameRenderingQueued
//.........这里部分代码省略.........
else if (edMode == ED_Start && road)
{
Txt *stTxt = gui->stTxt;
Vector3 p; if (ndCar) p = ndCar->getPosition();
stTxt[0]->setCaption("");
stTxt[1]->setCaption(TR("#{Road_Width} ")+fToStr(road->vStBoxDim.z,1,4));
stTxt[2]->setCaption(TR("#{Road_Height} ")+fToStr(road->vStBoxDim.y,1,4));
stTxt[3]->setCaption("road dir "+ (road->iDir == 1 ? String("+1") : String("-1")) );
// edit
if (isKey(LEFTBRACKET) ||isKey(O)){ road->AddBoxH(-q*0.2); UpdStartPos(); }
if (isKey(RIGHTBRACKET)||isKey(P)){ road->AddBoxH( q*0.2); UpdStartPos(); }
if (isKey(SEMICOLON) ||isKey(K)){ road->AddBoxW(-q*0.2); UpdStartPos(); }
if (isKey(APOSTROPHE) ||isKey(L)){ road->AddBoxW( q*0.2); UpdStartPos(); }
//if (mz > 0 && bEdit()) // snap rot by 15 deg ..
}
/// Fluids
//----------------------------------------------------------------
else if (edMode == ED_Fluids)
{
Txt *flTxt = gui->flTxt;
if (scn->sc->fluids.empty())
{
if (flTxt[0]) flTxt[0]->setCaption("None");
for (int i=1; i < gui->FL_TXT; ++i)
if (flTxt[i]) flTxt[i]->setCaption("");
}else
{ FluidBox& fb = scn->sc->fluids[iFlCur];
flTxt[0]->setCaption(TR("#{Road_Cur}/#{RplAll}")+": "+toStr(iFlCur+1)+" / "+toStr(scn->sc->fluids.size()));
flTxt[1]->setCaption(fb.name);
flTxt[2]->setCaption("Pos: "+fToStr(fb.pos.x,1,4)+" "+fToStr(fb.pos.y,1,4)+" "+fToStr(fb.pos.z,1,4));
flTxt[3]->setCaption("");
//flTxt[3]->setCaption("Rot: "+fToStr(fb.rot.x,1,4));
flTxt[3]->setCaption("Size: "+fToStr(fb.size.x,1,4)+" "+fToStr(fb.size.y,1,4)+" "+fToStr(fb.size.z,1,4));
flTxt[4]->setCaption("Tile: "+fToStr(fb.tile.x,3,5)+" "+fToStr(fb.tile.y,3,5));
// edit
if (isKey(LEFTBRACKET) ||isKey(O)){ fb.tile *= 1.f - 0.04f*q; bRecreateFluids = true; }
if (isKey(RIGHTBRACKET)||isKey(P)){ fb.tile *= 1.f + 0.04f*q; bRecreateFluids = true; }
if (isKey(SEMICOLON) ||isKey(K)){ fb.tile.y *= 1.f - 0.04f*q; bRecreateFluids = true; }
if (isKey(APOSTROPHE) ||isKey(L)){ fb.tile.y *= 1.f + 0.04f*q; bRecreateFluids = true; }
if (mz != 0 && bEdit()) // wheel prev/next
{ int fls = scn->sc->fluids.size();
if (fls > 0) { iFlCur = (iFlCur-mz+fls)%fls; UpdFluidBox(); }
}
}
}
/// Objects
//----------------------------------------------------------------
else if (edMode == ED_Objects)
{
Txt *objTxt = gui->objTxt;
int objs = scn->sc->objects.size();
bool bNew = iObjCur == -1;
const Object& o = bNew || scn->sc->objects.empty() ? objNew : scn->sc->objects[iObjCur];
const Quaternion& q = o.nd->getOrientation();
//Quaternion q(o.rot.w(),o.rot.x(),o.rot.y(),o.rot.z());
objTxt[0]->setCaption((bNew ? "#80FF80New#B0D0B0 " : "#A0D0FFCur#B0B0D0 ")
+(vObjSel.empty() ? (bNew ? "-" : toStr(iObjCur+1))+" / "+toStr(objs)
: "#00FFFFSel "+toStr(vObjSel.size())));
objTxt[1]->setCaption(bNew ? vObjNames[iObjTNew] : o.name);
objTxt[2]->setCaption(String(objEd==EO_Move ?"#60FF60":"")+"Pos: "+fToStr(o.pos[0],1,4)+" "+fToStr(o.pos[2],1,4)+" "+fToStr(-o.pos[1],1,4));
objTxt[3]->setCaption(String(objEd==EO_Rotate?"#FFA0A0":"")+"Rot: y "+fToStr(q.getYaw().valueDegrees(),0,3)+" p "+fToStr(q.getPitch().valueDegrees(),0,3)+" r "+fToStr(q.getRoll().valueDegrees(),0,3));
objTxt[4]->setCaption(String(objEd==EO_Scale ?"#60F0FF":"")+"Scale: "+fToStr(o.scale.x,2,4)+" "+fToStr(o.scale.y,2,4)+" "+fToStr(o.scale.z,2,4));
objTxt[5]->setCaption(String("Sim: ") + (objSim?"ON":"off") + " "+toStr(world->getNumCollisionObjects()));
objTxt[5]->setTextColour(objSim ? MyGUI::Colour(1.0,0.9,1.0) : MyGUI::Colour(0.77,0.77,0.8));
// edit
if (mz != 0 && bEdit()) // wheel prev/next
{
if (objs > 0) { iObjCur = (iObjCur-mz+objs)%objs; UpdObjPick(); }
}
}
mz = 0; // mouse wheel
// rebuild road after end of selection change
static bool bSelChngOld = false;
if (road)
{
road->fLodBias = pSet->road_dist; // after rebuild
if (bSelChngOld && !road->bSelChng)
road->RebuildRoad(true);
bSelChngOld = road->bSelChng;
road->bSelChng = false;
}
/// upd road lods
static int dti = 5, ti = dti-1; ++ti;
if (road && ti >= dti)
{ ti = 0;
road->UpdLodVis(pSet->road_dist, edMode == ED_PrvCam);
}
return true;
}