Robot::Waypoint Class Reference

The representation of a waypoint in a trajectory. More...

#include <Waypoint.h>

Inheritance diagram for Robot::Waypoint:
Base::Persistence Base::BaseClass

List of all members.

Public Types

enum  WaypointType {
  UNDEF, PTP, LINE, CIRC,
  WAIT
}

Public Member Functions

virtual unsigned int getMemSize (void) const
 This method is used to get the size of objects It is not meant to have the exact size, it is more or less an estimation which runs fast! Is it two bytes or a GB?
virtual Base::Type getTypeId (void) const
virtual void Restore (Base::XMLReader &)
 This method is used to restore properties from an XML document.
virtual void Save (Base::Writer &) const
 This method is used to save properties to an XML document.
 Waypoint (const char *name, const Base::Placement &endPos, WaypointType type=Waypoint::LINE, float velocity=2000.0, float accelaration=100.0, bool cont=false, unsigned int tool=0, unsigned int base=0)
 full constructor
 Waypoint ()
 ~Waypoint ()

Static Public Member Functions

static void * create (void)
static Base::Type getClassTypeId (void)
static void init (void)

Public Attributes

float Accelaration
unsigned int Base
bool Cont
Base::Placement EndPos
std::string Name
unsigned int Tool
WaypointType Type
float Velocity

Detailed Description

The representation of a waypoint in a trajectory.

Definition at line 39 of file Waypoint.h.


Member Enumeration Documentation

Enumerator:
UNDEF 
PTP 
LINE 
CIRC 
WAIT 

Definition at line 44 of file Waypoint.h.


Constructor & Destructor Documentation

Waypoint::Waypoint (  ) 

Definition at line 72 of file Waypoint.cpp.

Waypoint::Waypoint ( const char *  name,
const Base::Placement endPos,
WaypointType  type = Waypoint::LINE,
float  velocity = 2000.0,
float  accelaration = 100.0,
bool  cont = false,
unsigned int  tool = 0,
unsigned int  base = 0 
)

full constructor

Definition at line 59 of file Waypoint.cpp.

Waypoint::~Waypoint (  ) 

Definition at line 77 of file Waypoint.cpp.


Member Function Documentation

void * Robot::Waypoint::create ( void   )  [static]

Reimplemented from Base::Persistence.

Definition at line 57 of file Waypoint.cpp.

Base::Type Robot::Waypoint::getClassTypeId ( void   )  [static]

Reimplemented from Base::Persistence.

Definition at line 57 of file Waypoint.cpp.

unsigned int Waypoint::getMemSize ( void   )  const [virtual]

This method is used to get the size of objects It is not meant to have the exact size, it is more or less an estimation which runs fast! Is it two bytes or a GB?

Implements Base::Persistence.

Definition at line 81 of file Waypoint.cpp.

Base::Type Robot::Waypoint::getTypeId ( void   )  const [virtual]

Reimplemented from Base::Persistence.

Definition at line 57 of file Waypoint.cpp.

void Robot::Waypoint::init ( void   )  [static]

Reimplemented from Base::Persistence.

Definition at line 57 of file Waypoint.cpp.

Referenced by initRobot().

void Waypoint::Restore ( Base::XMLReader  )  [virtual]

This method is used to restore properties from an XML document.

It uses the XMLReader class, which bases on SAX, to read the in Save() written information. Again the Vector as an example:

 void PropertyVector::Restore(Base::XMLReader &reader)
 {
   // read my Element
   reader.readElement("PropertyVector");
   // get the value of my Attribute
   _cVec.x = (float)reader.getAttributeAsFloat("valueX");
   _cVec.y = (float)reader.getAttributeAsFloat("valueY");
   _cVec.z = (float)reader.getAttributeAsFloat("valueZ");
 }

Implements Base::Persistence.

Definition at line 115 of file Waypoint.cpp.

References Accelaration, Base, CIRC, Cont, EndPos, Base::XMLReader::getAttribute(), Base::XMLReader::getAttributeAsFloat(), Base::XMLReader::getAttributeAsInteger(), LINE, Name, PTP, Base::XMLReader::readElement(), Tool, Py::type(), UNDEF, Velocity, and WAIT.

Referenced by Robot::Trajectory::Restore().

void Waypoint::Save ( Base::Writer  )  const [virtual]

This method is used to save properties to an XML document.

A good example you'll find in PropertyStandard.cpp, e.g. the vector:

  void PropertyVector::Save (Writer &writer) const
  {
     writer << writer.ind() << "<PropertyVector valueX=\"" <<  _cVec.x <<
                                            "\" valueY=\"" <<  _cVec.y <<
                                            "\" valueZ=\"" <<  _cVec.z <<"\"/>" << endl;
  }

The writer.ind() expression writes the indention, just for pretty printing of the XML. As you see, the writing of the XML document is not done with a DOM implementation because of performance reasons. Therefore the programmer has to take care that a valid XML document is written. This means closing tags and writing UTF-8.

See also:
Base::Writer

Implements Base::Persistence.

Definition at line 86 of file Waypoint.cpp.

References Accelaration, Base, CIRC, Cont, EndPos, Base::Placement::getPosition(), Base::Placement::getRotation(), Base::Writer::ind(), Py::int, LINE, Name, PTP, Base::Writer::Stream(), Tool, UNDEF, Velocity, WAIT, Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.


Member Data Documentation

unsigned int Robot::Waypoint::Base
std::string Robot::Waypoint::Name
unsigned int Robot::Waypoint::Tool

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

Generated on Wed Nov 23 19:02:45 2011 for FreeCAD by  doxygen 1.6.1