Classes | |
class | DistributedController |
A controller who has a notion of distribution A distributed controller only controls part of the simulation. More... | |
class | ControlParameterDuplique |
experimental : controlParameter for duplicated objects More... | |
class | DuplicatedObjectHandle |
in this implementation, a duplicated object handle is a reference object handle this means that event sent to a duplicated object aren't propoagated to other copies More... | |
class | IncomingSynchronisationMessage |
this is the abstract class for any sent synchronisation message used on a message passing distributed architecture. More... | |
class | LocalObjectHandle |
class | MirrorObjectHandle |
defines an object handle for mirors (ghosts) of reference objects More... | |
class | OutgoingSynchronisationMessage |
this is the abstract class for any sent synchronisation message used on a message passing distributed architecture. More... | |
class | ChangedControlParameterEventListener |
the base event listener for reacting to proposed changes to a control parameter implementing default behaviour the last suggested change arriving to the object is enacted More... | |
class | Event |
Base class for all events exchanged between simulation objects. More... | |
class | EventAssociationList |
the class used to implement pointer correpondance between associated events More... | |
class | EventCreator |
Class defining what a creator of an event is. More... | |
class | EventIdentifier |
Base class for all event identifiers. More... | |
class | EventListener |
The base class for event listener, wich enable automatic reaction on registred events. More... | |
class | EventListenerCallBack |
Untyped event listener calling an object's method to handle the event. More... | |
class | SystemEventIdentifier |
base class for all event identifiers that require special handling by the receiver's controler this class also defines statically all event Identifiers More... | |
class | ValuedEvent |
An event that carries an associated value. More... | |
class | ValuedEventListenerCallBack |
Valued event listener which calling a object's method to handle the event. More... | |
class | EmptyFifoException |
The exception raised when an empty Fifo is read. More... | |
class | Exception |
Base class for all exceptions generated by an execution of OpenMASK. More... | |
class | InvalidOutputException |
class | NoMemoryAvailableException |
Exception throwed by memory managers when they are unable to allocate memory. More... | |
class | UnallowedOverloadingException |
exception throwed when an attribute is redefined with the same name and a different type More... | |
class | UnInitialisedAttributeException |
abstract exception throwed when an uninitialised attribute is read More... | |
class | UnInitialisedControlParameterException |
exception throwed when an uninitialised control parameter is read More... | |
class | UnInitialisedOutputException |
exception to throwed when an uninitialized output is read More... | |
class | UserException |
Base class for all exceptions generated outside the OpenMASK kernel. More... | |
class | IAttributeBaseT |
Attribute interface. More... | |
class | IAttributeT |
Attribute interface. More... | |
class | AttributeT |
Attribute with encapsulated value for types that are not sons of OMKType. More... | |
class | AttributeTypeT |
Attribute with encapsulated value for types that are sons of OMKType. More... | |
class | AttributeAccT |
Attribute with indirect access to value for types that are not sons of OMKType. More... | |
class | AttributeAccTypeT |
Attribute with indirect access to value for types that are sons of OMKType. More... | |
class | AttributeFctT |
Attribute with indirect access to value for types that are not sons of OMKType. More... | |
class | AttributeFctTypeT |
Attribute with indirect access to value for types that are not sons of OMKType. More... | |
class | ContainerExtension |
An extension which is a container for other extensions. More... | |
class | DuplicatedAttributeExtension |
Extension to add an offset to a Transform attribute of the object. More... | |
class | DuplicatedAttributeExtensionCreatorT |
class | EventTypeForAttributeT |
Attribute valued event type. More... | |
class | Extension |
Ancestor of every extension of extensible simulated objects. More... | |
class | ExtensionT |
Specialisation of Extension which references the extension owner. More... | |
class | ExtensionCreator |
Ancestor of every Extension creator class used by the PrototypeFactory. More... | |
class | ExtensionCreatorT |
Extension creator class to be parametrized by the descendants of Extension. More... | |
class | ExtensionManager |
Ancestor of classes which manage extensions. More... | |
class | ExtensionOfExtensionCreatorEvent |
Extension to create extension by event. More... | |
class | IAccessorT |
The interface class for accessor to a simple value. More... | |
class | AccessorT |
The implementation class for accessor to encapsuled value. More... | |
class | AccessorFctT |
The implementation class for accessor through accessors method of an associated object. More... | |
class | AccessorAccT |
The implementation class for accessor through accessors method of an associated object. More... | |
class | IAttribute |
Attribute interface. More... | |
class | PluginsLoaderClass |
This class is used in the singleton PluginsLoader. More... | |
class | AbstractInput |
class AbstractInput More... | |
class | ControlParameter |
a typed control parameter More... | |
class | GenericControlParameter |
a genric control parameter. More... | |
class | Input |
An input for a simulation object. More... | |
class | InputAlias |
Class InputAlias. More... | |
class | InputConnectionEventListener |
the base event listener for reacting to proposed connections by objects other than the owner of the concerned input the last suggested connection arriving to the object is enacted More... | |
class | InputNT |
class InputNT defines what an input is, regardless of the encapsulated data type More... | |
class | KernelAttribute |
Base class for all attributes of a simulated object. More... | |
class | Output |
An output of a certain type for a simulated object. More... | |
class | OutputAlias |
class | OutputNT |
abstract definition of an output. More... | |
class | AbstractFifo |
Abstract Fifo used to store attribute history information For thread safety reasons, this class should ensure that multiple reads and one write can be done in concurrent fashion and with coherant results. More... | |
class | Clock |
A clock to synchronize the time in simulation. More... | |
class | ConfigurationParameterDescriptor |
a generic abstract class describing simulated object configuration parameters More... | |
class | Controller |
Defining what a controller is. More... | |
class | ControllerCreator |
base class for all instance creators. More... | |
class | CurrentActiveObject |
class CurrentActiveObject. More... | |
class | DoubleList |
to lists, one being a subset of the other This class is used to store the list of object to activate at a given simulation step (active objects list), as well as the list of suspended objects which would be activated at that given simulation step if they weren't suspended (super list). More... | |
class | DoubleListElement |
An element of a OMKDoubleList}. More... | |
class | ExtensibleSimulatedObject |
Ancestor of every extensible objects. More... | |
class | Fifo |
a Fifo to store attribute history thread safety : provided no reader tries to acces values with an offset greater than the numbre of values returned by getNumberOfPresentValues, multiple reads can take place concurrently with one write. More... | |
class | Flowable |
base class for insertion and extraction to and from streams More... | |
class | FrameScheduler |
the basic frame scheduler, where each scheduled object is queued on the appropriate frame for multifrequential execution More... | |
class | KernelObjectAbstractFactory |
the factory used to create correct attributes depending on the controller More... | |
class | KernelObjectClassicFactory |
OMKKernelObjectClassicFactory. More... | |
class | MultipleConfigurationParameter |
class MultipleConfigurationParameter : stores multiple configuration parameters. More... | |
class | Name |
Class for naming things in Mask. More... | |
class | NameServer |
Defines a name server for OMKNames. More... | |
class | NameToPointerMap |
Specialised map to keep track of named objects. More... | |
class | ObjectDescriptor |
object of this class are used to store the description of simulated object, with data meaningfull for object outside the kernel. More... | |
class | ObjectHandle |
An object handle is the data structure used by controllers to access simulated objects. More... | |
class | Packable |
class | ParametersAccessor |
Provide some accessors for configuration parameters. More... | |
class | ReferenceObjectHandle |
Defining an reference object handle. More... | |
class | Scheduler |
Abstract class encapsulating all the scheduling functionnality. More... | |
class | IServiceRootAccess |
class | ServiceRootAccess |
Service to get the simulation root node. More... | |
class | SignalDispatcher |
this class implements signal dispatching More... | |
class | SimulatedObject |
This is the class defining what a object or entity is like in Mask. More... | |
class | SimulatedObjectCreator |
Ancestor of every simulated object creator class used by the PrototypeFactory. More... | |
class | SimulatedObjectCreatorT |
Simulated object creator class to be parametrised by the descendants of SimulatedObject. More... | |
class | SynchronisationMessage |
class defining the common markers between synchronisation messages More... | |
class | TracerIdTmp |
A class to activate temporarily an id. More... | |
class | UniqueConfigurationParameter |
class to describe one unique parameter, represented as a string More... | |
class | Process |
How the distributed kernel for a message passing architecture sees processes. More... | |
class | PvmCentralNameServer |
a central name servers for the PVm version of OpenMASK More... | |
class | PvmController |
Class defining a local controller for a pvm session. More... | |
class | PvmControllerCreator |
a generic instance creator. More... | |
class | PvmDuplicatedObjectHandle |
An object handle for duplicated objects. More... | |
class | PvmException |
class | PvmIncomingMessage |
Defining a received message for a message passing architecture. More... | |
class | PvmLocalObjectHandle |
An object handle for duplicated objects. More... | |
class | PvmMessage |
Defining a message for a message passing virtual machine. More... | |
class | PvmMirrorObjectHandle |
defines an object handle for mirors (ghosts) of reference objects only for pvm More... | |
class | PvmMulticastMessage |
class refining the pvm outgoing message for a send with any number of recipients More... | |
class | PvmNameServer |
a name server for pvm. More... | |
class | PvmOutgoingMessage |
defining a sent message for a message passing architecture. More... | |
class | PvmReferenceObjectHandle |
Defines an reference object handle for pvm controllers. More... | |
class | PvmSvm |
class encapsulating the PVM virtual machine More... | |
class | PvmSvmLink |
a Pvm communication chanel. More... | |
class | PvmUnicastMessage |
refine the Pvm outgoing message with a send to only one destination site. More... | |
class | Svm |
Defines an abstract message passing virtual machine. More... | |
class | SvmLink |
defines a communication chanel More... | |
class | IAttributeAnimatorT |
Attribute for animator interface. More... | |
class | AttributeAnimatorT |
Attribute with encapsulated value for types that are not sons of OMKType. More... | |
class | AttributeAnimatorTypeT |
Attribute with encapsulated value for types that are sons of OMKType. More... | |
class | AttributeAnimatorAccT |
Attribute with indirect access to value for types that are not sons of OMKType. More... | |
class | AttributeAnimatorAccTypeT |
Attribute with indirect access to value for types that are sons of OMKType. More... | |
class | AttributeAnimatorFctT |
Attribute with indirect access to value for types that are not sons of OMKType. More... | |
class | AttributeAnimatorFctTypeT |
Attribute with indirect access to value for types that are not sons of OMKType. More... | |
class | EventSignalEmitterUtil |
Base class to emit an event. More... | |
class | ValuedEventSignalEmitterUtilT |
Base class to emit a valued event. More... | |
class | MultiValuedEventSignalEmitterUtilT |
Base class to emit a valued event. More... | |
class | NotAttributeExtension |
This extension add a boolean attribute which is the not of an other boolean attribute of the object. More... | |
class | PreOffsetExtension |
Extension to add an offset to a Transform attribute of the object. More... | |
class | PostOffsetExtension |
class | TriggerContainerExtension |
An extension which is a container for other extensions. More... | |
class | MultiTriggerContainerExtension |
An extension which is a container for other extensions. More... | |
class | TriggerEmitterExtension |
Extension to emit an event on a trigger front. More... | |
class | TriggerEmitterExtensionT |
Extension to emit a valued event on a trigger front. More... | |
class | MultiTriggerEmitterExtensionT |
Extension to emit a valued event on a trigger front. More... | |
class | DistanceToExtension |
Calculates a distance to a target. More... | |
class | TriggerBaseExtension |
Base class for trigger. More... | |
class | TriggerAttributeExtension |
A trigger which sets a boolean attribute to true if the distance between the object and the target is less than the thresold. More... | |
class | TriggerExtension |
A trigger which adds a boolean attribute which is set to true if the distance between the object and the target is less than the thresold. More... | |
class | BasicHumano |
Base class for humano simulated objects. More... | |
class | FixedPoint |
This Simulated object give a position in the space. More... | |
class | HumanoPlayer |
Humano simulated objects which replays a sequence read from a file. More... | |
class | HumanoRecorder |
This Simulated object defines a position which moves in the space. More... | |
class | MovingHumano |
This simulated object defines a humano which gives a posture attribute to animate its associated avatars through animators. More... | |
class | Orbit |
This Simulated object defines a position which moves in the space. More... | |
class | SimplePoint |
This Simulated object give a position in the space. More... | |
class | StaticHumano |
This Simulated object defines a position which moves in the space. More... | |
class | Tracker |
This Simulated object defines a position which moves in the space. More... | |
class | Trajectory |
This Simulated object defines a position which moves in the space. More... | |
class | GroundExtension |
class | GroundService |
class | MKMHeadToTaskExtension |
class | MKMHumano |
This Simulated object defines a position which moves in the space. More... | |
class | MKMMotionTaskExtension |
class | MKMMoveToTaskExtension |
Namespaces | |
namespace | EventId |
namespace | Iii |
namespace | Inp |
namespace | Type |
Namespace of the interactor/inspector/interactive objects. | |
namespace | Vis |
Typedefs | |
typedef OBT::Singleton< OBT::PrototypeFactory< OMK::Name, ExtensionCreator > > | ExtensionFactory |
The factory of the extension. | |
typedef OBT::Singleton< PluginsLoaderClass > | PluginsLoader |
This class is the singleton of the class PluginsLoaderClass. | |
typedef int | Frequency |
typedef long | Date |
typedef OBT::Singleton< OBT::PrototypeFactory< OMK::Name, SimulatedObjectCreator > > | SimulatedObjectFactory |
The factory of the simulated object. | |
typedef OBT::Singleton< OBT::PrototypeFactory< OMK::Name, Iii::AccessRuleCreator > > | AccessRuleFactory |
The factory of the access rules. | |
typedef OBT::Singleton< OBT::PrototypeFactory< OMK::Name, Iii::ConnectorCreator > > | ConnectorFactory |
The factory of the connectors. | |
typedef OBT::Singleton< OBT::PrototypeFactory< std::pair< std::string, std::string >, Iii::InteractorOutputCreator > > | InteractorOutputFactory |
The factory of the interactor output. | |
typedef TriggerEmitterExtensionT< int, OMK::Type::IntType > | TriggerIntEmitterExtension |
typedef TriggerEmitterExtensionT< bool, OMK::Type::BoolType > | TriggerBoolEmitterExtension |
typedef TriggerEmitterExtensionT< Name, Name > | TriggerNameEmitterExtension |
typedef TriggerEmitterExtensionT< OMK::Type::StringType, OMK::Type::StringType > | TriggerStringEmitterExtension |
typedef TriggerEmitterExtensionT< float, OMK::Type::FloatType > | TriggerFloatEmitterExtension |
typedef TriggerEmitterExtensionT< OMK::Type::Transform, OMK::Type::TransformType > | TriggerTransformEmitterExtension |
typedef TriggerEmitterExtensionT< std::pair< OMK::Name, OMK::Name >, OMK::Type::SimpleTypeT< std::pair< OMK::Name, OMK::Name > > > | TriggerConnectEmitterExtension |
typedef MultiTriggerEmitterExtensionT< int, OMK::Type::IntType > | MultiTriggerIntEmitterExtension |
typedef MultiTriggerEmitterExtensionT< bool, OMK::Type::BoolType > | MultiTriggerBoolEmitterExtension |
typedef MultiTriggerEmitterExtensionT< Name, Name > | MultiTriggerNameEmitterExtension |
typedef MultiTriggerEmitterExtensionT< OMK::Type::StringType, OMK::Type::StringType > | MultiTriggerStringEmitterExtension |
typedef MultiTriggerEmitterExtensionT< float, OMK::Type::FloatType > | MultiTriggerFloatEmitterExtension |
typedef MultiTriggerEmitterExtensionT< OMK::Type::Transform, OMK::Type::TransformType > | MultiTriggerTransformEmitterExtension |
typedef MultiTriggerEmitterExtensionT< std::pair< OMK::Name, OMK::Name >, OMK::Type::SimpleTypeT< std::pair< OMK::Name, OMK::Name > > > | MultiTriggerConnectEmitterExtension |
Enumerations | |
enum | RequestType { SynchronisationMessage, InitialValuesMessage, Registration, CancelRegistration, GET_ALL_PARAM, GET_PARAM, EventReceived, RegisterForSignal, CancelRegistrationForSignal } |
Functions | |
void | printTabToStream (std::ostream &out, int nbSpaces) |
print nbSpaces to out | |
bool | operator< (const Name &premier, const Name &second) |
bool | operator> (const Name &premier, const Name &second) |
bool | operator<= (const Name &premier, const Name &second) |
bool | operator>= (const Name &premier, const Name &second) |
bool | operator== (const NameServer &source1, const NameServer &source2) |
std::string | getAttrOwnerMsg (const IAttribute *attr) |
template<> | |
OMKIII_API bool | ParametersAccessor::getValue< OMK::Type::AccessibleParameterPrm > (const ConfigurationParameterDescriptor *nodeValue, OMK::Type::AccessibleParameterPrm &value, std::string &errorStr) |
ParametersAccessor specific implementation for AccessibleParameterPrm. | |
template<> | |
OMKIII_API bool | ParametersAccessor::getValue< OMK::Type::AccessGroup > (const ConfigurationParameterDescriptor *nodeValue, OMK::Type::AccessGroup &value, std::string &errorStr) |
ParametersAccessor specific implementation for AccessGroup. | |
template<> | |
OMKIII_API bool | ParametersAccessor::getValue< OMK::Type::TwoIdsPrm > (const ConfigurationParameterDescriptor *nodeValue, OMK::Type::TwoIdsPrm &value, std::string &errorStr) |
ParametersAccessor specific implementation for TwoIdsPrm. | |
template<> | |
OMKIII_API bool | ParametersAccessor::getValue< OMK::Type::ControlTakeOverPrm > (const ConfigurationParameterDescriptor *nodeValue, OMK::Type::ControlTakeOverPrm &value, std::string &errorStr) |
ParametersAccessor specific implementation for ControlTakeOverPrm. | |
registration loaders | |
void | loadSignalRegistrationParameters (const OMK::ConfigurationParameterDescriptor *node, OMK::SimulatedObject *owner, const OMK::EventIdentifier &eventId, const std::string &cfgName) |
Registers for the signal eventId according to the configuration node informations named cfgName. | |
template<class CallerClass, class ListenerCallBack> | |
ListenerCallBack * | createListenerAndLoadSignalRegistrationParameters (const OMK::ConfigurationParameterDescriptor *node, OMK::SimulatedObject *owner, CallerClass *callerInstance, typename ListenerCallBack::CallBackFct callBackFct, const OMK::EventIdentifier &eventId, const std::string &cfgName) |
Creates the listener and register according to the configuration node informations. | |
template<class CallerClass, class ListenerCallBack> | |
ListenerCallBack * | createListenerAndLoadSignalRegistrationParameters (const OMK::ConfigurationParameterDescriptor *node, CallerClass *callerInstance, typename ListenerCallBack::CallBackFct callBackFct, const OMK::EventIdentifier &eventId, const std::string &cfgName) |
Creates the listener and register according to the configuration node informations. | |
functions and object-function to manipulate names | |
bool | operator!= (const Name &first, const Name &second) |
compare. | |
Comparasion of 2 reference object handles | |
order between two referenceObjectHandles is execution order in a simulation step | |
bool | operator< (const ReferenceObjectHandle &, const ReferenceObjectHandle &) |
< | |
bool | operator<= (const ReferenceObjectHandle &, const ReferenceObjectHandle &) |
<= | |
bool | operator> (const ReferenceObjectHandle &, const ReferenceObjectHandle &) |
> | |
bool | operator>= (const ReferenceObjectHandle &, const ReferenceObjectHandle &) |
>= | |
Message formatting functions. | |
Use these functions to format the message. | |
std::string | debugMsg (const SimulatedObject *obj) |
Message formatting for simulated object. | |
std::string | debugMsg (const Extension *ext, ExtensibleSimulatedObject *obj=0) |
Message formatting for extension. | |
std::string | debugMsg (const IAttribute *attr) |
Message formatting for attribute. | |
Variables | |
OMK_API | Exception |
typedef long OMK::Date |
Definition at line 24 of file OMKBasicTypes.h.
typedef int OMK::Frequency |
Definition at line 23 of file OMKBasicTypes.h.
typedef OBT::Singleton< OBT::PrototypeFactory< std::pair< std::string, std::string >, Iii::InteractorOutputCreator > > OMK::InteractorOutputFactory |
typedef MultiTriggerEmitterExtensionT< bool, OMK::Type::BoolType > OMK::MultiTriggerBoolEmitterExtension |
Definition at line 316 of file OMKTriggerEmitterExtension.h.
typedef MultiTriggerEmitterExtensionT< std::pair< OMK::Name, OMK::Name >, OMK::Type::SimpleTypeT< std::pair< OMK::Name, OMK::Name > > > OMK::MultiTriggerConnectEmitterExtension |
Definition at line 322 of file OMKTriggerEmitterExtension.h.
typedef MultiTriggerEmitterExtensionT< float, OMK::Type::FloatType > OMK::MultiTriggerFloatEmitterExtension |
Definition at line 319 of file OMKTriggerEmitterExtension.h.
typedef MultiTriggerEmitterExtensionT< int, OMK::Type::IntType > OMK::MultiTriggerIntEmitterExtension |
Definition at line 315 of file OMKTriggerEmitterExtension.h.
Definition at line 317 of file OMKTriggerEmitterExtension.h.
typedef MultiTriggerEmitterExtensionT< OMK::Type::StringType, OMK::Type::StringType > OMK::MultiTriggerStringEmitterExtension |
Definition at line 318 of file OMKTriggerEmitterExtension.h.
typedef MultiTriggerEmitterExtensionT< OMK::Type::Transform, OMK::Type::TransformType > OMK::MultiTriggerTransformEmitterExtension |
Definition at line 320 of file OMKTriggerEmitterExtension.h.
typedef OBT::Singleton< PluginsLoaderClass > OMK::PluginsLoader |
This class is the singleton of the class PluginsLoaderClass.
OMK::PluginsLoader::getInstance().init( controller ) ;
Definition at line 50 of file OMKPluginsLoader.h.
typedef OBT::Singleton< OBT::PrototypeFactory< OMK::Name, SimulatedObjectCreator > > OMK::SimulatedObjectFactory |
The factory of the simulated object.
OMK::SimulatedObjectFactory::getInstance().registerCreator < OMK::SimulatedObjectCreatorT< MyObject > >( MyObject::s_id ) ;
MyObject( Controller & ctrl, const ObjectDescriptor & objectDescription )
Name MyObject::s_id( "MyObject" ) ;
Definition at line 772 of file OMKSimulatedObject.h.
Definition at line 181 of file OMKTriggerEmitterExtension.h.
typedef TriggerEmitterExtensionT< std::pair< OMK::Name, OMK::Name >, OMK::Type::SimpleTypeT< std::pair< OMK::Name, OMK::Name > > > OMK::TriggerConnectEmitterExtension |
Definition at line 187 of file OMKTriggerEmitterExtension.h.
typedef TriggerEmitterExtensionT< float, OMK::Type::FloatType > OMK::TriggerFloatEmitterExtension |
Definition at line 184 of file OMKTriggerEmitterExtension.h.
Definition at line 180 of file OMKTriggerEmitterExtension.h.
Definition at line 182 of file OMKTriggerEmitterExtension.h.
typedef TriggerEmitterExtensionT< OMK::Type::StringType, OMK::Type::StringType > OMK::TriggerStringEmitterExtension |
Definition at line 183 of file OMKTriggerEmitterExtension.h.
typedef TriggerEmitterExtensionT< OMK::Type::Transform, OMK::Type::TransformType > OMK::TriggerTransformEmitterExtension |
Definition at line 185 of file OMKTriggerEmitterExtension.h.
enum OMK::RequestType |
SynchronisationMessage | |
InitialValuesMessage | |
Registration | |
CancelRegistration | |
GET_ALL_PARAM | |
GET_PARAM | |
EventReceived | |
RegisterForSignal | |
CancelRegistrationForSignal |
Definition at line 34 of file OMKObjectHandle.h.
00034 { 00035 SynchronisationMessage, 00036 InitialValuesMessage, 00037 Registration, 00038 CancelRegistration, 00039 GET_ALL_PARAM, 00040 GET_PARAM, 00041 EventReceived, 00042 RegisterForSignal, 00043 CancelRegistrationForSignal 00044 } RequestType;
ListenerCallBack* OMK::createListenerAndLoadSignalRegistrationParameters | ( | const OMK::ConfigurationParameterDescriptor * | node, | |
CallerClass * | callerInstance, | |||
typename ListenerCallBack::CallBackFct | callBackFct, | |||
const OMK::EventIdentifier & | eventId, | |||
const std::string & | cfgName | |||
) | [inline] |
Creates the listener and register according to the configuration node informations.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
CallerClass | the extensible simulated object class which is the owner of the call back method. | |
ListenerCallBack | the event listener class. | |
[in] | node | the configuration node where are the informations. |
[in] | callerInstance | a extensible simulated object which is the owner of the call back method. |
[in] | callBackFct | the call back method. |
[in] | eventId | the event id. |
[in] | cfgName | the name of the configuration parameters. |
#include "OMKSignalRegistrationLoader.h"
Definition at line 194 of file OMKSignalRegistrationLoader.h.
00198 { 00199 return createListenerAndLoadSignalRegistrationParameters< CallerClass, ListenerCallBack >( node, callerInstance, callerInstance, callBackFct, eventId, cfgName ) ; 00200 }
ListenerCallBack* OMK::createListenerAndLoadSignalRegistrationParameters | ( | const OMK::ConfigurationParameterDescriptor * | node, | |
OMK::SimulatedObject * | owner, | |||
CallerClass * | callerInstance, | |||
typename ListenerCallBack::CallBackFct | callBackFct, | |||
const OMK::EventIdentifier & | eventId, | |||
const std::string & | cfgName | |||
) | [inline] |
Creates the listener and register according to the configuration node informations.
CallerClass | the extensible simulated object class which is the owner of the call back method. | |
ListenerCallBack | The event listener class. | |
[in] | node | The configuration node where are the informations. |
[in] | owner | The owner of the event listener which the registration are made. |
[in] | callerInstance | The class which defines the call back method. |
[in] | callBackFct | Tthe call back method. |
[in] | eventId | The event id. |
[in] | cfgName | The name of the configuration parameters. |
The event listener must be a OMK::ValuedEventListenerCallBack or a OMK::EventListenerCallBack.
Example of use
Declare your call back methods in the extensible simulated object or extension declaration header file :
bool myValuedCallBackMethod( OMK::ValuedEvent< OMK::Type::IntType >* e ) ; bool myCallBackMethod( OMK::Event* e ) ;
In the loadParameters of the object, add the call to the overload function :
bool MyObject::loadParameters( const OMK::ConfigurationParameterDescriptor * node ) { bool ok = true ; OMK::EventListener* eventListener = OMK::createListenerAndLoadSignalRegistrationParameters < MyObject, OMK::ValuedEventListenerCallBack< MyObject, OMK::Type::IntType > > ( node, this, &MyObject::myValuedCallBackMethod, ValuedEventId, "ValuedEventRegistration" ) ; ok = ok && eventListener ; eventListener = OMK::createListenerAndLoadSignalRegistrationParameters < MyObject, OMK::EventListenerCallBack< MyObject > > ( node, this, &MyObject::myCallBackMethod, EventId, "EventRegistration" ) ; ok = ok && eventListener ; ... return ok ; }
bool MyExtension::loadExtensionParameters( const OMK::ConfigurationParameterDescriptor * node ) { bool ok = true ; OMK::EventListener* eventListener = OMK::createListenerAndLoadSignalRegistrationParameters < MyExtension, OMK::ValuedEventListenerCallBack< MyExtension, OMK::Type::IntType > > ( node, _owner, this, &MyExtension::myValuedCallBackMethod, ValuedEventId, "ValuedEventRegistration" ) ; ok = ok && eventListener ; eventListener = OMK::createListenerAndLoadSignalRegistrationParameters < MyExtension, OMK::EventListenerCallBack< MyExtension > > ( node, _owner, this, &MyExtension::myCallBackMethod, EventId, "EventRegistration" ) ; ok = ok && eventListener ; ... return ok ; }
You must include the inline file to use this method :
#include "OMKSignalRegistrationLoader.h"
Definition at line 167 of file OMKSignalRegistrationLoader.h.
References loadSignalRegistrationParameters().
00171 { 00172 ListenerCallBack* eventListener = new ListenerCallBack( *owner, callerInstance, callBackFct, eventId ) ; 00173 loadSignalRegistrationParameters( node, owner, eventId, cfgName ) ; 00174 return eventListener ; 00175 }
std::string OMK_API OMK::debugMsg | ( | const IAttribute * | attr | ) |
Message formatting for attribute.
Definition at line 75 of file OMKTracer.cpp.
References getAttrOwnerMsg(), OMK::IAttribute::getId(), OMK::Name::getString(), and OMK::IAttribute::getTypeId().
00076 { 00077 std::ostringstream txt ; 00078 txt << "attribute \"" << (attr ? attr->getId().getString() : std::string( "null" ) ) 00079 << "\" (" << (attr ? attr->getTypeId().name() : "unknow" ) << " type)" << getAttrOwnerMsg( attr ) ; 00080 return txt.str() ; 00081 }
std::string OMK_API OMK::debugMsg | ( | const Extension * | ext, | |
ExtensibleSimulatedObject * | obj = 0 | |||
) |
Message formatting for extension.
Definition at line 62 of file OMKTracer.cpp.
References debugMsg(), OMK::Extension::getId(), and OMK::Name::getString().
00063 { 00064 std::ostringstream txt ; 00065 txt << "extension \"" << (ext ? ext->getId().getString() : std::string( "null" ) ) 00066 << "\"" ; 00067 if( obj ) 00068 txt << " of the " << OMK::debugMsg( obj ) ; 00069 else 00070 txt << " not include in an object" ; 00071 return txt.str() ; 00072 }
std::string OMK_API OMK::debugMsg | ( | const SimulatedObject * | obj | ) |
Message formatting for simulated object.
Definition at line 53 of file OMKTracer.cpp.
References OMK::ObjectDescriptor::getClass(), OMK::SimulatedObject::getName(), OMK::SimulatedObject::getObjectDescriptor(), and OMK::Name::getString().
Referenced by OMK::IAttribute::activateConnectByEvent(), OMK::IAttribute::activateGetByEvent(), OMK::IAttributeT< PrmType, ModelType, AccessorType >::activateSetByEvent(), OMK::IAttributeT< PrmType, ModelType, AccessorType >::activateSetByEventOf(), OMK::ExtensibleSimulatedObject::addAttribute(), OMK::SimulatedObject::addControlParameter(), OMK::SimulatedObject::addInput(), OMK::SimulatedObject::addInputAlias(), OMK::Inp::InputExtension::addListener(), OMK::SimulatedObject::addOutput(), OMK::SimulatedObject::addOutputAlias(), OMK::SimulatedObject::addSensitiveInput(), OMK::SimulatedObject::addSensitiveInputAlias(), OMK::SimulatedObject::addSensitiveNotifyingInput(), OMK::SimulatedObject::addSensitiveNotifyingInputAlias(), OMK::Iii::InteractorExtension::closeSessionWith(), OMK::ReferenceObjectHandle::compute(), OMK::OutputNT::connect(), OMK::Iii::SharedConnectorT< Type >::connect(), OMK::Iii::SimpleConnectorT< Type >::connect(), OMK::IAttribute::connectTo(), OMK::Iii::InteractorOutput::create(), OMK::ExtensionManager::createAndAddExtension(), debugMsg(), OMK::Iii::SharedConnectorT< Type >::disconnect(), OMK::Iii::SimpleConnectorT< Type >::disconnect(), OMK::ParametersAccessor::displayError(), OMK::ExtensionT< SimulatedObjectType >::ExtensionT(), getAttrOwnerMsg(), OMK::ReferenceObjectHandle::init(), OMK::ExtensibleSimulatedObject::init(), OMK::Type::AddVisualObjectPrm::innerParametersLoader(), OMK::Inp::AddInputListenerPrm::innerParametersLoader(), OMK::Inp::AddInputKeyPrm::innerParametersLoader(), OMK::Type::AddAnimatorPrm::innerParametersLoader(), OMK::Iii::InteractorExtension::InteractorExtension(), OMK::Iii::JointInteractorExtension::loadExtensionParameters(), OMK::Iii::InteractorExtension::loadExtensionParameters(), OMK::IAttributeBaseT< PrmType >::loadParameters(), OMK::PreOffsetExtension::preComputeParameters(), OMK::Iii::InteractorExtension::processAccessibleParameters(), OMK::Iii::InteractiveExtension::processControlRelease(), OMK::Iii::InteractiveExtension::processControlUnfreeze(), OMK::ValuedEventListenerCallBack< CallerClass, PrmType >::processEvent(), OMK::ReferenceObjectHandle::processEvents(), OMK::ExtensibleSimulatedObject::removeAttribute(), OMK::ExtensionManager::removeExtension(), OMK::Inp::InputExtension::removeListener(), OMK::FrameScheduler::runStep(), and OMK::Iii::InteractorExtension::startSessionWith().
00054 { 00055 std::ostringstream txt ; 00056 txt << "object \"" << (obj ? obj->getName().getString() : std::string( "null" ) ) << "\" (class " 00057 << (obj ? obj->getObjectDescriptor().getClass().getString() : std::string( "unknow" ) ) << ")" ; 00058 return txt.str() ; 00059 }
std::string OMK_API OMK::getAttrOwnerMsg | ( | const IAttribute * | attr | ) |
Definition at line 84 of file OMKTracer.cpp.
References debugMsg(), and OMK::IAttribute::getOwner().
Referenced by debugMsg().
00085 { 00086 std::ostringstream txt ; 00087 if( attr ) 00088 { 00089 if( attr->getOwner() ) 00090 txt << " of " << debugMsg( attr->getOwner() ) ; 00091 else 00092 txt << " not include in an object" ; 00093 } 00094 return txt.str() ; 00095 }
void OMK::loadSignalRegistrationParameters | ( | const OMK::ConfigurationParameterDescriptor * | node, | |
OMK::SimulatedObject * | owner, | |||
const OMK::EventIdentifier & | eventId, | |||
const std::string & | cfgName | |||
) | [inline] |
Registers for the signal eventId according to the configuration node informations named cfgName.
[in] | node | The configuration node where are the informations. |
[in] | owner | The owner of the event listener which the registration are made. |
[in] | eventId | The event id. |
[in] | cfgName | The name of the configuration parameters. |
if true, the owner listens any broadcasted signals identified by eventId; if a list of emitters id is given, the owner listens only the signals that coming from those emitters; if false or if the configuration parameter doesn't exist nothing is done.
You can read such configuration
UserParams { ... ListenedFooSignal on ListenedMySignal off ListenedSomeSignal ["FirstEmitterId" "SecondEmitterId"] ListenedTriggerSignal ["Trigger"] ... }
bool MyObject::loadParameters( const OMK::ConfigurationParameterDescriptor * node ) { bool ok = true ; ... loadSignalRegistrationParameters( node, this, FooEventId, "ListenedFooSignal" ) ; loadSignalRegistrationParameters( node, this, MyEventId, "ListenedMySignal" ) ; loadSignalRegistrationParameters( node, this, SomeEventId, "ListenedSomeSignal" ) ; loadSignalRegistrationParameters( node, this, TriggerEventId, "ListenedTriggerSignal" ) ; ... return ok ; }
If you want to create the listener use OMK::createListenerAndLoadSignalRegistrationParameters
You must include the inline file to use this method :
#include "OMKSignalRegistrationLoader.h"
Definition at line 79 of file OMKSignalRegistrationLoader.h.
References OMK::ParametersAccessor::get(), OMK::SimulatedObject::registerForSignal(), and OMK::SimulatedObject::registerForSignalBy().
Referenced by createListenerAndLoadSignalRegistrationParameters().
00081 { 00082 bool activate = false ; 00083 std::vector< OMK::Name > emitters ; 00084 if( OMK::ParametersAccessor::get( node, cfgName, activate ) && activate ) 00085 { 00086 owner->registerForSignal( eventId ) ; 00087 } 00088 else if( OMK::ParametersAccessor::get( node, cfgName, emitters ) ) 00089 { 00090 for( size_t i = 0 ; i < emitters.size() ; i++ ) owner->registerForSignalBy( eventId, emitters[ i ] ) ; 00091 } 00092 }
bool OMK::operator!= | ( | const Name & | first, | |
const Name & | second | |||
) | [inline] |
compare.
inlined because != is heavely used in the maps of the kernel
Definition at line 302 of file OMKName.h.
References OMK::Name::_identifier.
bool OMK::operator< | ( | const ReferenceObjectHandle & | un, | |
const ReferenceObjectHandle & | deux | |||
) |
<
Definition at line 192 of file OMKReferenceObjectHandle.cpp.
References OMK::ObjectHandle::_myObject, and OMK::SimulatedObject::getName().
00194 { 00195 return un._myObject. getObjectDescriptor ().getName()<deux._myObject. getObjectDescriptor ().getName(); 00196 }
Definition at line 191 of file OMKName.cpp.
References OMK::Name::_identifier.
00192 { 00193 return premier._identifier < second._identifier; 00194 }
bool OMK::operator<= | ( | const ReferenceObjectHandle & | un, | |
const ReferenceObjectHandle & | deux | |||
) |
<=
Definition at line 198 of file OMKReferenceObjectHandle.cpp.
References OMK::ObjectHandle::_myObject, OMK::ObjectDescriptor::getName(), and OMK::SimulatedObject::getObjectDescriptor().
00200 { 00201 return un._myObject.getObjectDescriptor ().getName()<=deux._myObject.getObjectDescriptor ().getName(); 00202 }
Definition at line 203 of file OMKName.cpp.
References OMK::Name::_identifier.
00204 { 00205 return premier._identifier <= second._identifier; 00206 }
bool OMK::operator== | ( | const NameServer & | source1, | |
const NameServer & | source2 | |||
) |
Definition at line 232 of file OMKNameServer.cpp.
References OMK::NameServer::getCanonicalRepresentation().
00233 { 00234 NameServer::CanonicalRepresentationType * canonicalRepresentation1 = source1.getCanonicalRepresentation() ; 00235 NameServer::CanonicalRepresentationType * canonicalRepresentation2 = source2.getCanonicalRepresentation() ; 00236 bool resul = *canonicalRepresentation1 == *canonicalRepresentation2 ; 00237 delete canonicalRepresentation1 ; 00238 delete canonicalRepresentation2 ; 00239 return resul ; 00240 }
bool OMK::operator> | ( | const ReferenceObjectHandle & | un, | |
const ReferenceObjectHandle & | deux | |||
) |
Definition at line 197 of file OMKName.cpp.
References OMK::Name::_identifier.
00198 { 00199 return premier._identifier > second._identifier; 00200 }
bool OMK::operator>= | ( | const ReferenceObjectHandle & | un, | |
const ReferenceObjectHandle & | deux | |||
) |
Definition at line 210 of file OMKName.cpp.
References OMK::Name::_identifier.
00211 { 00212 return premier._identifier >= second._identifier; 00213 }
OMKIII_API bool OMK::ParametersAccessor::getValue< OMK::Type::AccessGroup > | ( | const ConfigurationParameterDescriptor * | nodeValue, | |
OMK::Type::AccessGroup & | value, | |||
std::string & | errorStr | |||
) |
ParametersAccessor specific implementation for AccessGroup.
OMKIII_API bool OMK::ParametersAccessor::getValue< OMK::Type::AccessibleParameterPrm > | ( | const ConfigurationParameterDescriptor * | nodeValue, | |
OMK::Type::AccessibleParameterPrm & | value, | |||
std::string & | errorStr | |||
) |
ParametersAccessor specific implementation for AccessibleParameterPrm.
OMKIII_API bool OMK::ParametersAccessor::getValue< OMK::Type::ControlTakeOverPrm > | ( | const ConfigurationParameterDescriptor * | nodeValue, | |
OMK::Type::ControlTakeOverPrm & | value, | |||
std::string & | errorStr | |||
) |
ParametersAccessor specific implementation for ControlTakeOverPrm.
OMKIII_API bool OMK::ParametersAccessor::getValue< OMK::Type::TwoIdsPrm > | ( | const ConfigurationParameterDescriptor * | nodeValue, | |
OMK::Type::TwoIdsPrm & | value, | |||
std::string & | errorStr | |||
) |
ParametersAccessor specific implementation for TwoIdsPrm.
void OMK::printTabToStream | ( | std::ostream & | out, | |
int | nbSpaces | |||
) |
print nbSpaces to out
Definition at line 35 of file OMKConfigurationParameterDescriptor.cpp.
Referenced by OMK::ObjectDescriptor::printToStream(), and OMK::MultipleConfigurationParameter::printToStream().
class OMK_API OMK::Exception |
Definition at line 26 of file OMKException.h.
Referenced by OMK::Vis::VisualObjectCreator::operator()(), OMK::Iii::InteractorOutputCreator::operator()(), OMK::Inp::InputListenerCreator::operator()(), and OMK::Iii::ConnectorCreator::operator()().
Documentation generated on Mon Jun 9 11:46:01 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |