22 #ifndef OPENRAVE_SENSORSYSTEM_H
23 #define OPENRAVE_SENSORSYSTEM_H
40 return PT_SensorSystem;
44 virtual void Reset() = 0;
47 virtual void AddRegisteredBodies(
const std::vector<KinBodyPtr>& vbodies) = 0;
53 virtual bool RemoveKinBody(
KinBodyPtr pbody) = 0;
55 virtual bool IsBodyPresent(
KinBodyPtr pbody) = 0;
57 virtual bool EnableBody(
KinBodyPtr pbody,
bool bEnable) = 0;
66 pbody->SetManageData(data);
70 virtual const char* GetHash()
const {
83 virtual void copy(boost::shared_ptr<XMLData const> pdata) {
118 virtual bool Lock(
bool bDoLock) {
119 bLock = bDoLock;
return true;
123 return _initdata->id;
126 return _initdata->sid;
136 if( _initdata->strOffsetLink.size() > 0 )
137 plink = pbody->GetLink(_initdata->strOffsetLink);
139 plink = pbody->GetLinks().front();
162 virtual ProcessElement startElement(
const std::string& name,
const AttributesList& atts);
163 virtual bool endElement(
const std::string& name);
164 virtual void characters(
const std::string& ch);
168 std::stringstream
ss;
177 virtual void Reset();
179 virtual void AddRegisteredBodies(
const std::vector<KinBodyPtr>& vbodies);
184 virtual bool EnableBody(
KinBodyPtr pbody,
bool bEnable);
189 typedef std::map<int,boost::shared_ptr<BodyData> >
BODIES;
190 virtual boost::shared_ptr<BodyData> CreateBodyData(
KinBodyPtr pbody, boost::shared_ptr<XMLData const> pdata);
191 virtual void _UpdateBodies(std::list<SNAPSHOT>& listbodies);
192 virtual void _UpdateBodiesThread();