void IvObjectDragger::GetMessage(ostream& sout) { ItemPtr selectedItem = GetSelectedItem(); if( !selectedItem ) { return; } KinBodyItemPtr pbody = boost::dynamic_pointer_cast<KinBodyItem>(selectedItem); if( !pbody ) { return; } Transform t = pbody->GetTransform(); sout << "Selected " << selectedItem->GetName() << " (id=" << pbody->GetNetworkId() << ")" << endl << " translation = (" << std::fixed << std::setprecision(5) << std::setw(8) << std::left << t.trans.x << ", " << std::setw(8) << std::left << t.trans.y << ", " << std::setw(8) << std::left << t.trans.z << ")" << endl << " quaternion = (" << std::fixed << std::setprecision(5) << std::setw(8) << std::left << t.rot.x << ", " << std::setw(8) << std::left << t.rot.y << ", " << std::setw(8) << std::left << t.rot.z << ", " << std::setw(8) << std::left << t.rot.w << ")" << endl; }
void IvJointDragger::GetMessage(ostream& sout) { ItemPtr selectedItem = GetSelectedItem(); if( !selectedItem ) { return; } KinBodyItemPtr pbody = boost::dynamic_pointer_cast<KinBodyItem>(selectedItem); if( !pbody ) { return; } vector<dReal> vjoints; pbody->GetDOFValues(vjoints); sout << "Selected " << selectedItem->GetName() << " (id=" << pbody->GetNetworkId() << ")" << endl << std::fixed << std::setprecision(4) << " joint " << _jointname << " (" << _iJointIndex << ") " << " = " << vjoints[_iJointIndex]; if( pbody->GetBody()->GetJoints()[_iJointIndex]->GetType() != KinBody::JointSlider ) { sout << " rad (" << (vjoints[_iJointIndex]/PI*180.0f) << " deg)" << endl; } }