|
From: <yx...@us...> - 2010-12-17 00:21:46
|
Revision: 234
http://simspark.svn.sourceforge.net/simspark/?rev=234&view=rev
Author: yxu
Date: 2010-12-17 00:21:40 +0000 (Fri, 17 Dec 2010)
Log Message:
-----------
render the image of camera in RenderControl
Modified Paths:
--------------
trunk/spark/plugin/imageperceptor/imageperceptor.cpp
trunk/spark/plugin/imageperceptor/imageperceptor.h
Modified: trunk/spark/plugin/imageperceptor/imageperceptor.cpp
===================================================================
--- trunk/spark/plugin/imageperceptor/imageperceptor.cpp 2010-12-17 00:21:21 UTC (rev 233)
+++ trunk/spark/plugin/imageperceptor/imageperceptor.cpp 2010-12-17 00:21:40 UTC (rev 234)
@@ -50,13 +50,21 @@
}
mRender->SetCamera(mCamera);
- AddChildReference(mRender);
+
+ RegisterCachedPath(mRenderControl, "/sys/server/simulation/RenderControl");
+
+ if (mRenderControl.expired())
+ {
+ GetLog()->Error()
+ << "(ImagePerceptor) ERROR: RenderControl not found\n";
+ } else
+ {
+ mRenderControl->AddChildReference(mRender);
+ }
}
bool ImagePerceptor::Percept(boost::shared_ptr<PredicateList> predList)
-{
- mRender->Render();
-
+{
Predicate &predicate = predList->AddPredicate();
predicate.name = "IMG";
predicate.parameter.Clear();
Modified: trunk/spark/plugin/imageperceptor/imageperceptor.h
===================================================================
--- trunk/spark/plugin/imageperceptor/imageperceptor.h 2010-12-17 00:21:21 UTC (rev 233)
+++ trunk/spark/plugin/imageperceptor/imageperceptor.h 2010-12-17 00:21:40 UTC (rev 234)
@@ -21,9 +21,10 @@
#ifndef IMAGEPERCEPTOR_H
#define IMAGEPERCEPTOR_H
+#include <libb64/encode.h>
#include <oxygen/agentaspect/perceptor.h>
#include <oxygen/sceneserver/camera.h>
-#include <libb64/encode.h>
+#include <kerosin/renderserver/rendercontrol.h>
#include "imagerender.h"
class ImagePerceptor : public oxygen::Perceptor
@@ -50,6 +51,8 @@
boost::shared_ptr<ImageRender> mRender;
+ zeitgeist::Leaf::CachedPath<kerosin::RenderControl> mRenderControl;
+
base64::Encoder mB64Encoder;
};
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|