Revision: 8887
http://playerstage.svn.sourceforge.net/playerstage/?rev=8887&view=rev
Author: hsujohnhsu
Date: 2010-09-10 02:39:49 +0000 (Fri, 10 Sep 2010)
Log Message:
-----------
removed renderOneFrame. added GetLastRenderTime() which gives back sim time of
last image rendering for each OgreCamera. fixed render rate of 0 for
OgreCamera.
Modified Paths:
--------------
code/gazebo/trunk/server/rendering/OgreAdaptor.cc
code/gazebo/trunk/server/rendering/OgreCamera.cc
code/gazebo/trunk/server/rendering/OgreCamera.hh
code/gazebo/trunk/server/rendering/UserCamera.cc
Modified: code/gazebo/trunk/server/rendering/OgreAdaptor.cc
===================================================================
--- code/gazebo/trunk/server/rendering/OgreAdaptor.cc 2010-09-10 01:38:31 UTC
(rev 8886)
+++ code/gazebo/trunk/server/rendering/OgreAdaptor.cc 2010-09-10 02:39:49 UTC
(rev 8887)
@@ -474,8 +474,6 @@
(*iter)->Render();
}
- this->root->renderOneFrame();
-
// Must update the user camera's last.
for (iter = this->cameras.begin(); iter != this->cameras.end(); iter++)
{
Modified: code/gazebo/trunk/server/rendering/OgreCamera.cc
===================================================================
--- code/gazebo/trunk/server/rendering/OgreCamera.cc 2010-09-10 01:38:31 UTC
(rev 8886)
+++ code/gazebo/trunk/server/rendering/OgreCamera.cc 2010-09-10 02:39:49 UTC
(rev 8887)
@@ -55,6 +55,7 @@
OgreCamera::OgreCamera(const std::string &namePrefix)
{
this->name = "DefaultCameraName";
+ this->lastRenderTime = Simulator::Instance()->GetSimTime();
this->animState = NULL;
this->textureWidth = this->textureHeight = 0;
@@ -88,7 +89,11 @@
this->camera = NULL;
- this->renderPeriod = Time(1.0/(**this->updateRateP));
+ if (**this->updateRateP == 0)
+ this->renderPeriod = Time(0.0);
+ else
+ this->renderPeriod = Time(1.0/(**this->updateRateP));
+
this->renderingEnabled = true;
World::Instance()->ConnectShowWireframeSignal(
boost::bind(&OgreCamera::ShowWireframe, this, _1) );
@@ -322,6 +327,7 @@
{
{
//boost::recursive_mutex::scoped_lock
md_lock(*Simulator::Instance()->GetMDMutex());
+ this->lastRenderTime = Simulator::Instance()->GetSimTime();
this->renderTarget->update();
}
@@ -1039,3 +1045,10 @@
{
this->viewController->HandleMouseEvent(evt);
}
+
+////////////////////////////////////////////////////////////////////////////////
+/// Get the time of the last render update
+gazebo::Time OgreCamera::GetLastRenderTime() const
+{
+ return this->lastRenderTime;
+}
Modified: code/gazebo/trunk/server/rendering/OgreCamera.hh
===================================================================
--- code/gazebo/trunk/server/rendering/OgreCamera.hh 2010-09-10 01:38:31 UTC
(rev 8886)
+++ code/gazebo/trunk/server/rendering/OgreCamera.hh 2010-09-10 02:39:49 UTC
(rev 8887)
@@ -244,6 +244,9 @@
/// \brief Hande a mouse event
public: void HandleMouseEvent(const MouseEvent &evt);
+ /// \brief Get the time of the last render update
+ public: gazebo::Time GetLastRenderTime() const;
+
/// \brief if user requests bayer image, post process rgb from ogre to
generate bayer formats
private: void ConvertRGBToBAYER(unsigned char* dst, unsigned char* src,
std::string format,int width, int height);
@@ -301,6 +304,9 @@
private: Ogre::AnimationState *animState;
private: ViewController *viewController;
+
+ protected: Time lastRenderTime;
+
};
/// \}
Modified: code/gazebo/trunk/server/rendering/UserCamera.cc
===================================================================
--- code/gazebo/trunk/server/rendering/UserCamera.cc 2010-09-10 01:38:31 UTC
(rev 8886)
+++ code/gazebo/trunk/server/rendering/UserCamera.cc 2010-09-10 02:39:49 UTC
(rev 8887)
@@ -189,6 +189,7 @@
{
boost::recursive_mutex::scoped_lock
md_lock(*Simulator::Instance()->GetMDMutex());
OgreCamera::UpdateCam();
+ this->window->update();
}
if (this->saveFramesP->GetValue())
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Automate Storage Tiering Simply
Optimize IT performance and efficiency through flexible, powerful,
automated storage tiering capabilities. View this brief to learn how
you can reduce costs and improve performance.
http://p.sf.net/sfu/dell-sfdev2dev
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit