Actin®  Version 5.2.0
Software for Robotics Simulation and Control
EcConditionalDirection Class Reference

Concrete implementation of EcManipulationDirection for running conditional directions from the director. More...

#include <ecConditionalDirection.h>

Inheritance diagram for EcConditionalDirection:
EcManipulationDirection EcManipulationSceneDirection EcBaseExpressionTreeElement EcXmlCompoundType EcXmlObject

Public Member Functions

virtual void registerComponents () EC_OVERRIDE
 register components with the parent
 
virtual void clearUuids () EC_OVERRIDE
 clear the uuid for this direction as well as any internally used directions
 
virtual const EcManipulationSceneDirectionContainerVectordirections () const
 get the directions
 
virtual void setDirections (const EcManipulationSceneDirectionContainerVector &directions)
 set the directions
 
virtual const EcManipulationSceneDirectionContainerVectorVectordirectionExceptions () const
 get the exceptions corresponding to the directions
 
virtual void setDirectionExceptions (const EcManipulationSceneDirectionContainerVectorVector &exceptions)
 set the exceptions corresponding to the directions
 
virtual void setDirectionExceptions (EcU32 index, const EcManipulationSceneDirectionContainerVector &exceptions)
 set the exceptions corresponding to a specific direction
 
virtual void addDirection (const EcManipulationSceneDirectionContainer &direction)
 add a direction (without associated exceptions)
 
virtual void insertDirection (EcU32 index, const EcManipulationSceneDirectionContainer &direction)
 insert a direction (without associated exceptions)
 
virtual void addDirection (const EcManipulationSceneDirectionContainer &direction, const EcManipulationSceneDirectionContainer &exception)
 add a direction and associated exception
 
virtual void addDirection (const EcManipulationSceneDirectionContainer &direction, const EcManipulationSceneDirectionContainerVector &exceptions)
 add a direction and associated exceptions
 
virtual const EcDirectionConditionContainerVectorpersistentConditions () const
 get the persistentconditions
 
virtual void setPersistentConditions (const EcDirectionConditionContainerVector &conditions)
 set the persistent conditions
 
virtual const EcManipulationSceneDirectionContainerVectorVectorpersistentConditionExceptions () const
 get the exceptions corresponding to the persistent conditions
 
virtual void setPersistentConditionExceptions (const EcManipulationSceneDirectionContainerVectorVector &exceptions)
 set the exceptions corresponding to the persistent conditions
 
virtual void setPersistentConditionExceptions (EcU32 index, const EcManipulationSceneDirectionContainerVector &exceptions)
 set the exceptions corresponding to a specific persistent condition
 
virtual void addPersistentConditionContainer (const EcDirectionConditionContainer &conditionContainer)
 add a persistent condition (without associated exceptions)
 
virtual void insertPersistentConditionContainer (EcU32 index, const EcDirectionConditionContainer &conditionContainer)
 insert a persistent condition (without associated exceptions)
 
virtual void addPersistentConditionContainer (const EcDirectionConditionContainer &conditionContainer, const EcManipulationSceneDirectionContainer &exception)
 add a persistent condition and associated exception
 
virtual void addPersistentConditionContainer (const EcDirectionConditionContainer &conditionContainer, const EcManipulationSceneDirectionContainerVector &exceptions)
 add a persistent condition and associated exceptions
 
virtual const EcDirectionConditionContainerVectorpostConditions () const
 get the postconditions
 
virtual void setPostConditions (const EcDirectionConditionContainerVector &conditions)
 set the postconditions
 
virtual const EcManipulationSceneDirectionContainerVectorVectorpostConditionExceptions () const
 get the exceptions corresponding to the postconditions
 
virtual void setPostConditionExceptions (const EcManipulationSceneDirectionContainerVectorVector &exceptions)
 set the exceptions corresponding to the postconditions
 
virtual void setPostConditionExceptions (EcU32 index, const EcManipulationSceneDirectionContainerVector &exceptions)
 set the exceptions corresponding to a specific postcondition
 
virtual void addPostConditionContainer (const EcDirectionConditionContainer &conditionContainer)
 add a postcondition (without associated exceptions)
 
virtual void insertPostConditionContainer (EcU32 index, const EcDirectionConditionContainer &conditionContainer)
 insert a postcondition (without associated exceptions)
 
