本文整理汇总了C++中SimObj::getVelocity方法的典型用法代码示例。如果您正苦于以下问题:C++ SimObj::getVelocity方法的具体用法?C++ SimObj::getVelocity怎么用?C++ SimObj::getVelocity使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SimObj
的用法示例。
在下文中一共展示了SimObj::getVelocity方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onCollision
void MyController::onCollision(CollisionEvent &evt) {
Colli = true;
counterOfCollision ++ ;
// handle of target and tool
// handle of target and tool
SimObj *toolName = getObj("TShapeTool_7");
SimObj *target = getObj("box_7");
if(Colli && counterOfCollision == 1 )
{
toolName->getVelocity(toolVelAtHit);
target->getVelocity(targetVelAtHit);
cout << "The tool velocity is " << toolVelAtHit.x() << " , " << toolVelAtHit.z() << endl;
cout << "The target velocity is " << targetVelAtHit.x() << " , " << targetVelAtHit.z() << endl;
// myfile << toolVelAtHit.x() << " , " << toolVelAtHit.z() << " , " ;
// myfile << targetVelAtHit.x() << " , " << targetVelAtHit.z() << " , " ;
Colli = false;
}
}
示例2: onInit
void MyController::onInit(InitEvent &evt) {
// handle of target and tool
SimObj *toolName = getObj("TShapeTool_7");
SimObj *target = getObj("box_7");
toolName->setMass(10.0); // mass of all the tools should be set uniformly
target->getPosition(initTargetPos); // initial target position
target->getRotation(initTargetRotation); // initial target rotation in quaternion
toolName->getPosition(initToolPos); // initial tool position
toolName->getRotation(initToolRotation); // initial tool rotation in quaternion
isTargetAtRest = true; // target and tool both are at rest initially.
isToolAtRest = true;
insideTimer = true;
f_x = 0 ;
f_z = 0 ;
int xForceVariance = 4000;
int zForceVariance = 4000;
flag = true;
Colli = false;
counterOfCollision = 0;
counterOfAction = 0;
// Reset the forces applied
double r;
r = ((double) rand() / (RAND_MAX)) ;
f_x = r * int(xForceVariance);
f_z = r * int(zForceVariance);
forceOnTool_z = 8000 + f_z;
forceOnTool_x = 0;
forceOnTool.set(forceOnTool_x, 0 , forceOnTool_z);
toolName->addForce(forceOnTool.x(), forceOnTool.y(), forceOnTool.z());
toolName->getVelocity(appliedToolVel);
myfile.flush(); // I have uncommented the file, because I want to overwrite the file.
}
示例3: onAction
double MyController::onAction(ActionEvent &evt) {
int actionNumber = 2;
int functionalFeature = 1;
int targetType = 3;
myfile << setprecision(2) << std::fixed;
// handle of target and tool
SimObj *target = getObj("box_004");
SimObj *toolName = getObj("TShapeTool_004");
if (evt.time() < 5.0)
{
// cout << "Time" << endl;
cout << evt.time() << endl;
toolName->getPosition(currentToolPos); // get the current tool position
toolName->getRotation(finalToolRotation);
toolName->getVelocity(finalToolVel);
isToolAtRest = checkEntityMotionStatus(toolName); // checks whether the tool is moving by calculating its velocity
target->getPosition(currentTargetPos);
target->getRotation(finalTargetRotation);
target->getVelocity(finalTargetVel);
isTargetAtRest = checkEntityMotionStatus(target); // checks whether the object is moving by calculating its velocity
}
if (evt.time() > 5.0)
{
insideTimer = false;
counterOfAction ++ ;
}
if(!insideTimer && counterOfAction == 1 )
{
myfile << actionNumber << " , " << functionalFeature << " , " ;
myfile << initToolRotation.qw() << " , " << initToolRotation.qx() << " , " << initToolRotation.qy() << " , " << initToolRotation.qz() << " , " ;
myfile << initTargetRotation.qw() << " , " << initTargetRotation.qx() << " , " << initTargetRotation.qy() << " , " << initTargetRotation.qz() << " , " ;
myfile << finalTargetRotation.qw() << " , " << finalTargetRotation.qx() << " , " << finalToolRotation.qy() << " , " << finalToolRotation.qz() << " , " ;
myfile << initToolPos.x() << " , " << initToolPos.z() << " , " ;
myfile << initTargetPos.x() << " , " << initTargetPos.z() << " , " ;
myfile << forceOnTool_x << " , " << forceOnTool_z << " , " ;
myfile << appliedToolVel.x() << " , " << appliedToolVel.z() << " , " ;
myfile << toolVelAtHit.x() << " , " << toolVelAtHit.z() << " , " ;
myfile << targetVelAtHit.x() << " , " << targetVelAtHit.z() << " , " ;
myfile << currentToolPos.x() << " , " << currentToolPos.z() << " , " ;
myfile << currentTargetPos.x() << " , " << currentTargetPos.z() << " , " ;
myfile << finalToolVel.x() << " , " << finalToolVel.z() << " , " ;
myfile << finalTargetVel.x() << " , " << finalTargetVel.z() << " , " ;
myfile << isToolAtRest << " , " << isTargetAtRest << " , " ;
myfile << currentToolPos.x() - initToolPos.x() << " , " << currentToolPos.z() - initToolPos.z() << " , " ;
myfile << currentTargetPos.x() - initTargetPos.x() << " , " << currentTargetPos.z() - initTargetPos.z();
myfile << "\n";
cout << "The simulation for " << actionNumber << " , " << functionalFeature << " has been recorded" << endl;
// exit(0);
flag = false;
}
return 0.01;
}