# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NLAIAGENT::COperatorScript Class Reference

#include <operator_script.h>

Inheritance diagram for NLAIAGENT::COperatorScript:

NLAIAGENT::CActorScript NLAIAGENT::CAgentScript NLAIAGENT::IAgentManager NLAIAGENT::IAgent NLAIAGENT::IAgentComposite NLAIAGENT::IBasicAgent NLAIAGENT::IConnectIA NLAIAGENT::IRefrence NLAIAGENT::IObjectIA NLAIAGENT::IBasicObjectIA NLAIC::IBasicInterface NLAIC::IBasicType NLAIC::IPointerGestion NLMISC::IStreamable NLMISC::IClassable List of all members.

Public Methods

 COperatorScript (IAgentManager *, bool activated=false)
 COperatorScript (const COperatorScript &)
 COperatorScript (IAgentManager *, IBasicAgent *, std::list< IObjectIA * > &, NLAISCRIPT::COperatorClass *)
virtual ~COperatorScript ()
float priority () const
 Priority of the operator. More...

void calcPriority ()
virtual const NLAIC::IBasicTypeclone () const
 Inherited functions. More...

virtual const NLAIC::IBasicTypenewInstance () const
 This function allow a new instance, that mean that the class is a class factory. More...

virtual void getDebugString (std::string &) const
 This is a Debug function, text is an character pointer to receive the debug text output, the debug text containe all think sensible to interset user. More...

virtual bool isEqual (const IBasicObjectIA &a) const
 Implementation of the isEqual of the IBasicObjectIA. More...

virtual bool checkActivation ()
virtual const CProcessResult & run ()
 The work of an agent. More...

virtual void processMessages (NLAIAGENT::IMessageBase *msg, NLAIAGENT::IObjectIA *o)
virtual const NLAIC::CIdentTypegetType () const
 getType return a unique string how represente the class, it can be the name of the class. More...

virtual void save (NLMISC::IStream &os)
 Save the class in a stream. More...

virtual void load (NLMISC::IStream &is)
 Load the class from a stream. More...

virtual IObjectIA::CProcessResult runMethodBase (int heritance, int index, IObjectIA *)
virtual IObjectIA::CProcessResult runMethodBase (int index, IObjectIA *)
tQueue getPrivateMember (const IVarName *, const IVarName *, const IObjectIA &) const
virtual sint32 getMethodIndexSize () const
 getMethodIndexSize define the nomber of method define in the class. More...

virtual int getBaseMethodCount () const
 Return the nomber of internal C++ hard coded method that the class can process. More...

virtual void onKill (IConnectIA *a)
 Called by an agent who's destroyed te remove its references. More...

void getFatherComponent (IVarName &)
void linkGoalArgs (NLAILOGIC::CGoal *)
 Binds the goal args to the variables of the operator (defined by the "Goal:" field in the script). More...

virtual NLAILOGIC::CGoalselectGoal ()
 Selects a goal among the ones the operator can process. More...

virtual void cancel ()
virtual void onSuccess (IObjectIA *)
 Dependencies failure and success notification These functions are called by other operators or goals who failed or succeeded. More...

virtual void onFailure (IObjectIA *)
NLAILOGIC::CFactbuildFromVars (NLAILOGIC::IBaseAssert *, std::vector< sint32 > &, NLAILOGIC::CValueSet *)
std::list< NLAILOGIC::CValueSet * > * propagate (std::list< NLAILOGIC::CValueSet * > &, NLAILOGIC::CValueSet *, std::vector< sint32 > &)
std::list< NLAILOGIC::CFact * > * propagate (std::list< NLAILOGIC::CFact * > &)
NLAILOGIC::CValueSetunifyLiaison (const NLAILOGIC::CValueSet *, NLAILOGIC::CValueSet *, std::vector< sint32 > &)
void lookForGoals ()
bool checkPreconditions ()
void execOnActivate ()
void checkPause ()
bool isExclusive ()
void setPriority (float prio)
virtual bool checkTrigMsg ()
virtual void order (NLAIAGENT::IBaseGroupType *, NLAILOGIC::IGoal *)

Static Public Attributes

const NLAIC::CIdentType IdOperatorScript

Protected Types

enum  c_funcs_id {
  fid_modeachieve, fid_modemaintain, fid_isPaused, fid_getPriority,
  fid_setPriority, fid_isActivable, fid_background, fid_exclusive,
  fid_achieve, fid_order, fid_last
}

