From 9caf19335bec237d8910536fed543f641ef5f2a2 Mon Sep 17 00:00:00 2001 From: Fumio KANEHIRO Date: Fri, 14 Sep 2012 03:13:18 +0000 Subject: [PATCH] adds -bg option to hrpsys-* git-svn-id: https://hrpsys-base.googlecode.com/svn/trunk@517 a991ac11-fb38-5095-8c12-a1ddb0715245 --- doc/utilities.h | 3 +++ lib/util/GLsceneBase.cpp | 10 +++++++--- lib/util/GLsceneBase.h | 2 ++ util/monitor/main.cpp | 8 +++++++- util/simulator/main.cpp | 7 +++++++ util/viewer/main.cpp | 10 ++++++++++ 6 files changed, 36 insertions(+), 4 deletions(-) diff --git a/doc/utilities.h b/doc/utilities.h index 5854b51025f..a3526e11d39 100644 --- a/doc/utilities.h +++ b/doc/utilities.h @@ -38,6 +38,7 @@ hrpsys-simulator-jython [project file] [jython script] [options] -endless never finish simulation
-showsensor show sensor output
-size size specify initial window size
+-bg r g b background color \section hrpsys-simulator-python hrpsys-simulator-python @@ -51,6 +52,7 @@ usebbox use bounding boxes instead of actual geometries
endless never finish simulation
showsensor show sensor output
size [size] set window size
+bg [r] [g] [b] background color Note:NameSever and openhrp-model-loader must be running @@ -75,6 +77,7 @@ hrpsys-monitor [project file] [-rh rtcName] [-sh rtcName] [-size size] -rh name of %RTC which provides OpenHRP::RobotHardwareService (default:RobotHardware0)
-sh name of %RTC which provides OpenHRP::StateHolderService (default:StateHolder0)
-size initial window size
+-bg r g b background color Note:NameSever and openhrp-model-loader must be running diff --git a/lib/util/GLsceneBase.cpp b/lib/util/GLsceneBase.cpp index a42ee085594..0e563d05022 100644 --- a/lib/util/GLsceneBase.cpp +++ b/lib/util/GLsceneBase.cpp @@ -39,6 +39,7 @@ GLsceneBase::GLsceneBase(LogManagerBase *i_log) : m_default_camera->setViewTarget(0,0,0.8); m_camera = m_default_camera; m_sem = SDL_CreateSemaphore(0); + m_bgColor[0] = m_bgColor[1] = m_bgColor[2] = 0.0; hrp::Light::nextId = 2; } @@ -174,9 +175,7 @@ void GLsceneBase::init() glewInit(); initLights(); - //glClearColor(0.4, 0.4, 0.55, 1.0); - //glClearColor(0.2, 0.2, 0.5, 1.0); - glClearColor(0.0, 0.0, 0.0, 1.0); + glClearColor(m_bgColor[0], m_bgColor[1], m_bgColor[2], 0.0); glEnable(GL_DEPTH_TEST); glEnable(GL_CULL_FACE); @@ -422,3 +421,8 @@ hrp::BodyPtr GLsceneBase::targetObject() return hrp::BodyPtr(); } } + +void GLsceneBase::setBackGroundColor(float rgb[3]) +{ + for (int i=0; i<3; i++) m_bgColor[i] = rgb[i]; +} diff --git a/lib/util/GLsceneBase.h b/lib/util/GLsceneBase.h index 2882a70a26b..89d7efc75a3 100644 --- a/lib/util/GLsceneBase.h +++ b/lib/util/GLsceneBase.h @@ -57,6 +57,7 @@ class GLsceneBase : virtual public hrp::World void addBody(hrp::BodyPtr i_body); void maxEdgeLen(double i_len); hrp::BodyPtr targetObject(); + void setBackGroundColor(float rgb[3]); protected: enum {REQ_NONE, REQ_CLEAR, REQ_CAPTURE}; @@ -77,6 +78,7 @@ class GLsceneBase : virtual public hrp::World std::string m_fname; double m_maxEdgeLen; int m_targetObject; + float m_bgColor[3]; }; #endif diff --git a/util/monitor/main.cpp b/util/monitor/main.cpp index 5d285635bab..b2940011a56 100644 --- a/util/monitor/main.cpp +++ b/util/monitor/main.cpp @@ -44,7 +44,7 @@ hrp::BodyPtr createBody(const std::string& name, const ModelItem& mitem, int main(int argc, char* argv[]) { if (argc < 2){ - std::cerr << "Usage:" << argv[0] << " project.xml [-rh RobotHardwareComponent] [-sh StateHolder component] [-size size]" << std::endl; + std::cerr << "Usage:" << argv[0] << " project.xml [-rh RobotHardwareComponent] [-sh StateHolder component] [-size size] [-bg r g b]" << std::endl; return 1; } @@ -56,6 +56,7 @@ int main(int argc, char* argv[]) char *rhname = NULL, *shname = NULL; int wsize = 0; + float bgColor[] = {0,0,0}; for (int i = 2; i log; GLscene scene(&log); + scene.setBackGroundColor(bgColor); scene.showSensors(showsensors); scene.maxEdgeLen(maxEdgeLen); scene.showCollision(prj.view().showCollision); diff --git a/util/viewer/main.cpp b/util/viewer/main.cpp index 614ade20d3a..b57db9b193d 100644 --- a/util/viewer/main.cpp +++ b/util/viewer/main.cpp @@ -18,6 +18,15 @@ using namespace OpenHRP; int main(int argc, char *argv[]) { + float bgColor[3]; + for (int i=1; i log; GLscene scene(&log); + scene.setBackGroundColor(bgColor); OnlineViewer_impl* OnlineViewerImpl = new OnlineViewer_impl(orb, poa, &scene, &log);