void DianVoteControl::ShowStopWatch() { // 不管三七二十八,先把窗口设置成默认的大小 // QPoint curPos = this->pos(); this->resize(initSize); QSize endSize(initSize); endSize.setHeight(initSize.height() + 100); resizeAnimation = new QPropertyAnimation(this, "size"); resizeAnimation->setDuration(1000); resizeAnimation->setStartValue(initSize); resizeAnimation->setEndValue(endSize); if(!stopWatch) { stopWatch = new StopWatch(this); } connect(this, SIGNAL(setLastTime(int)), stopWatch, SLOT(SetStartTime(int))); connect(stopWatch, SIGNAL(autoStop()), this, SLOT(VoteStop())); ui->stopWatchLayout->addWidget(stopWatch); }
TEST_F(OsgScreenSpaceQuadRenderTests, InitTest) { std::shared_ptr<OsgScreenSpaceQuadRepresentation> quad = std::make_shared<OsgScreenSpaceQuadRepresentation>("Screen Quad"); viewElement->addComponent(quad); /// Run the thread runtime->start(); EXPECT_TRUE(graphicsManager->isInitialized()); EXPECT_TRUE(viewElement->isInitialized()); quad->setSize(100, 100); boost::this_thread::sleep(boost::posix_time::milliseconds(1000)); auto dimensions = viewElement->getView()->getDimensions(); SurgSim::Math::Vector3d startPosition(0.0, 0.0, 0.0); SurgSim::Math::Vector3d endPosition(dimensions[0], dimensions[1], 0.0); SurgSim::Math::Vector2d startSize(0.0, 0.0); SurgSim::Math::Vector2d endSize(200, 200); int numSteps = 100; for (int i = 0; i < numSteps; ++i) { /// Calculate t in [0.0, 1.0] double t = static_cast<double>(i) / numSteps; RigidTransform3d currentPose = SurgSim::Testing::interpolatePose( Vector3d::Identity(), Vector3d::Identity(), startPosition, endPosition, t); quad->setLocalPose(currentPose); SurgSim::Math::Vector2d size = SurgSim::Testing::interpolate(startSize, endSize, t); quad->setSize(size.x(), size.y()); boost::this_thread::sleep(boost::posix_time::milliseconds(1000 / numSteps)); } }