Private Attributes

std::vector< NLAIAGENT::IObjectIA * > _VarValues
NLAILOGIC::CFactBase_FactBase
NLAILOGIC::CGoal_CurrentGoal
sint32 _CyclesBeforeUpdate
std::list< NLAILOGIC::CGoal * > _ActivatedGoals
bool _IsActivable
bool _Exclusive
bool _Maintain
float _Priority
float _BasePriority

Member Enumeration Documentation

enum NLAIAGENT::COperatorScript::c_funcs_id [protected]
 

Enumeration values:
fid_modeachieve 
fid_modemaintain 
fid_isPaused 
fid_getPriority 
fid_setPriority 
fid_isActivable 
fid_background 
fid_exclusive 
fid_achieve 
fid_order 
fid_last 

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 49 of file operator_script.h.


Constructor & Destructor Documentation

NLAIAGENT::COperatorScript::COperatorScript IAgentManager  ,
bool    activated = false
 

Definition at line 43 of file operator_script.cpp.

References _CurrentGoal, _CyclesBeforeUpdate, _Exclusive, _IsActivable, _Maintain, and _Priority.

Referenced by clone, and newInstance.

NLAIAGENT::COperatorScript::COperatorScript const COperatorScript &   
 

Definition at line 18 of file operator_script.cpp.

References _BasePriority, _CurrentGoal, _CyclesBeforeUpdate, _Exclusive, _IsActivable, _Maintain, and _Priority.

NLAIAGENT::COperatorScript::COperatorScript IAgentManager  ,
IBasicAgent  ,
std::list< IObjectIA * > &   ,
NLAISCRIPT::COperatorClass  
 

Definition at line 29 of file operator_script.cpp.

References _CurrentGoal, _CyclesBeforeUpdate, _Exclusive, _IsActivable, _Maintain, _Priority, and components.

NLAIAGENT::COperatorScript::~COperatorScript   [virtual]
 

Definition at line 53 of file operator_script.cpp.

References _VarValues.


Member Function Documentation

NLAILOGIC::CFact * NLAIAGENT::COperatorScript::buildFromVars NLAILOGIC::IBaseAssert  ,
std::vector< sint32 > &   ,
NLAILOGIC::CValueSet  
 

Definition at line 427 of file operator_script.cpp.

References assert, and NLAILOGIC::CValueSet::setValue.

Referenced by propagate.

void NLAIAGENT::COperatorScript::calcPriority  
 

Definition at line 383 of file operator_script.cpp.

References NLAIAGENT::CAgentScript::_AgentClass, _BasePriority, _IsActivable, _Priority, NLAIAGENT::IConnectIA::getParent, getType, NLAIAGENT::IAgent::IAgent, NLAIFUZZY::IFuzzySet::membership, and value.

Referenced by run.

void NLAIAGENT::COperatorScript::cancel   [virtual]
 

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 371 of file operator_script.cpp.

References _CurrentGoal.

bool NLAIAGENT::COperatorScript::checkActivation   [virtual]
 

Definition at line 299 of file operator_script.cpp.

References _ActivatedGoals, NLAIAGENT::CAgentScript::_AgentClass, _CurrentGoal, NLAIAGENT::CActorScript::_IsActivated, _Maintain, checkPreconditions, getType, linkGoalArgs, and lookForGoals.

Referenced by run.

void NLAIAGENT::COperatorScript::checkPause  
 

Definition at line 269 of file operator_script.cpp.

References _CurrentGoal, NLAIAGENT::CActorScript::_IsPaused, getType, NLAILOGIC::IGoal::isSelected, NLAIAGENT::CActorScript::pause, and NLAIAGENT::CActorScript::restart.

Referenced by run.

bool NLAIAGENT::COperatorScript::checkPreconditions  
 

Definition at line 356 of file operator_script.cpp.

References NLAIAGENT::CAgentScript::_AgentClass, checkTrigMsg, NLAIAGENT::CAgentScript::getAgentManager, getType, and NLAISCRIPT::CCodeContext::Self.

Referenced by checkActivation.

bool NLAIAGENT::COperatorScript::checkTrigMsg   [virtual]
 

Definition at line 828 of file operator_script.cpp.

References NLAIAGENT::CAgentScript::_AgentClass, NLAIAGENT::IConnectIA::getParent, NLAIAGENT::IBasicAgent::IBasicAgent, id, and NLAIAGENT::CAgentScript::setStaticMember.

