Conscience Core
Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
conscience_core::bridging::commands::environment_entities::CommandEntityToPosition Class Reference

#include <CommandEntityToPosition.h>

Inheritance diagram for conscience_core::bridging::commands::environment_entities::CommandEntityToPosition:
conscience_core::bridging::commands::CscCommand

Public Member Functions

 CommandEntityToPosition (const CscPoint3d *targetPosition, ptr< CscEntityReflexion > entityReflexion, CscArea3d *zone=nullptr, optional< double > distanceWithObjectAutorized={}, optional< int > matrixSize={}, const CscPoint3d *startPosition=nullptr, optional< bool > useGnssCoordinates={}, const vector< string > *placeModelIdsToIgnore=nullptr, optional< CommandEntityToPositionAlgorithm > algorithm={})
 
 ~CommandEntityToPosition () override
 
void setDoNotPlayResult (bool value)
 
void setDeletePointers (bool value)
 
void setCartographyPoints (const vector< CscPoint3d * > *cartographyPoints)
 
- Public Member Functions inherited from conscience_core::bridging::commands::CscCommand
const CscCommandExecutionResult_execute (CscEnvironmentSimulator &environmentSimulator)
 
template<class TResult = CscCommandExecutionResult>
const TResult * execute (CscEnvironmentSimulator &environmentSimulator)
 
const CommandTypeIdgetTypeId () const
 
virtual ~CscCommand ()
 
void setOriginalCommandString (string command)
 

Static Public Attributes

static const CommandTypeId COMMAND_ID = "ENTITY_TO_POSITION"
 
static constexpr int ERROR_CODE_UNREACHABLE = -1
 
static constexpr int ERROR_CODE_OUTSIDE_ZONE = -2
 
static constexpr int ERROR_CODE_ENTITY_REFLEXION_NOT_FOUND = -3
 
static constexpr int ERROR_CODE_TOO_CLOSE = -4
 

Protected Member Functions

const CscCommandExecutionResultSequencedoExecute (CscEnvironmentSimulator &environmentSimulator) override
 
ptr< CscEntityReflexiongetEntityReflexion () const override
 
- Protected Member Functions inherited from conscience_core::bridging::commands::CscCommand
 CscCommand (const CommandTypeId &typeId)
 
const CscCommandExecutionResultNoneresultNone ()
 
const CscCommandExecutionResultSequenceresultSequence (CscSequence *sequence, const string &entitySerialNumber, bool doNotPlay=false)
 
const CscCommandExecutionResultFileresultFile (const fs::path &resultingFilePath)
 
template<class TResult >
const CscCommandExecutionResultObject< TResult > * resultObject (TResult *result)
 
const CscWorldElementId getEntityId () const
 

Additional Inherited Members

- Public Types inherited from conscience_core::bridging::commands::CscCommand
typedef function< void(CscCommand *command)> CommandExecutedListener
 
- Static Public Member Functions inherited from conscience_core::bridging::commands::CscCommand
static void addCommandExecutedListener (CommandExecutedListener listener)
 
- Protected Attributes inherited from conscience_core::bridging::commands::CscCommand
const CommandTypeId typeId
 
optional< string > originalCommandString = {}
 

Detailed Description

The Entity to Position command generates a sequence of positions that the entity must follow to reach a target position. The shortest path is generated by taking into account the objects in the scene and the scene itself. Returns detected objects positions.

Constructor & Destructor Documentation

◆ CommandEntityToPosition()

conscience_core::bridging::commands::environment_entities::CommandEntityToPosition::CommandEntityToPosition ( const CscPoint3d targetPosition,
ptr< CscEntityReflexion entityReflexion,
CscArea3d zone = nullptr,
optional< double >  distanceWithObjectAutorized = {},
optional< int >  matrixSize = {},
const CscPoint3d startPosition = nullptr,
optional< bool useGnssCoordinates = {},
const vector< string > *  placeModelIdsToIgnore = nullptr,
optional< CommandEntityToPositionAlgorithm >  algorithm = {} 
)
Parameters
targetPositionposition to be reached
entityReflexionentity to be moved
zonethe zone in which apply the path search. The bigger the slower. Units in cm. Leave empty to let command decide a default area
distanceWithObjectAutorizedsafety distance with obstacles
matrixSizenumber or rows / columns in the grid
startPositionleave null to start from robot position (main case)
useGnssCoordinates
placeModelIdsToIgnore

◆ ~CommandEntityToPosition()

conscience_core::bridging::commands::environment_entities::CommandEntityToPosition::~CommandEntityToPosition ( )
override

Member Function Documentation

◆ doExecute()

const CscCommandExecutionResultSequence * conscience_core::bridging::commands::environment_entities::CommandEntityToPosition::doExecute ( CscEnvironmentSimulator environmentSimulator)
overrideprotectedvirtual

◆ getEntityReflexion()

ptr< CscEntityReflexion > conscience_core::bridging::commands::environment_entities::CommandEntityToPosition::getEntityReflexion ( ) const
overrideprotectedvirtual

return entity reflexion if this command applies on an entityReflexion, otherwise return nullptr

Implements conscience_core::bridging::commands::CscCommand.

◆ setCartographyPoints()

void conscience_core::bridging::commands::environment_entities::CommandEntityToPosition::setCartographyPoints ( const vector< CscPoint3d * > *  cartographyPoints)

this setters enable to provide an optional cloud of cartography points to be taken in account in obstacles

◆ setDeletePointers()

void conscience_core::bridging::commands::environment_entities::CommandEntityToPosition::setDeletePointers ( bool  value)
Parameters
valuepass false if you want this command NOT to delete its pointers (received from constructors), as an optimization

◆ setDoNotPlayResult()

void conscience_core::bridging::commands::environment_entities::CommandEntityToPosition::setDoNotPlayResult ( bool  value)
Parameters
valuepass true if you want this command's result not to be played in environment when executed. For instance if resulting sequence is used in another way (from another command..)

Member Data Documentation

◆ COMMAND_ID

const CommandTypeId conscience_core::bridging::commands::environment_entities::CommandEntityToPosition::COMMAND_ID = "ENTITY_TO_POSITION"
inlinestatic

◆ ERROR_CODE_ENTITY_REFLEXION_NOT_FOUND

constexpr int conscience_core::bridging::commands::environment_entities::CommandEntityToPosition::ERROR_CODE_ENTITY_REFLEXION_NOT_FOUND = -3
staticconstexpr

◆ ERROR_CODE_OUTSIDE_ZONE

constexpr int conscience_core::bridging::commands::environment_entities::CommandEntityToPosition::ERROR_CODE_OUTSIDE_ZONE = -2
staticconstexpr

◆ ERROR_CODE_TOO_CLOSE

constexpr int conscience_core::bridging::commands::environment_entities::CommandEntityToPosition::ERROR_CODE_TOO_CLOSE = -4
staticconstexpr

◆ ERROR_CODE_UNREACHABLE

constexpr int conscience_core::bridging::commands::environment_entities::CommandEntityToPosition::ERROR_CODE_UNREACHABLE = -1
staticconstexpr

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