virtual void addPostConditionContainer (const EcDirectionConditionContainer &conditionContainer, const EcManipulationSceneDirectionContainer &exception)
 add a postcondition and associated exception
 
virtual void addPostConditionContainer (const EcDirectionConditionContainer &conditionContainer, const EcManipulationSceneDirectionContainerVector &exceptions)
 add a postcondition and associated exceptions
 
virtual const EcDirectionConditionContainerVectorpreConditions () const
 get the preconditions
 
virtual void setPreConditions (const EcDirectionConditionContainerVector &conditions)
 set the preconditions
 
virtual const EcManipulationSceneDirectionContainerVectorVectorpreConditionExceptions () const
 get the exceptions corresponding to the preconditions
 
virtual void setPreConditionExceptions (const EcManipulationSceneDirectionContainerVectorVector &exceptions)
 set the exceptions corresponding to the preconditions
 
virtual void setPreConditionExceptions (EcU32 index, const EcManipulationSceneDirectionContainerVector &exceptions)
 set the exceptions corresponding to a specific precondition
 
virtual void addPreConditionContainer (const EcDirectionConditionContainer &conditionContainer)
 add a precondition (without associated exceptions)
 
virtual void insertPreConditionContainer (EcU32 index, const EcDirectionConditionContainer &conditionContainer)
 insert a precondition (without associated exceptions)
 
virtual void addPreConditionContainer (const EcDirectionConditionContainer &conditionContainer, const EcManipulationSceneDirectionContainer &exception)
 add a precondition and associated exception
 
virtual void addPreConditionContainer (const EcDirectionConditionContainer &conditionContainer, const EcManipulationSceneDirectionContainerVector &exceptions)
 add a precondition and associated exceptions
 
void removePreCondition (EcU32 index)
 remove a precondition by index
 
void removePersistentCondition (EcU32 index)
 remove a persistent condition by index
 
void removeDirection (EcU32 index)
 remove a direction by index
 
void removePostCondition (EcU32 index)
 remove a post condition by index
 
void clearPreConditions ()
 clear all preconditions
 
void clearPersistentConditions ()
 clear all persistent conditions
 
void clearDirections ()
 clear all directions
 
void clearPostConditions ()
 clear all post conditions
 
void swapPreConditions (EcU32 indexA, EcU32 indexB)
 swap two preconditions
 
void swapPersistentConditions (EcU32 indexA, EcU32 indexB)
 swap two persistent conditions
 
void swapDirections (EcU32 indexA, EcU32 indexB)
 swap two directions
 
void swapPostConditions (EcU32 indexA, EcU32 indexB)
 swap two post conditions
 
virtual const EcString descriptor () const EC_OVERRIDE
 get the descriptor for this direction
 
virtual EcBoolean init (const EcManipulationDirector &director, const EcString &role, EcManipulationSceneDirectionStateContainer &dstateContainer) const EC_OVERRIDE
 initialize the direction
 
virtual EcManipulationStatus::Enum update (EcReal time, const EcManipulationDirector &director, const EcManipulationDirectorUpdateParams &params, const EcString &role, EcManipulationDirectorState &dstate, EcManipulationSceneDirectionState &sdstate) const EC_OVERRIDE
 update the direction
 
virtual void convert (const EcManipulationSceneDirectionStateContainer &dstateContainer, EcManipulationSceneDirectionSimpleStateContainer &sdstateContainer) const EC_OVERRIDE
 convert the direction state
 
virtual const EcManipulationActiveStateactiveState (const EcManipulationSceneDirectionState &dstate) const EC_OVERRIDE
 Return the active state, given the direction state.
 
virtual EcReal progress (const EcManipulationSceneDirectionState &dstate) const EC_OVERRIDE
 get the progress of this direction
 
virtual EcString statusString (const EcManipulationSceneDirectionState &dstate, const EcString &separator) const EC_OVERRIDE
 get the status string
 
EcManipulationSceneDirectionContainerVectorVector defaultExceptions (EcU32 size)
 
virtual void acceptDodLibraryVisitor (EcDodObjectVisitor &visitor, const EcString &objectName) EC_OVERRIDE
 