Referenced by checkPreconditions.

const NLAIC::IBasicType * NLAIAGENT::COperatorScript::clone   const [virtual]
 

Inherited functions.

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 71 of file operator_script.cpp.

References COperatorScript.

void NLAIAGENT::COperatorScript::execOnActivate  
 

Definition at line 236 of file operator_script.cpp.

References NLAIAGENT::CActorScript::_OnActivateIndex, NLAIAGENT::CAgentScript::getAgentManager, getType, NLAIAGENT::CActorScript::onActivate, r, NLAIAGENT::CAgentScript::runMethodeMember, NLAISCRIPT::CCodeContext::Self, and NLAISCRIPT::CCodeContext::Stack.

Referenced by run.

int NLAIAGENT::COperatorScript::getBaseMethodCount   const [virtual]
 

Return the nomber of internal C++ hard coded method that the class can process.

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 729 of file operator_script.cpp.

References fid_last.

void NLAIAGENT::COperatorScript::getDebugString std::string &    const [virtual]
 

This is a Debug function, text is an character pointer to receive the debug text output, the debug text containe all think sensible to interset user.

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 91 of file operator_script.cpp.

References NLAIAGENT::CAgentScript::_AgentClass, NLAIAGENT::CAgentScript::_AgentManager, NLAISCRIPT::CAgentClass::getDebugString, NLAIAGENT::CStringType::getStr, NLAIAGENT::CIdMethod::Index, NLAIAGENT::CAgentScript::isMember, param, priority, r, NLAIC::IPointerGestion::release, NLAISCRIPT::CCallMethod::runOpCode, NLAISCRIPT::CCodeContext::Self, NLAISCRIPT::CCodeContext::Stack, NLAIC::stringGetBuild, t, and NLAIAGENT::tQueue.

void NLAIAGENT::COperatorScript::getFatherComponent IVarName  
 

sint32 NLAIAGENT::COperatorScript::getMethodIndexSize   const [virtual]
 

getMethodIndexSize define the nomber of method define in the class.

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 815 of file operator_script.cpp.

References fid_last.

tQueue NLAIAGENT::COperatorScript::getPrivateMember const IVarName  ,
const IVarName  ,
const IObjectIA  
const [virtual]
 

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 734 of file operator_script.cpp.

References fid_background, fid_exclusive, fid_getPriority, fid_isActivable, fid_isPaused, fid_modeachieve, fid_modemaintain, fid_order, fid_setPriority, NLAIAGENT::DigitalType::IdDigitalType, param, NLAIAGENT::tQueue, and NLAIC::CIdentType::VoidType.

const NLAIC::CIdentType & NLAIAGENT::COperatorScript::getType   const [virtual]
 

getType return a unique string how represente the class, it can be the name of the class.

This function is used for the sytem regstry class (see the definition of the template class Gen::CRegistry).

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 141 of file operator_script.cpp.

References NLAIAGENT::CAgentScript::getFactoryClass, NLAISCRIPT::IClassInterpret::getType, and IdOperatorScript.

Referenced by calcPriority, checkActivation, checkPause, checkPreconditions, execOnActivate, isExclusive, lookForGoals, onFailure, onSuccess, and run.

bool NLAIAGENT::COperatorScript::isEqual const IBasicObjectIA   a const [virtual]
 

Implementation of the isEqual of the IBasicObjectIA.

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 136 of file operator_script.cpp.

bool NLAIAGENT::COperatorScript::isExclusive  
 

Definition at line 820 of file operator_script.cpp.

References _Exclusive, and getType.

void NLAIAGENT::COperatorScript::linkGoalArgs NLAILOGIC::CGoal  
 

Binds the goal args to the variables of the operator (defined by the "Goal:" field in the script).

Definition at line 546 of file operator_script.cpp.

References NLAIAGENT::CAgentScript::_AgentClass, NLAILOGIC::CGoal::getArgs, and NLAIAGENT::CAgentScript::setStaticMember.

Referenced by checkActivation, and run.

void NLAIAGENT::COperatorScript::load NLMISC::IStream   is [virtual]
 

Load the class from a stream.

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 155 of file operator_script.cpp.

void NLAIAGENT::COperatorScript::lookForGoals  
 

Definition at line 338 of file operator_script.cpp.

References _ActivatedGoals, NLAIAGENT::CAgentScript::_AgentClass, NLAIAGENT::CAgentScript::CAgentScript, NLAIAGENT::IConnectIA::getParent, and getType.

