Specialization of jlo::LocatedObject, manages a list of such objects internal service version of located object. More...
#include <ServiceLocatedObject.h>
Public Member Functions | |
virtual void | AddAttachedObject (ServiceLocatedObject *lo) |
Adds an object to the list of dependant objects In case of the object beeing moved, all attached objects will be put to a copy *this. | |
void | DecreaseReferenceCounter () |
virtual unsigned long | GetLOType () |
returns if the object needs its children to be moved | |
unsigned long | GetReferenceCounter () |
void | IncreaseReferenceCounter () |
virtual bool | NeedCopy () |
ServiceLocatedObject | operator- (ServiceLocatedObject &smallObject) |
Calculates the distance between two objects,. | |
virtual void | PropagateMovement (ServiceLocatedObject *(*copy)(ServiceLocatedObject *, ServiceLocatedObject *), unsigned long(*del)(ServiceLocatedObject *), void(*updated)(unsigned long), ServiceLocatedObject *) |
Adds an object to the list of dependant objects In case of the object beeing moved, all attached objects will be put to a copy *this. | |
virtual void | RemoveAttachedObject (ServiceLocatedObject *lo) |
Removes an object from the list of dependant objects. | |
XMLTag * | Save () |
XMLTag * | SaveComplete () |
ServiceLocatedObject () | |
ServiceLocatedObject (ServiceLocatedObject *locobj, const Matrix &matrix, const Matrix &covariance) | |
ServiceLocatedObject (ServiceLocatedObject *locobj, double x=0.0, double y=0.0, double z=0.0, double roll=0.0, double pitch=0.0, double yaw=0.0, double sigmaX=0.0, double sigmaY=0.0, double sigmaZ=0.0, double sigmaRoll=0.0, double sigmaPitch=0.0, double sigmaYaw=0.0) | |
virtual void | TellParentNeedCopy () |
virtual void | TellParentNeedNoCopy () |
void | Update (Matrix m, Matrix cov, ServiceLocatedObject *(*copy)(ServiceLocatedObject *, ServiceLocatedObject *), unsigned long(*del)(ServiceLocatedObject *), void(*updated)(unsigned long)) |
Updates the position of a located object. | |
void | UpdateParent (ServiceLocatedObject *new_parent) |
Sets a new parent to an updated pose. it removes the object from its parents attachment list and adds it to the new parent. | |
virtual | ~ServiceLocatedObject () |
Static Public Member Functions | |
static void | SetLastID (unsigned long lastID) |
Public Attributes | |
std::string | m_mapstring |
ServiceLocatedObject * | m_relation |
Protected Attributes | |
long | m_needCopy |
unsigned long | referenceCounter |
Static Private Attributes | |
static unsigned long | s_lastID = ID_WORLD |
Friends | |
class | ServiceInterface |
Specialization of jlo::LocatedObject, manages a list of such objects internal service version of located object.
class ServiceLocatedObject
Definition at line 507 of file ServiceLocatedObject.h.
Empty constructor
initial coordinates will be 0,...,0 without relation
Definition at line 736 of file ServiceInterface.cpp.
jlo::ServiceLocatedObject::ServiceLocatedObject | ( | jlo::ServiceLocatedObject * | locatedObject, |
const Matrix & | matrix, | ||
const Matrix & | covariance | ||
) |
Definition at line 759 of file ServiceInterface.cpp.
jlo::ServiceLocatedObject::ServiceLocatedObject | ( | jlo::ServiceLocatedObject * | locatedObject, |
double | x = 0.0 , |
||
double | y = 0.0 , |
||
double | z = 0.0 , |
||
double | roll = 0.0 , |
||
double | pitch = 0.0 , |
||
double | yaw = 0.0 , |
||
double | sigmaX = 0.0 , |
||
double | sigmaY = 0.0 , |
||
double | sigmaZ = 0.0 , |
||
double | sigmaRoll = 0.0 , |
||
double | sigmaPitch = 0.0 , |
||
double | sigmaYaw = 0.0 |
||
) |
Definition at line 747 of file ServiceInterface.cpp.
jlo::ServiceLocatedObject::~ServiceLocatedObject | ( | ) | [virtual] |
Destructor notifying the parent
Definition at line 774 of file ServiceInterface.cpp.
virtual void jlo::ServiceLocatedObject::AddAttachedObject | ( | ServiceLocatedObject * | lo | ) | [inline, virtual] |
Adds an object to the list of dependant objects In case of the object beeing moved, all attached objects will be put to a copy *this.
AddAttachedObject
Reimplemented in jlo::ObjectContainer.
Definition at line 595 of file ServiceLocatedObject.h.
void jlo::ServiceLocatedObject::DecreaseReferenceCounter | ( | ) | [inline] |
Functions for Reference Counter
Definition at line 562 of file ServiceLocatedObject.h.
virtual unsigned long jlo::ServiceLocatedObject::GetLOType | ( | ) | [inline, virtual] |
returns if the object needs its children to be moved
GetLOType
Reimplemented from jlo::LocatedObject.
Reimplemented in jlo::ObjectContainer.
Definition at line 627 of file ServiceLocatedObject.h.
unsigned long jlo::ServiceLocatedObject::GetReferenceCounter | ( | ) | [inline] |
Definition at line 564 of file ServiceLocatedObject.h.
void jlo::ServiceLocatedObject::IncreaseReferenceCounter | ( | ) | [inline] |
Definition at line 563 of file ServiceLocatedObject.h.
virtual bool jlo::ServiceLocatedObject::NeedCopy | ( | ) | [inline, virtual] |
Reimplemented in jlo::ObjectContainer.
Definition at line 618 of file ServiceLocatedObject.h.
jlo::ServiceLocatedObject ServiceLocatedObject::operator- | ( | jlo::ServiceLocatedObject & | smallObj | ) |
Calculates the distance between two objects,.
operator-
The calculation will be relative to the nearest common preceeding node in the LocatedObject Tree
smallObject LocatedObject
bigObject |
Definition at line 541 of file ServiceInterface.cpp.
virtual void jlo::ServiceLocatedObject::PropagateMovement | ( | ServiceLocatedObject *(*)(ServiceLocatedObject *, ServiceLocatedObject *) | copy, |
unsigned long(*)(ServiceLocatedObject *) | del, | ||
void(*)(unsigned long) | updated, | ||
ServiceLocatedObject * | |||
) | [inline, virtual] |
Adds an object to the list of dependant objects In case of the object beeing moved, all attached objects will be put to a copy *this.
Move this
Reimplemented in jlo::ObjectContainer.
Definition at line 612 of file ServiceLocatedObject.h.
virtual void jlo::ServiceLocatedObject::RemoveAttachedObject | ( | ServiceLocatedObject * | lo | ) | [inline, virtual] |
Removes an object from the list of dependant objects.
RemoveAttachedObject
Reimplemented in jlo::ObjectContainer.
Definition at line 602 of file ServiceLocatedObject.h.
Definition at line 517 of file ServiceInterface.cpp.
static void jlo::ServiceLocatedObject::SetLastID | ( | unsigned long | lastID | ) | [inline, static] |
virtual void jlo::ServiceLocatedObject::TellParentNeedCopy | ( | ) | [inline, virtual] |
Reimplemented in jlo::ObjectContainer.
Definition at line 619 of file ServiceLocatedObject.h.
virtual void jlo::ServiceLocatedObject::TellParentNeedNoCopy | ( | ) | [inline, virtual] |
Reimplemented in jlo::ObjectContainer.
Definition at line 620 of file ServiceLocatedObject.h.
void jlo::ServiceLocatedObject::Update | ( | Matrix | m, |
Matrix | cov, | ||
ServiceLocatedObject *(*)(ServiceLocatedObject *, ServiceLocatedObject *) | copy, | ||
unsigned long(*)(ServiceLocatedObject *) | del, | ||
void(*)(unsigned long) | updated | ||
) |
Updates the position of a located object.
Update
m | 4x4 matrix containing the complete transformation ( ~ R*t) from the parent to the child |
cov | the uncertainty in a 6x6 matrix in child coordinates as [covx, covz, covz, covRoll, covPitch, covYaw]^T [covx, covz, covz, covRoll, covPitch, covYaw] |
copy | a function to copy a ServiceLocatedObject* before update, if there are attached child nodes |
del | a function to delete parents that are not needed anymore in case of detachment of all attached children |
updated | a function to inform subscribers of one of the touched nodes in the tree of an update |
Definition at line 509 of file ServiceInterface.cpp.
void jlo::ServiceLocatedObject::UpdateParent | ( | jlo::ServiceLocatedObject * | new_parent | ) |
Sets a new parent to an updated pose. it removes the object from its parents attachment list and adds it to the new parent.
UpdateParent
new_parent | the new parent that should replace the old. |
Definition at line 499 of file ServiceInterface.cpp.
friend class ServiceInterface [friend] |
Definition at line 653 of file ServiceLocatedObject.h.
std::string jlo::ServiceLocatedObject::m_mapstring |
Maps a string also to this index
Definition at line 648 of file ServiceLocatedObject.h.
long jlo::ServiceLocatedObject::m_needCopy [protected] |
Definition at line 651 of file ServiceLocatedObject.h.
m_relation
The preeceding node in the LocatedObject Tree
Definition at line 637 of file ServiceLocatedObject.h.
unsigned long jlo::ServiceLocatedObject::referenceCounter [protected] |
Definition at line 650 of file ServiceLocatedObject.h.
unsigned long jlo::ServiceLocatedObject::s_lastID = ID_WORLD [static, private] |
Definition at line 654 of file ServiceLocatedObject.h.