virtual void traverseDodLibraryVisitor (EcDodObjectVisitor &visitor, const EcString &objectName) EC_OVERRIDE
 
virtual void acceptDodReaderVisitor (EcDodReaderVisitor &visitor, const EcString &objectName) const EC_OVERRIDE
 
virtual void traverseDodReaderVisitor (EcDodReaderVisitor &visitor, const EcString &objectName) const EC_OVERRIDE
 
EcBoolean convertActionsToDirection (const EcString &path=EcString()) EC_OVERRIDE
 converts the manipulation actions to directions
 
- Public Member Functions inherited from EcManipulationDirection
 EcManipulationDirection ()
 default constructor
 
virtual ~EcManipulationDirection ()
 destructor
 
 EcManipulationDirection (const EcManipulationDirection &orig)
 copy constructor
 
EcManipulationDirectionoperator= (const EcManipulationDirection &orig)
 assignment operator
 
EcBoolean operator== (const EcManipulationDirection &orig) const
 equality operator
 
virtual EcReal elapsedTime (const EcManipulationSceneDirectionState &dstate) const
 get the elapsed time of this direction
 
virtual EcBoolean isPauseCapable ()
 All the manipulation directions that can be pasued, need to implement the method and return true.
 
- Public Member Functions inherited from EcManipulationSceneDirection
 EcManipulationSceneDirection ()
 default constructor
 
virtual ~EcManipulationSceneDirection ()
 destructor
 
 EcManipulationSceneDirection (const EcManipulationSceneDirection &orig)
 copy constructor
 
EcManipulationSceneDirectionoperator= (const EcManipulationSceneDirection &orig)
 assignment operator
 
EcBoolean operator== (const EcManipulationSceneDirection &orig) const
 equality operator
 
virtual EcBoolean read (EcXmlReader &stream) EC_OVERRIDE
 read this object from an XML stream
 
virtual EcBoolean write (EcXmlWriter &stream) const EC_OVERRIDE
 write this object to an XML stream
 
virtual const EcStringtag () const
 get the tag used for referencing this direction
 
virtual void setTag (const EcString &tag)
 set the tag used for referencing this direction
 
virtual const EcStringuuid () const
 get the universally unique identifier for this direction
 
virtual void setUuid (const EcString &uuid)
 set the universally unique identifier for this direction
 
virtual EcBoolean handleLibraryEvent (const EcDodLibraryEventParams &param)
 All the Scene directions that allow dod visitor needs to implement.
 
virtual EcBoolean handleLibraryEvent (const EcDodLibraryEventParams &param) const
 All the Scene directions that allow dod visitor needs to implement.
 
virtual EcBoolean needIntermediateConversion () const
 
virtual EcManipulationSceneDirectionconvertToEquivalent () const
 
- Public Member Functions inherited from EcBaseExpressionTreeElement
 EcBaseExpressionTreeElement ()
 default constructor
 
 EcBaseExpressionTreeElement (const EcXmlBaseVariableCompoundType *containerPointer)
 constructor given container pointer
 
virtual ~EcBaseExpressionTreeElement ()
 destructor
 
 EcBaseExpressionTreeElement (const EcBaseExpressionTreeElement &orig)
 copy constructor
 
EcBaseExpressionTreeElementoperator= (const EcBaseExpressionTreeElement &orig)
 assignment operator
 
EcBoolean operator== (const EcBaseExpressionTreeElement &orig) const
 equality operator
 
virtual const EcXmlBaseVariableCompoundTypecontainer () const
 gets the container
 
virtual void setContainer (const EcXmlBaseVariableCompoundType *container)
 sets the container
 
- Public Member Functions inherited from EcXmlCompoundType
 ECDECLARE_BIGFOUR (EcXmlCompoundType)
 
virtual EcBoolean xmlInit () EC_OVERRIDE
 xmlInitialize
 
virtual EcBoolean readAttributes (EcXmlReader &stream)
 read object attributes from an XML stream
 
virtual EcBoolean readElements (EcXmlReader &stream)
 read object elements from an XML stream
 
virtual EcBoolean writeAttributes (EcXmlWriter &stream) const
 write object attributes to an XML stream
 
virtual EcBoolean writeElements (EcXmlWriter &stream) const
 write object elements to an XML stream
 
virtual EcBoolean writeSchema (EcXmlSchema &stream) const EC_OVERRIDE
 write schema
 
virtual EcBoolean writeSchemaAttributes (EcXmlSchema &stream) const
 write schema attributes
 
virtual EcBoolean writeSchemaElements (EcXmlSchema &stream) const
 write schema elements
 
virtual void registerComponent (const EcToken &token, EcXmlObject *obj)
 register a single component More...
 
virtual void registerComponent (EcXmlObject *obj)
 register a single component More...
 
virtual void registerComponentReadOnly (const EcToken &token, EcXmlObject *obj)
 register a single component as read-only More...
 
virtual const EcXmlComponentMapcomponentMap () const
 get a reference to the component map
 
virtual void registerAttributeComponent (const EcToken &AttribToken, EcXmlObject *Obj)
 register a single attribute component More...
 
virtual void registerAttributeComponentReadOnly (const EcToken &AttribToken, EcXmlObject *Obj)
 register a single attribute component read-only More...
 
virtual const EcXmlComponentMapattributeComponentMap ()
 get a reference to the component attribute map
 
virtual const EcXmlSpecialDescriptorMapspecialDescriptorMap ()
 get a reference to the special-descriptor map
 
virtual void registerComponentDescriptor (const EcToken &xmlToken, const EcToken &descriptorToken, const EcString &descriptorString)
 register an XML token-string descriptor More...
 
virtual const EcXmlTokenStringDescriptorMapMaptokenStringDescriptorMap ()
 get a reference to the XML token-string descriptor map
 
virtual EcBoolean hasChildren () const
 return EcTrue if there are children components or EcFalse if an empty element.
 
virtual EcBoolean hasAttributes () const
 return EcTrue if there are attributes in the element.
 
- Public Member Functions inherited from EcXmlObject
 ECDECLARE_BIGFOUR (EcXmlObject)
 
virtual EcXmlObjectclone () const =0
 clone
 
virtual EcBoolean readAttribute (EcXmlReader &stream)
 read this attribute from an XML stream
 
virtual EcBoolean createSchema (const EcString &filename, const EcToken &objectName=EcXml::EcDefaultToken) const
 create schema
 
virtual EcBoolean xmlInitialized () const
 get XML initialized flag. This bit is set on initialization.
 
virtual void setXmlInitialized (EcBoolean val=EcTrue)
 set XML initialized flag. This bit is set on initialization.
 
virtual EcBoolean specified () const
 get specified flag. This bit is set upon reading from an XML file.
 
virtual void setSpecified (EcBoolean val=EcTrue)
 set specified flag. This bit is set upon reading from an XML file.
 
virtual EcBoolean isBasicType () const
 Return true/false for basic type.
 
virtual EcBoolean equalsDefault () const
 tests equality of XML object with default
 
virtual EcBoolean equality (const EcXmlObject *other) const =0
 equality - a virtual equality to an EcXmlObject pointer
 
virtual EcXmlObjectnewObject () const =0
 creates new object - a virtual new to an EcXmlObject pointer
 
virtual const EcTokentoken () const =0
 gets the xml token used for writing out.
 

Static Public Member Functions

static EcXmlObjectcreator ()
 static creator function
 
static const EcManipulationSceneDirectionContainerVectordefaultException ()
 

Protected Member Functions

virtual void determineActiveDirections (EcConditionalDirectionState &adstate, EcManipulationSceneDirectionStateContainerVector *&pScv, const EcManipulationSceneDirectionContainerVector *&pDcv) const
 determine the active directions from the current state
 
virtual EcManipulationStatus::Enum updateActiveDirections (EcReal time, const EcManipulationDirector &director, const EcManipulationDirectorUpdateParams &params, const EcString &role, EcManipulationDirectorState &dstate, EcManipulationSceneDirectionState &sdstate) const
 update the active directions
 
virtual void updateProgress (EcManipulationSceneDirectionState &sdstate) const
 update the progress
 
virtual void updateStatus (EcManipulationStatus::Enum directionStatus, EcConditionalDirectionState &adstate) const
 
- Protected Member Functions inherited from EcManipulationSceneDirection
void checkUuid () const
 