Referenced by checkActivation.

const NLAIC::IBasicType * NLAIAGENT::COperatorScript::newInstance   const [virtual]
 

This function allow a new instance, that mean that the class is a class factory.

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 77 of file operator_script.cpp.

References NLAIAGENT::CAgentScript::_AgentClass, NLAISCRIPT::CAgentClass::buildNewInstance, and COperatorScript.

void NLAIAGENT::COperatorScript::onFailure IObjectIA   [virtual]
 

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 573 of file operator_script.cpp.

References _CurrentGoal, getType, NLAILOGIC::CGoal::operatorFailure, and NLAIAGENT::CActorScript::unActivate.

void NLAIAGENT::COperatorScript::onKill IConnectIA   a [virtual]
 

Called by an agent who's destroyed te remove its references.

Reimplemented from NLAIAGENT::CAgentScript.

Definition at line 66 of file operator_script.cpp.

void NLAIAGENT::COperatorScript::onSuccess IObjectIA   msg [virtual]
 

Dependencies failure and success notification These functions are called by other operators or goals who failed or succeeded.

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 560 of file operator_script.cpp.

References _CurrentGoal, getType, NLAILOGIC::CGoal::operatorSuccess, and NLAIAGENT::CActorScript::unActivate.

void NLAIAGENT::COperatorScript::order NLAIAGENT::IBaseGroupType  ,
NLAILOGIC::IGoal  
[virtual]
 

Definition at line 863 of file operator_script.cpp.

References NLAIAGENT::CActorScript::_NbAnswers, NLAIC::IBasicType::clone, NLAIAGENT::IBaseGroupType::getFront, NLAIAGENT::IMessageBase::PAchieve, NLAIAGENT::IBaseGroupType::popFront, NLAIAGENT::CProxyAgentMail::sendMessage, NLAIAGENT::IListBasicManager::set, NLAIAGENT::IMessageBase::setPerformatif, NLAIAGENT::IMessageBase::setSender, NLAILOGIC::IGoal::setSender, and NLAIAGENT::IBaseGroupType::size.

Referenced by runMethodBase.

float NLAIAGENT::COperatorScript::priority   const [virtual]
 

Priority of the operator.

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 422 of file operator_script.cpp.

References _Priority.

Referenced by getDebugString, and runMethodBase.

void NLAIAGENT::COperatorScript::processMessages NLAIAGENT::IMessageBase   msg,
NLAIAGENT::IObjectIA   o
[virtual]
 

Reimplemented from NLAIAGENT::CAgentScript.

Definition at line 880 of file operator_script.cpp.

References NLAIC::IBasicType::getType.

std::list< NLAILOGIC::CFact * > * NLAIAGENT::COperatorScript::propagate std::list< NLAILOGIC::CFact * > &   
 

Definition at line 473 of file operator_script.cpp.

References NLAIAGENT::CAgentScript::_AgentClass, buildFromVars, NLAISCRIPT::COperatorClass::getAssertPos, NLAISCRIPT::COperatorClass::getConcs, NLAISCRIPT::COperatorClass::getConds, NLAILOGIC::CFact::getDebugString, NLAISCRIPT::COperatorClass::getPosVarsConcs, NLAISCRIPT::COperatorClass::getPosVarsConds, propagate, r, and size.

std::list< NLAILOGIC::CValueSet * > * NLAIAGENT::COperatorScript::propagate std::list< NLAILOGIC::CValueSet * > &   ,
NLAILOGIC::CValueSet  ,
std::vector< sint32 > &   
 

Definition at line 438 of file operator_script.cpp.

References NLAISCRIPT::l, NLAILOGIC::CValueSet::undefined, and unifyLiaison.

Referenced by propagate.

const IObjectIA::CProcessResult & NLAIAGENT::COperatorScript::run   [virtual]
 

The work of an agent.

Typically agent process child message, process its message and run its activity.

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 162 of file operator_script.cpp.

References NLAIAGENT::CAgentScript::_AgentClass, _CurrentGoal, _CyclesBeforeUpdate, _IsActivable, NLAIAGENT::CActorScript::_IsActivated, NLAIAGENT::CActorScript::_IsPaused, NLAIAGENT::CActorScript::activate, NLAILOGIC::CGoal::addSuccessor, calcPriority, checkActivation, checkPause, execOnActivate, getType, NLAIAGENT::IBasicAgent::IBasicAgent, NLAILOGIC::IGoal::isSelected, linkGoalArgs, selectGoal, and NLAIAGENT::CActorScript::unActivate.

