AURobotServers  4
Public Member Functions | Protected Attributes | List of all members
UMapRel Class Reference

#include <umaprel.h>

Public Member Functions

UMapRelget ()
 
UMapObjgetOther (UMapObj *notThis)
 
UMapSegmentgetParent ()
 
UPoseQgetRelPose (bool notNull)
 
bool load (Uxml3D *fxmap)
 
bool save (Uxml3D *fxmap)
 
bool setLinks (UMapObj *ref1, UMapObj *ref2)
 
void setParent (UMapSegment *parentSegment)
 
 UMapRel (UMapSegment *parentSegment)
 
void unlink ()
 
 ~UMapRel ()
 

Protected Attributes

bool headingValid
 
UMapObjobj1
 
UMapObjobj2
 
UMapSegmentparent
 
UPoseQrelPose
 

Detailed Description

This class holds information on relations between two map objects. The relation is 2d positional and may contain the same information as a pose, i.e. x,y, heading, and covariance matrix related to this relation. The heading constraint will normally be unknown.

Author
Christian Andersen

Constructor & Destructor Documentation

UMapRel::UMapRel ( UMapSegment parentSegment)

Default constructor

UMapRel::~UMapRel ( )

destructor. Decouples the object from related objects.

Member Function Documentation

UMapRel* UMapRel::get ( )
inline

REturn pointer to this object

References load(), save(), and unlink().

UMapObj* UMapRel::getOther ( UMapObj notThis)

Get pointer to other object. That is the object that is different from this. Returns pointer to other object.

Referenced by getRelPose().

UMapSegment* UMapRel::getParent ( )
inline

Get parent segment

References parent.

UPoseQ* UMapRel::getRelPose ( bool  notNull)
inline

Get reference (pointer) to relative pose structure

References getOther(), relPose, and setLinks().

bool UMapRel::load ( Uxml3D *  fxmap)

Load relation in xml-like format

Referenced by get().

bool UMapRel::save ( Uxml3D *  fxmap)

Save relation in xml-like format

Referenced by get().

bool UMapRel::setLinks ( UMapObj ref1,
UMapObj ref2 
)

Set links to these two objects. If the relation is linked already - i.e. obj1 and/or obj2 is not NULL - then these relation are broken first. Returns true if references are both != NULL.

Referenced by getRelPose().

void UMapRel::setParent ( UMapSegment parentSegment)
inline

Set parent segment

References parent.

void UMapRel::unlink ( )

Remove this object from the constraint list of both related objects.

Referenced by get().

Member Data Documentation

bool UMapRel::headingValid
protected

Is heading constraint valid?

UMapObj* UMapRel::obj1
protected

Reference to object 1. This reference is NULL if no object is defined.

UMapObj* UMapRel::obj2
protected

Reference to object 2. This reference is NULL if no object is defined.

UMapSegment* UMapRel::parent
protected

Parent segment pointer

Referenced by getParent(), and setParent().

UPoseQ* UMapRel::relPose
protected

Relation in position, using x,y,h defined by segment (local) coordinate system. Position is from first object to second object. i.e. according to this relation the position of object 2 should be at object 1 position plus this relation. The covariance (or spring stiffness) is defined by the Q matrix.

Referenced by getRelPose().


The documentation for this class was generated from the following file: