Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include <rve_render_client/lines.h>
00031 #include <rve_render_client/material.h>
00032 #include <rve_render_client/scene.h>
00033
00034 #include <rve_msgs/Lines.h>
00035 #include <rve_interfaces/Lines.h>
00036
00037 #include <boost/bind.hpp>
00038
00039 namespace rve_render_client
00040 {
00041
00042 LinesPtr createLines(const rve_msgs::LinesConstPtr& lines)
00043 {
00044 LinesPtr inst(new Lines(lines), destroySceneObject);
00045 return inst;
00046 }
00047
00048 LinesPtr createLines(Scene* scene, const rve_msgs::LinesConstPtr& lines)
00049 {
00050 LinesPtr inst = createLines(lines);
00051 scene->addObject(inst.get());
00052 return inst;
00053 }
00054
00055 Lines::Lines(const rve_msgs::LinesConstPtr& lines)
00056 : lines_(lines)
00057 {
00058 proxy_index_ = addProxy("lines");
00059 }
00060
00061 Lines::~Lines()
00062 {
00063 }
00064
00065 rve_interfaces::LinesProxy* Lines::getProxy(const ContextInfo& context)
00066 {
00067 return SceneObject::getProxy<rve_interfaces::LinesProxy>(context, proxy_index_);
00068 }
00069
00070 void Lines::doCreate(ContextInfo& context)
00071 {
00072 rve_interfaces::LinesProxy* proxy = getProxy(context);
00073 proxy->create(getSceneID(context.scene), getID(), *lines_);
00074 }
00075
00076 void Lines::doDestroy(ContextInfo& context)
00077 {
00078 rve_interfaces::LinesProxy* proxy = getProxy(context);
00079 proxy->destroy(getSceneID(context.scene), getID());
00080 }
00081
00082 #define LINES_MULTIPLEX(func, ...) \
00083 multiplex<rve_interfaces::LinesProxy>(boost::bind(&rve_interfaces::LinesProxy::func, _1, _2, getID(), __VA_ARGS__), proxy_index_);
00084
00085
00086 }
00087
00088