⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 joint_c.cpp

📁 robocup rcssserver 运行防真机器人足球比赛所用的服务器端
💻 CPP
字号:
/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*-   this file is part of rcssserver3D   Fri May 9 2003   Copyright (C) 2002,2003 Koblenz University   Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group   $Id: joint_c.cpp,v 1.5 2004/05/02 11:44:41 rollmark Exp $   This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; version 2 of the License.   This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.*/#include "joint.h"using namespace boost;using namespace oxygen;using namespace salt;using namespace std;FUNCTION(Joint,attach){    string inPath1;    string inPath2;    if (in.GetSize() > 2)        {            return false;        }    if (        (in.GetSize() >= 1) &&        (! in.GetValue(in[0], inPath1))        )        {            return false;        }    if (        (in.GetSize() == 2) &&        (! in.GetValue(in[1], inPath2))        )        {            return false;        }    obj->Attach(inPath1,inPath2);    return true;}FUNCTION(Joint,setLowStopDeg){    int inAxis;    float inDeg;    if (        (in.GetSize() != 2) ||        (! in.GetValue(in[0], inAxis)) ||        (! in.GetValue(in[1], inDeg))        )        {            return false;        }    obj->SetLowStopDeg(static_cast<Joint::EAxisIndex>(inAxis),inDeg);    return true;}FUNCTION(Joint,getLowStopDeg){    int inAxis;    if (        (in.GetSize() != 1) ||        (! in.GetValue(in[0], inAxis))        )    {        return false;    }    return obj->GetLowStopDeg(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint,setHighStopDeg){    int inAxis;    float inDeg;    if (        (in.GetSize() != 2) ||        (! in.GetValue(in[0], inAxis)) ||        (! in.GetValue(in[1], inDeg))        )        {            return false;        }    obj->SetHighStopDeg(static_cast<Joint::EAxisIndex>(inAxis),inDeg);    return true;}FUNCTION(Joint,getHighStopDeg){    int inAxis;    if (        (in.GetSize() != 1) ||        (! in.GetValue(in[0], inAxis))        )    {        return false;    }    return obj->GetHighStopDeg(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint,setLowStopPos){    int inAxis;    float inPos;    if (        (in.GetSize() != 2) ||        (! in.GetValue(in[0], inAxis)) ||        (! in.GetValue(in[1], inPos))        )        {            return false;        }    obj->SetLowStopPos(static_cast<Joint::EAxisIndex>(inAxis),inPos);    return true;}FUNCTION(Joint,getLowStopPos){    int inAxis;    if (        (in.GetSize() != 1) ||        (! in.GetValue(in[0], inAxis))        )    {        return false;    }    return obj->GetLowStopPos(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint,setHighStopPos){    int inAxis;    float inPos;    if (        (in.GetSize() != 2) ||        (! in.GetValue(in[0], inAxis)) ||        (! in.GetValue(in[1], inPos))        )        {            return false;        }    obj->SetHighStopPos(static_cast<Joint::EAxisIndex>(inAxis),inPos);    return true;}FUNCTION(Joint,getHighStopPos){    int inAxis;    if (        (in.GetSize() != 1) ||        (! in.GetValue(in[0], inAxis))        )    {        return false;    }    return obj->GetHighStopPos(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint,setBounce){    int inAxis;    float inBounce;    if (        (in.GetSize() != 2) ||        (! in.GetValue(in[0], inAxis)) ||        (! in.GetValue(in[1], inBounce))        )        {            return false;        }    obj->SetBounce(static_cast<Joint::EAxisIndex>(inAxis),inBounce);    return true;}FUNCTION(Joint, getBounce){    int inAxis;    if (        (in.GetSize() != 1) ||        (! in.GetValue(in[0], inAxis))        )    {        return false;    }    return obj->GetBounce(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint, setCFM){    int inAxis;    float inCFM;    if (        (in.GetSize() != 2) ||        (! in.GetValue(in[0], inAxis)) ||        (! in.GetValue(in[1], inCFM))        )        {            return false;        }    return obj->GetCFM(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint, getCFM){    int inAxis;    if (        (in.GetSize() != 1) ||        (! in.GetValue(in[0], inAxis))        )        {            return 0;        }    return obj->GetCFM(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint, setStopCFM){    int inAxis;    float inStopCFM;    if (        (in.GetSize() != 2) ||        (! in.GetValue(in[0], inAxis)) ||        (! in.GetValue(in[1], inStopCFM))        )        {            return false;        }    return obj->GetStopCFM(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint, getStopCFM){    int inAxis;    if (        (in.GetSize() != 1) ||        (! in.GetValue(in[0], inAxis))        )        {            return 0;        }    return obj->GetStopCFM(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint, setStopERP){    int inAxis;    float inStopERP;    if (        (in.GetSize() != 2) ||        (! in.GetValue(in[0], inAxis)) ||        (! in.GetValue(in[1], inStopERP))        )        {            return false;        }    return obj->GetStopERP(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint, getStopERP){    int inAxis;    if (        (in.GetSize() != 1) ||        (! in.GetValue(in[0], inAxis))        )        {            return 0;        }    return obj->GetStopERP(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint, setSuspensionERP){    int inAxis;    float inSuspensionERP;    if (        (in.GetSize() != 2) ||        (! in.GetValue(in[0], inAxis)) ||        (! in.GetValue(in[1], inSuspensionERP))        )        {            return false;        }    return obj->GetSuspensionERP(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint, getSuspensionERP){    int inAxis;    if (        (in.GetSize() != 1) ||        (! in.GetValue(in[0], inAxis))        )        {            return 0;        }    return obj->GetSuspensionERP(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint, setSuspensionCFM){    int inAxis;    float inSuspensionCFM;    if (        (in.GetSize() != 2) ||        (! in.GetValue(in[0], inAxis)) ||        (! in.GetValue(in[1], inSuspensionCFM))        )        {            return false;        }    return obj->GetSuspensionCFM(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint, getSuspensionCFM){    int inAxis;    if (        (in.GetSize() != 1) ||        (! in.GetValue(in[0], inAxis))        )        {            return 0;        }    return obj->GetSuspensionCFM(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint, setLinearMotorVelocity){    int inAxis;    float inVel;    if (        (in.GetSize() != 2) ||        (! in.GetValue(in[0], inAxis)) ||        (! in.GetValue(in[1], inVel))        )        {            return false;        }    obj->SetLinearMotorVelocity(static_cast<Joint::EAxisIndex>(inAxis), inVel);    return true;}FUNCTION(Joint, getLinearMotorVelocity){    int inAxis;    if (        (in.GetSize() != 1) ||        (! in.GetValue(in[0], inAxis))        )        {            return false;        }    return obj->GetLinearMotorVelocity(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint, getAngularMotorVelocity){    int inAxis;    if (        (in.GetSize() != 1) ||        (! in.GetValue(in[0], inAxis))        )        {            return false;        }    return obj->GetAngularMotorVelocity(static_cast<Joint::EAxisIndex>(inAxis));}FUNCTION(Joint, setAngularMotorVelocity){    int inAxis;    float inDeg;    if (        (in.GetSize() != 2) ||        (! in.GetValue(in[0], inAxis)) ||        (! in.GetValue(in[1], inDeg))        )        {            return false;        }    obj->SetAngularMotorVelocity(static_cast<Joint::EAxisIndex>(inAxis), inDeg);    return true;}FUNCTION(Joint, setMaxMotorForce){    int inAxis;    float inF;    if (        (in.GetSize() != 2) ||        (! in.GetValue(in[0], inAxis)) ||        (! in.GetValue(in[1], inF))        )        {            return false;        }    obj->SetMaxMotorForce(static_cast<Joint::EAxisIndex>(inAxis), inF);    return true;}FUNCTION(Joint, getMaxMotorForce){    int inAxis;    if (        (in.GetSize() != 1) ||        (! in.GetValue(in[0], inAxis))        )        {            return false;        }    return obj->GetMaxMotorForce(static_cast<Joint::EAxisIndex>(inAxis));}void CLASS(Joint)::DefineClass(){    DEFINE_BASECLASS(oxygen/ODEObject);    DEFINE_FUNCTION(attach);    DEFINE_FUNCTION(setHighStopDeg);    DEFINE_FUNCTION(getHighStopDeg);    DEFINE_FUNCTION(setLowStopDeg);    DEFINE_FUNCTION(getLowStopDeg);    DEFINE_FUNCTION(setHighStopPos);    DEFINE_FUNCTION(getHighStopPos);    DEFINE_FUNCTION(setLowStopPos);    DEFINE_FUNCTION(getLowStopPos);    DEFINE_FUNCTION(getBounce);    DEFINE_FUNCTION(setBounce);    DEFINE_FUNCTION(getCFM);    DEFINE_FUNCTION(setCFM);    DEFINE_FUNCTION(getStopCFM);    DEFINE_FUNCTION(setStopCFM);    DEFINE_FUNCTION(getStopERP);    DEFINE_FUNCTION(setStopERP);    DEFINE_FUNCTION(getSuspensionERP);    DEFINE_FUNCTION(setSuspensionERP);    DEFINE_FUNCTION(getSuspensionCFM);    DEFINE_FUNCTION(setSuspensionCFM);    DEFINE_FUNCTION(setLinearMotorVelocity);    DEFINE_FUNCTION(getLinearMotorVelocity);    DEFINE_FUNCTION(setAngularMotorVelocity);    DEFINE_FUNCTION(getAngularMotorVelocity);    DEFINE_FUNCTION(setMaxMotorForce);    DEFINE_FUNCTION(getMaxMotorForce);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -