solver  1.0
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
RoboticLine Class Reference

The robotic cell corresponds to an instance of this class. More...

#include <RoboticLine.h>

+ Collaboration diagram for RoboticLine:

Public Member Functions

 RoboticLine (const RoboticLine &l)
 
RoboticLineoperator= (const RoboticLine &l)
 
std::string name () const
 
std::string description () const
 
std::vector< Robot * > robots () const
 
std::vector< InterRobotOperation * > interRobotOperations () const
 
std::vector< std::pair< ActivityMode *, ActivityMode * > > collisions () const
 
double productionCycleTime () const
 

Private Member Functions

void name (const std::string &name)
 
void description (const std::string &description)
 
void addRobot (Robot *r)
 
void addInterRobotOperation (InterRobotOperation *op)
 
void addCollision (const std::pair< ActivityMode *, ActivityMode * > &collision)
 
void productionCycleTime (const double &productionCycleTime)
 
void setParentOfChildren (RoboticLine *rl)
 This method is propagated through all the parts of the robotic cell in order to set parents. More...
 
void initialiseDataStructures (const std::map< uint32_t, Location * > &pointToLocation, const std::map< Movement *, std::pair< uint32_t, uint32_t >> &movementToPoints)
 It recursively sets parents and initializes relations between activities. More...
 
void copyDataStructures (const RoboticLine &r)
 
void freeAllocatedMemory ()
 

Private Attributes

int64_t * mRefCounter
 Counter of references, the number of shallow copies sharing the same data.
 
std::string mName
 Name of the robotic cell.
 
std::string mDescription
 Description of the robotic cell.
 
std::vector< Robot * > mRobots
 Robots located in this cell.
 
std::vector< InterRobotOperation * > mInterRobotOperations
 Inter-robot operations between robots.
 
std::vector< std::pair< ActivityMode *, ActivityMode * > > mCollisions
 Collisions between robots defined as time disjunctive pairs.
 
double mProductionCycleTime
 Production cycle time, also called robot cycle time.
 

Static Private Attributes

static std::map< int64_t *, std::set< RoboticLine * > > liveInstances
 Track of dynamically created instances, needed for managing the memory.
 

Friends

class XmlReader
 XmlReader should be allowed to fill the data-structures of the robotic cell.
 

Detailed Description

The robotic cell corresponds to an instance of this class.

The instance of this class corresponds to the whole robotic cell including its robots, operations, synchronizations, and collisions.

Note
The robotic cell is immutable (read-only) after it has been filled.

Definition at line 563 of file RoboticLine.h.

Member Function Documentation

void RoboticLine::initialiseDataStructures ( const std::map< uint32_t, Location * > &  pointToLocation,
const std::map< Movement *, std::pair< uint32_t, uint32_t >> &  movementToPoints 
)
private

It recursively sets parents and initializes relations between activities.

Parameters
pointToLocationMapping between coordinate identifications and locations.
movementToPointsMapping of movements to their start and end coordinate identifications.

Definition at line 325 of file RoboticLine.cpp.

void RoboticLine::setParentOfChildren ( RoboticLine rl)
private

This method is propagated through all the parts of the robotic cell in order to set parents.

Parameters
rlInstance of this class.

Definition at line 318 of file RoboticLine.cpp.


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