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

📄 spark.cpp

📁 rcssserver3d Robocup 3D比赛官方指定平台
💻 CPP
字号:
/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*-   this file is part of rcssserver3D   Fri May 9 2003   Copyright (C) 2003 Koblenz University   $Id: spark.cpp,v 1.6 2008/02/22 16:48:17 hedayat 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 "spark.h"#include <zeitgeist/zeitgeist.h>#include <oxygen/oxygen.h>#if HAVE_KEROSIN_KEROSIN_H#include <kerosin/kerosin.h>#include <kerosin/renderserver/rendercontrol.h>#include <kerosin/inputserver/inputserver.h>#include <kerosin/inputserver/inputcontrol.h>using namespace kerosin;#endifusing namespace spark;using namespace oxygen;using namespace zeitgeist;using namespace salt;using namespace std;using namespace boost;Spark::Spark(const string& relPathPrefix) :    mZeitgeist(new Zeitgeist("." PACKAGE_NAME, relPathPrefix)),    mOxygen(new Oxygen(*mZeitgeist))#if HAVE_KEROSIN_KEROSIN_H    , mKerosin(new Kerosin(*mZeitgeist))#endif{}Spark::~Spark(){    // reset shared ptr to objects in the zeitgeist hierarchy before    // the zeitgeist core is shutdown    ResetCached();}void Spark::ResetCached(){    mLogServer.reset();    mScriptServer.reset();    mSceneServer.reset();    mSimulationServer.reset();}bool Spark::UpdateCached(){    bool ok = true;    mLogServer = mZeitgeist->GetCore()->GetLogServer();    if (mLogServer.get() == 0)    {        cerr << "(Spark) ERROR: LogServer not found\n";        ok = false;    }    mScriptServer = mZeitgeist->GetCore()->GetScriptServer();    if (mScriptServer.get() == 0)    {        mLogServer->Error() << "(Spark) ERROR: ScriptServer not found\n";        ok = false;    }    mSceneServer = shared_dynamic_cast<SceneServer>        (mZeitgeist->GetCore()->Get("/sys/server/scene"));    if (mSceneServer.get() == 0)    {        mLogServer->Error() << "(Spark) ERROR: SceneServer not found\n";        ok = false;    }    mSimulationServer = shared_dynamic_cast<SimulationServer>        (mZeitgeist->GetCore()->Get("/sys/server/simulation"));    if (mSimulationServer.get() == 0)    {        mLogServer->Error() << "(Spark) ERROR: SimulationServer not found\n";        ok = false;    }    return ok;}boolSpark::Init(int argc, char** argv){    // run the spark init script    mZeitgeist->GetCore()->GetScriptServer()->RunInitScript        (         "spark.rb",         "lib/spark",         ScriptServer::IS_COMMON         );    UpdateCached();    // run the app defined init    return InitApp(argc,argv);}boolSpark::InitApp(int /*argc*/, char** /*argv*/){    return true;}Zeitgeist&Spark::GetZeitgeist(){    return (*mZeitgeist);}shared_ptr<Core>Spark::GetCore(){    return mZeitgeist->GetCore();}shared_ptr<zeitgeist::LogServer>Spark::GetLog(){    return mZeitgeist->GetCore()->GetLogServer();}shared_ptr<SceneServer>Spark::GetSceneServer(){    return mSceneServer;}shared_ptr<SimulationServer>Spark::GetSimulationServer(){    return mSimulationServer;}#if HAVE_KEROSIN_KEROSIN_Hshared_ptr<InputControl>Spark::GetInputControl(){    if (mSimulationServer.get() == 0)    {        return shared_ptr<InputControl>();    }    return shared_dynamic_cast<InputControl>        (mSimulationServer->GetControlNode("InputControl"));}shared_ptr<InputServer>Spark::GetInputServer(){    return shared_dynamic_cast<kerosin::InputServer>        (mZeitgeist->GetCore()->Get("/sys/server/input"));}shared_ptr<RenderControl>Spark::GetRenderControl(){    if (mSimulationServer.get() == 0)    {        return shared_ptr<RenderControl>();    }    return shared_dynamic_cast<RenderControl>        (mSimulationServer->GetControlNode("RenderControl"));}#endif // HAVE_KEROSIN_KEROSIN_Hshared_ptr<ScriptServer>Spark::GetScriptServer(){    return mScriptServer;}shared_ptr<Scene>Spark::GetActiveScene(){    shared_ptr<Scene> scene = mSceneServer->GetActiveScene();    if (scene.get() == 0)    {        mLogServer->Warning()            << "(Spark) Warning: no active scene registered\n";    }    return scene;}

⌨️ 快捷键说明

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