本文整理汇总了C++中setLeft函数的典型用法代码示例。如果您正苦于以下问题:C++ setLeft函数的具体用法?C++ setLeft怎么用?C++ setLeft使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了setLeft函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: moveStraight
// time is in milliseconds
// distance is in tenths of inches
// direction is 1 or -1 -- positive is forwards
void moveStraight(int direction, int time, int driveTarget)
{
nMotorEncoder[LeftMWheel] = 0;
int distance = 0;
float pwr = 0;
while(distance < driveTarget )
{
distance = abs(nMotorEncoder[LeftMWheel]);
// works
if( distance <= driveTarget / 2)
pwr = distance / 5 + 20; //TODO: figure out how this works
else
pwr = ( driveTarget - distance ) / 10 + 20;
// test old formula
//pwr = oldPwr(driveTarget, distance);
// test new formula
//pwr = newPwr(driveTarget, distance);
pwr *= direction;
setLeft(pwr);
setRight(pwr);
} // end while loop
setLeft(0);
setRight(0);
}
示例2: rampDrive
void rampDrive(int driveTarget)
{
int direction = 1;
if( driveTarget < 0 )
{
direction = -1;
driveTarget *= -1;
}
nMotorEncoder[LeftMWheel] = 0;
int distance = 0;
int pwr = 0;
while(distance < driveTarget )
{
//distance = abs ( nMotorEncoder[leftBack] + nMotorEncoder[rightBack] ) / 2;
distance = abs(nMotorEncoder[LeftMWheel]);
if( distance <= driveTarget / 2)
pwr = distance / 5 + 20;
else
pwr = ( driveTarget - distance ) / 10 + 20;
pwr *= direction;
setLeft(pwr);
setRight(pwr);
}
setLeft(0);
setRight(0);
}
示例3: moveStraight
// time is in milliseconds
// distance is in tenths of inches
// direction is 1 or -1 -- positive is forwards
void moveStraight(int direction, int time, int driveTarget)
{
nMotorEncoder[LeftMWheel] = 0;
int distance = 0;
float pwr = 0;
while(distance < driveTarget )
{
distance = abs(nMotorEncoder[LeftMWheel]);
//initial version
//pwr = 64 * sin(distance * PI / driveTarget);
//improved version
//SHITTY PID:
//pwr = 0.05 * (driveTarget - distance) + 0.0003 * (0.05 * (driveTarget * distance - 0.5 * (distance * distance)));
if( distance <= driveTarget / 2)
pwr = distance / 5 + 20; //TODO: figure out how this works
else
pwr = ( driveTarget - distance ) / 10 + 20;
//pwr = -1 * (1.11 * sqrt(driveTarget) - 10) * cos(distance * 2 * PI / driveTarget) + (1.11 * sqrt(distance)) + 10;
pwr *= direction;
setLeft(pwr);
setRight(pwr);
}
setLeft(0);
setRight(0);
}
示例4: switch
void PlayerInputStruct::fromGameEvent(const GameControl &control, bool state)
{
switch(control)
{
case GameControl::ACTION:
setAction(state);
break;
case GameControl::UP:
if(state)
setUp(100000);
else
setUp(0);
break;
case GameControl::DOWN:
if(state)
setDown(100000);
else
setDown(0);
break;
case GameControl::LEFT:
if(state)
setLeft(100000);
else
setLeft(0);
break;
case GameControl::RIGHT:
if(state)
setRight(100000);
else
setRight(0);
break;
case GameControl::BUTTON1:
setButton1(state);
break;
case GameControl::BUTTON2:
setButton2(state);
break;
case GameControl::BUTTON3:
setButton3(state);
break;
case GameControl::BUTTON4:
setButton4(state);
break;
case GameControl::BUTTON5:
setButton5(state);
break;
case GameControl::BUTTON6:
setButton6(state);
break;
default:
//Nothing to do; control is not handled by the automatic conversion.
break;
}
}
示例5: pickUpBall
void pickUpBall(int goals)
{
resetValues(0);
intake(1);
wait10Msec(30);
int current = 0;
while(current < goals * 250)
{
setLeft(25); setRight(25);
current = nMotorEncoder[LeftMWheel];
}
intake(0);
setLeft(0); setRight(0);
}
示例6: blueUdit
void blueUdit()
{
deploy();
intake(1);
wait10Msec(10);
moveStraight(1, 0, 475); //picks up
wait10Msec(50);
moveStraight(-1, 0, 475);//comes back
//intake(0)();
spin(1, 0, 400);
lift(BUMP);
holdArm();
waitForButton();
intake(-1);
wait10Msec(100);
resetValues(0);
liftDown(); // added
waitForButton();
//liftDown();
// end Devansh
//waitForButton();
intake(1);
moveStraight(1, 0, (HALF_TILE));
wait10Msec(50);
pickUpBall(1);
spin(1, 0, 200);
//crossBump();
lift(BUMP);
nMotorEncoder[LeftMWheel] = 0;
if(true)
{
setRight(127);
wait10Msec(10);
setLeft(127);
}
while (abs(nMotorEncoder[LeftMWheel]) < 500)
{
setRight(127); setLeft(127);
}
setRight(0); setLeft(0);
lift(BARRIER);
holdArm();
wait10Msec(30);
moveStraight(1, 0, 550);
intake(-1);
// end udit
resetValues(1000);
}
示例7: qDebug
Snake::Snake():AnimUT()
{
#ifdef debug
qDebug("Snake launched");
#endif
controls->addAnimationControl(animate, 200);
cellSize = 15;
nbCells = 20;
// controls
snakeItem = new SnakeItem(cellSize, nbCells);
controls->addLabel("Movements");
QPushButton *upBtn = controls->addButton("Up");
connect(upBtn, SIGNAL(released()), snakeItem, SLOT(setUp()));
QPushButton *downBtn = controls->addButton("Down");
connect(downBtn, SIGNAL(released()), snakeItem, SLOT(setDown()));
QPushButton *leftBtn = controls->addButton("Left");
connect(leftBtn, SIGNAL(released()), snakeItem, SLOT(setLeft()));
QPushButton *rightBtn = controls->addButton("Right");
connect(rightBtn, SIGNAL(released()), snakeItem, SLOT(setRight()));
controls->addDivider();
score = controls->addLabel("Score : 0");
connect(snakeItem, SIGNAL(updateScore(int)), this, SLOT(updateScore(int)));
// viewer
drawBorders();
viewer->addItem(snakeItem);
}
示例8: AnchorsBase
bool AnchorsBase::setAnchor(const Qt::AnchorPoint &p, QWidget *target, const Qt::AnchorPoint &point)
{
if (!target) {
return false;
}
AnchorsBase *base = AnchorsBasePrivate::getWidgetAnchorsBase(target);
if (!base) {
base = new AnchorsBase(target);
}
const AnchorInfo *info = base->d_func()->getInfoByPoint(point);
switch (p) {
case Qt::AnchorTop:
return setTop(info);
case Qt::AnchorBottom:
return setBottom(info);
case Qt::AnchorLeft:
return setLeft(info);
case Qt::AnchorRight:
return setRight(info);
case Qt::AnchorHorizontalCenter:
return setHorizontalCenter(info);
case Qt::AnchorVerticalCenter:
return setVerticalCenter(info);
default:
return false;
}
}
示例9: PixelRegion
PixelRegion PixelRegion::globalCut(Side side, int p) {
if (!lineIntersect(side, p)) {
return PixelRegion({ 0, 0 }, { 0, 0 });
}
PixelRegion cutOff(*this);
int cutSize = 0;
switch (side) {
case LEFT:
setLeft(p);
cutOff.setRight(p - cutSize);
break;
case TOP:
setTop(p);
cutOff.setBottom(p - cutSize);
break;
case RIGHT:
setRight(p);
cutOff.setLeft(p + cutSize);
break;
case BOTTOM:
setBottom(p);
cutOff.setTop(p + cutSize);
break;
}
return cutOff;
}
示例10: setLeft
void GuiSetBorder::mousePressEvent(QMouseEvent * e)
{
if (e->y() > e->x()) {
if (e->y() < height() - e->x()) {
if (left_.enabled) {
setLeft(!left_.set);
// emit signal
leftSet(left_.set);
}
} else {
if (bottom_.enabled) {
setBottom(!bottom_.set);
// emit signal
bottomSet(bottom_.set);
}
}
} else {
if (e->y() < height() - e->x()) {
if (top_.enabled) {
setTop(!top_.set);
// emit signal
topSet(top_.set);
}
} else {
if (right_.enabled) {
setRight(!right_.set);
// emit signal
rightSet(right_.set);
}
}
}
update();
// emit signal
clicked();
}
示例11: setLeft
void Rect::expand( const QPoint& point )
{
setLeft ( qMin(point.x(), left() ) );
setRight ( qMax(point.x(), right() ) );
setTop ( qMax(point.y(), top() ) );
setBottom( qMin(point.y(), bottom()) );
};
示例12: getLocalBounds
void SettingsPageComponent::resized() {
auto bounds = getLocalBounds();
int numRows = 4;
double rowProp = 0.6/numRows;
{
for (int i = 0, j = 0; i < numRows; ++i) {
if (i > 0) verticalLayout.setItemLayout(j++, 0, -1, -1);
verticalLayout.setItemLayout(j++, -rowProp, -rowProp, -rowProp);
}
Component *settingsItems[] = {
wifiCategoryItem, nullptr,
screenBrightnessSlider, nullptr,
volumeSlider, nullptr,
advanced
};
int numItems = sizeof(settingsItems) / sizeof(Component*);
auto b = bounds;
b.setLeft(60);
b.setTop(30);
b.setHeight(b.getHeight() - 30);
b.setWidth(b.getWidth() - 60);
verticalLayout.layOutComponents(settingsItems, numItems, b.getX(), b.getY(), b.getWidth(),
b.getHeight(), true, true);
}
mainPage->setBounds(bounds);
backButton->setBounds(bounds.getX(), bounds.getY(), 60, bounds.getHeight());
}
示例13: usercontrol
task usercontrol()
{
// Flags
// Servo / program initialization:
zeroEncoders();
// Main loop:
waitForStart();
while (true)
{
getJoystickSettings(joystick);
setLeft(100);
setRight(100);
}
return;
}
示例14: len_
BPlusNode::BPlusNode(IXFileHdr &hdr, PFPageHandle &page, bool load)
: len_(hdr.len)
, type_(hdr.type)
, capacity_(hdr.capacity)
, page_(page)
{
// allocPage 用于表示这个页面是否为新分配的
// 布局如下
// 一共n个key,占据 n * len_字节的大小
// 一共n个rid,占据 n * sizeof(RID) 字节的大小
// 一个字节用于记录一共有多少个key,占据sizeof(numOfKeys_)字节的大小
// 一个left字段,占据sizeof(Page)字节的大小
// 一个right字段,占据了sizeof(Page)字节的大小
Ptr addr = page.rawPtr();
num_ = page.page();
keys_ = addr;
rids_ = reinterpret_cast<RID *>(addr + len_ * capacity_);
if (load) { // 说明这个页面实际上已经初始化过了
size_ = size();
left_ = left();
right_ = right();
}
else { // 这里需要重新初始化
size_ = 0;
setSize(0);
setLeft(-1);
setRight(-1);
page.setDirty();
}
}
示例15: setLeft
void GfxCropDialog::bindEvents()
{
// Left text box
text_left_->Bind(wxEVT_TEXT_ENTER, &GfxCropDialog::onTextEnter, this);
text_left_->Bind(wxEVT_KILL_FOCUS, [&](wxFocusEvent& e) {
setLeft();
e.Skip();
});
// Top text box
text_top_->Bind(wxEVT_TEXT_ENTER, &GfxCropDialog::onTextEnter, this);
text_top_->Bind(wxEVT_KILL_FOCUS, [&](wxFocusEvent& e) {
setTop();
e.Skip();
});
// Right text box
text_right_->Bind(wxEVT_TEXT_ENTER, &GfxCropDialog::onTextEnter, this);
text_right_->Bind(wxEVT_KILL_FOCUS, [&](wxFocusEvent& e) {
setRight();
e.Skip();
});
// Bottom text box
text_bottom_->Bind(wxEVT_TEXT_ENTER, &GfxCropDialog::onTextEnter, this);
text_bottom_->Bind(wxEVT_KILL_FOCUS, [&](wxFocusEvent& e) {
setBottom();
e.Skip();
});
// Absolute/Relative radio buttons
rb_absolute_->Bind(wxEVT_RADIOBUTTON, [&](wxCommandEvent&) { updateValues(); });
rb_relative_->Bind(wxEVT_RADIOBUTTON, [&](wxCommandEvent&) { updateValues(); });
}