- Protected Member Functions inherited from EcXmlCompoundType
virtual EcBoolean readValueFromToken (const EcToken &token, EcXmlReader &stream)
 
virtual EcBoolean readValueFromSpecialToken (const EcToken &token, EcXmlReader &stream)
 read value from unregistered token
 
virtual EcBoolean readAttributeFromToken (const EcToken &token, EcXmlReader &stream)
 
virtual EcXmlComponentMapnewComponentMap () const
 allocate a new componentMap
 
virtual EcXmlSpecialDescriptorMapnewSpecialDescriptorMap ()
 allocate a new specialDescriptorsMap
 
virtual EcXmlTokenStringDescriptorMapMapnewTokenStringDescriptorMap ()
 allocate a new tokenStringDescriptorsMap
 
virtual void createComponentMap () const
 create component map
 
virtual void createAttributeComponentMap ()
 create attribute component map
 
virtual void createSpecialDescriptorMap ()
 create special-descriptors map
 
virtual void createTokenStringDescriptorMap ()
 create token-string descriptor map
 
virtual EcBoolean isReadOnlyComponent (const EcToken token) const
 check to see if the token corresponds to a read-only component
 
virtual EcBoolean isReadOnlyAttribute (const EcToken token) const
 check to see if the token corresponds to a read-only attribute
 
virtual EcXmlObjectlibraryAttribute ()
 

Protected Attributes

EcDirectionConditionContainerVector m_PreConditions
 preconditions to test
 
EcManipulationSceneDirectionContainerVectorVector m_PreConditionExceptions
 exception directions to execute on precondition failure
 
EcDirectionConditionContainerVector m_PersistentConditions
 persistent conditions to test
 
EcManipulationSceneDirectionContainerVectorVector m_PersistentConditionExceptions
 exception directions to execute on persistent condition failure
 
EcDirectionConditionContainerVector m_PostConditions
 postconditions to test
 
EcManipulationSceneDirectionContainerVectorVector m_PostConditionExceptions
 exception directions to execute on postcondition failure
 
EcManipulationSceneDirectionContainerVector m_Directions
 directions to execute during the nominal execution of this direction
 
EcManipulationSceneDirectionContainerVectorVector m_DirectionExceptions
 exception directions to execute on direction failure
 
- Protected Attributes inherited from EcManipulationSceneDirection
EcXmlString m_Tag
 Tag used for referencing this direction.
 
EcXmlString m_Uuid
 universally unique identifier for this direction
 
- Protected Attributes inherited from EcBaseExpressionTreeElement
const EcXmlBaseVariableCompoundTypem_pContainer
 a pointer to the container
 
- Protected Attributes inherited from EcXmlCompoundType
EcXmlComponentMapm_pComponentMap
 
EcXmlComponentMapm_pAttributeComponentMap
 
EcXmlSpecialDescriptorMapm_pSpecialDescriptorMap
 
EcXmlTokenStringDescriptorMapMapm_pComponentMapTokenStringDescriptor
 
- Protected Attributes inherited from EcXmlObject
EcU8 m_State
 the state of the object - eight boolean flags
 

Additional Inherited Members

- Public Types inherited from EcManipulationSceneDirection
enum  GroupCode {
  Motion = 0,
  Control = 1,
  StageDirection = 2,
  TimeDirection = 3,
  IODirection = 4,
  OtherDirection = 5,
  ExampleDirection = 6,
  HardwareDirection = 7,
  VarDirection = 8,
  CustomGroup_1 = 9,
  CustomGroup_2 = 10,
  NoGroup = 11
}
 direction execution states
 
- Public Types inherited from EcXmlCompoundType
enum  {
  READONLYCOMPONENT = 0,
  READONLYATTRIBUTE
}
 special-descriptor codes More...
 
- Static Protected Attributes inherited from EcXmlObject
static const EcU8 m_theXmlInitializedBit
 the bit used to describe xml initialization
 
static const EcU8 m_theSpecifiedBit
 the bit used to describe specification
 

Detailed Description

Concrete implementation of EcManipulationDirection for running conditional directions from the director.

Definition at line 22 of file ecConditionalDirection.h.


The documentation for this class was generated from the following file:
Created by Energid Technologies www.energid.com
Copyright © 2016 Energid. All trademarks mentioned in this document are property of their respective owners.