IObjectIA::CProcessResult NLAIAGENT::COperatorScript::runMethodBase int    index,
IObjectIA  
[virtual]
 

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 659 of file operator_script.cpp.

References _Exclusive, _IsActivable, NLAIAGENT::CActorScript::_IsPaused, _Maintain, _Priority, fid_background, fid_exclusive, fid_getPriority, fid_isActivable, fid_isPaused, fid_modeachieve, fid_modemaintain, fid_order, fid_setPriority, index, order, params, priority, and r.

IObjectIA::CProcessResult NLAIAGENT::COperatorScript::runMethodBase int    heritance,
int    index,
IObjectIA  
[virtual]
 

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 588 of file operator_script.cpp.

References _Exclusive, _IsActivable, NLAIAGENT::CActorScript::_IsPaused, _Maintain, fid_achieve, fid_background, fid_exclusive, fid_getPriority, fid_isActivable, fid_isPaused, fid_modeachieve, fid_modemaintain, fid_order, fid_setPriority, NLAIAGENT::getValue, index, order, params, priority, r, and setPriority.

void NLAIAGENT::COperatorScript::save NLMISC::IStream   os [virtual]
 

Save the class in a stream.

Reimplemented from NLAIAGENT::CActorScript.

Definition at line 149 of file operator_script.cpp.

NLAILOGIC::CGoal * NLAIAGENT::COperatorScript::selectGoal   [virtual]
 

Selects a goal among the ones the operator can process.

Definition at line 285 of file operator_script.cpp.

References _ActivatedGoals.

Referenced by run.

void NLAIAGENT::COperatorScript::setPriority float    prio
 

Definition at line 888 of file operator_script.cpp.

References _BasePriority.

Referenced by NLAISCRIPT::COperatorClass::buildNewInstance, and runMethodBase.

NLAILOGIC::CValueSet * NLAIAGENT::COperatorScript::unifyLiaison const NLAILOGIC::CValueSet  ,
NLAILOGIC::CValueSet  ,
std::vector< sint32 > &   
 

Definition at line 533 of file operator_script.cpp.

References NLAILOGIC::CValueSet::unify.

Referenced by propagate.


Member Data Documentation

std::list<NLAILOGIC::CGoal *> NLAIAGENT::COperatorScript::_ActivatedGoals [private]
 

Definition at line 69 of file operator_script.h.

Referenced by checkActivation, lookForGoals, and selectGoal.

float NLAIAGENT::COperatorScript::_BasePriority [private]
 

Definition at line 74 of file operator_script.h.

Referenced by calcPriority, COperatorScript, and setPriority.

NLAILOGIC::CGoal* NLAIAGENT::COperatorScript::_CurrentGoal [private]
 

Definition at line 67 of file operator_script.h.

Referenced by cancel, checkActivation, checkPause, COperatorScript, onFailure, onSuccess, and run.

sint32 NLAIAGENT::COperatorScript::_CyclesBeforeUpdate [private]
 

Definition at line 68 of file operator_script.h.

Referenced by COperatorScript, and run.

bool NLAIAGENT::COperatorScript::_Exclusive [private]
 

Definition at line 71 of file operator_script.h.

Referenced by COperatorScript, isExclusive, and runMethodBase.

NLAILOGIC::CFactBase* NLAIAGENT::COperatorScript::_FactBase [private]
 

Definition at line 66 of file operator_script.h.

bool NLAIAGENT::COperatorScript::_IsActivable [private]
 

Definition at line 70 of file operator_script.h.

Referenced by calcPriority, COperatorScript, run, and runMethodBase.

bool NLAIAGENT::COperatorScript::_Maintain [private]
 

Definition at line 72 of file operator_script.h.

Referenced by checkActivation, COperatorScript, and runMethodBase.

float NLAIAGENT::COperatorScript::_Priority [private]
 

Definition at line 73 of file operator_script.h.

Referenced by calcPriority, COperatorScript, priority, and runMethodBase.

std::vector<NLAIAGENT::IObjectIA *> NLAIAGENT::COperatorScript::_VarValues [private]
 

Definition at line 65 of file operator_script.h.

Referenced by ~COperatorScript.

const NLAIC::CIdentType COperatorScript::IdOperatorScript [static]
 

Referenced by NLAISCRIPT::COperatorClass::COperatorClass, and getType.


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