OMK::Type::AddVisualObjectPrm Class Reference

Event processed by the visualisation to add a animator to a visual object. More...

#include <OMKAddVisualObjectPrm.h>

Inheritance diagram for OMK::Type::AddVisualObjectPrm:

Inheritance graph
[legend]
Collaboration diagram for OMK::Type::AddVisualObjectPrm:

Collaboration graph
[legend]
List of all members.

Reset and loaders

virtual void resetDefaultValues ()
 Reset the default values of AddVisualObjectPrm.
virtual bool loadParameters (const ConfigurationParameterDescriptor *node, const std::string &prefix="", SimulatedObject *p=0)
 Configuration parameters loader of AddVisualObjectPrm.
bool innerParametersLoader (const ConfigurationParameterDescriptor *node, const std::string &prefix="", SimulatedObject *p=0)
 Protected loader, does not reset the default values.

Public Member Functions

Accessors to attributes.
void setObjectName (const Name &objectName)
 Set the objectName value of AddVisualObjectPrm.
const NamegetObjectName () const
 Return the objectName value of AddVisualObjectPrm.
void setClassId (const Name &classId)
 Set the classId value of AddVisualObjectPrm.
const NamegetClassId () const
 Return the classId value of AddVisualObjectPrm.
void setVisuName (const Name &VisuName)
 Set the VisuName value of AddVisualObjectPrm.
const NamegetVisuName () const
 Return the VisuName value of AddVisualObjectPrm.
void setConfigParam (const ConfigurationParameterDescriptor *configParam)
 Set the configParam value of AddVisualObjectPrm.
const ConfigurationParameterDescriptorgetConfigParam () const
 Return the configParam value of AddVisualObjectPrm.
Operators.
bool operator== (const AddVisualObjectPrm &ref) const
 Comparison operator for equality.
bool operator!= (const AddVisualObjectPrm &ref) const
 Comparison operator for difference.
AddVisualObjectPrmoperator= (const AddVisualObjectPrm &ref)
 Copy operator.
Packable, Flowable, OMKType interfaces.
virtual void insertInStream (std::ostream &=std::cout) const
 Insert datas in an output stream.
virtual void extract (std::istream &=std::cin)
 Extract datas from an input stream.
virtual void pack (OutgoingSynchronisationMessage &out) const
 Pack datas in the message.
virtual void unpack (IncomingSynchronisationMessage &in)
 Unpack datas from the message.
virtual PolatorNTcreatePolator ()
 Default polator creator.

Protected Member Functions

void _copy (const AddVisualObjectPrm &ref)
 Copy methods call by constructor and operator.

Protected Attributes

Datas
Name _objectName
 This member holds the ObjectName value of AddVisualObjectPrm.
Name _classId
 This member holds the ClassId value of AddVisualObjectPrm.
Name _visuName
 This member holds the VisuName value of AddVisualObjectPrm.
const ConfigurationParameterDescriptor_configParam
 This member holds the configParam value of AddVisualObjectPrm.

Detailed Description

Event processed by the visualisation to add a animator to a visual object.

Date:
generated the 2006-07-26 at 15:52:04
Module description :
Use it by derivation to add the necessary methods.
This type can be sent in an event to the visualisation to add a visual object.
Configuration parameters :

xxx is a prefix that you can add to call to loadParameters to differentiate parameters when two AddVisualObjectPrm are used in the same object, see examples.

Optional parameters
The following parameters are optional and if one is missing in the configuration parameters calls to loadParameters always return true and never display message.
Needed parameters
The following parameters are needed and if one is missing in the configuration parameters calls to loadParameters return false and display a message.
Configuration examples
There is two ways to get the configuration parameters in the tree, the one with a prefix and the hierarchical one. The second one is the better.

With prefix
The following sample of configuration parameters shows way with the prefix
 myObject
 {
   Class ObjectWhichUsesAddVisualObjectPrm
   Scheduling
   {
     Frequency 75
     Process processA
   }
   UserParams
   {
     // Optional parameters
     firstVisuName <Name>
     secondVisuName <Name>
     firstObjectName <Name>
     // Needed parameters
     firstClassId <int>
     secondClassId <int>

     //... other object parameters
   }
 }

To use these configuration parameters with prefix use the following codes:
In the header:
 class ObjectWhichUsesAddVisualObjectPrm : public SimulatedObject
 {
   //...
  protected:
   AddVisualObjectPrm _addVisualObjectPrm1 ;
   AddVisualObjectPrm _addVisualObjectPrm2 ;
 } ;
In the source:
 void ObjectWhichUsesAddVisualObjectPrm::init()
 {
   //...
   _addVisualObjectPrm1.loadParameters( getConfigurationParameters(), "first" ) ;
   _addVisualObjectPrm2.loadParameters( getConfigurationParameters(), "second" ) ;
 }

Hierarchical (better)
The hierarchical way is better because each node in the configuration tree create a name space. This avoids names conflicts with inherited parameters. It is easier to create configuration with multiple instances of AddVisualObjectPrm by copying pasting the node
The following sample of configuration parameters shows hierarchical way
 myObject
 {
   Class ObjectWhichUsesAddVisualObjectPrm
   Scheduling
   {
     Frequency 75
     Process processA
   }
   UserParams
   {
     firstAddVisualObjectPrm
     {
       // Optional parameters
       VisuName <Name>
       ObjectName <Name>
       // Needed parameters
       ClassId <int>
     }
     secondAddVisualObjectPrm
     {
       // Optional parameters
       VisuName <Name>
       ObjectName <Name>
       // Needed parameters
       ClassId <int>
     }
     //... other object parameters
   }
 }

To use these hierarchical configuration parameters use the following codes:
The header is the same and in the source:
 void ObjectWhichUsesAddVisualObjectPrm::init()
 {
   //...
   const ConfigurationParameterDescriptor* node = getConfigurationParameters();
   _addVisualObjectPrm1.loadParameters( node ? node->getSubDescriptorByName( "firstAddVisualObjectPrm"  ) : 0, "", this ) ;
   _addVisualObjectPrm2.loadParameters( node ? node->getSubDescriptorByName( "secondAddVisualObjectPrm" ) : 0, "", this ) ;
 }

Definition at line 158 of file OMKAddVisualObjectPrm.h.


Constructor & Destructor Documentation

AddVisualObjectPrm::AddVisualObjectPrm (  ) 

Default constructor ofAddVisualObjectPrm.

Definition at line 35 of file OMKAddVisualObjectPrm.cpp.

00036 : Base(),
00037   _classId(),
00038   _configParam( 0 )
00039 {
00040 }

AddVisualObjectPrm::AddVisualObjectPrm ( const AddVisualObjectPrm ref  ) 

Copy constructor of AddVisualObjectPrm.

Definition at line 44 of file OMKAddVisualObjectPrm.cpp.

References _copy().

00045 : Base(),
00046   _configParam( 0 )
00047 {
00048   _copy( ref ) ;
00049 }

AddVisualObjectPrm::AddVisualObjectPrm ( const Name objectName,
const Name classId,
const Name VisuName,
const ConfigurationParameterDescriptor configParam 
)

Constructor of AddVisualObjectPrm with all the parameters.

Definition at line 53 of file OMKAddVisualObjectPrm.cpp.

00057 : Base(),
00058   _objectName( objectName ) ,
00059   _classId( classId ) ,
00060   _visuName( VisuName ) ,
00061   _configParam( configParam ? configParam->clone() : 0 ) 
00062 {
00063 }

AddVisualObjectPrm::~AddVisualObjectPrm (  )  [virtual]

Destructor of AddVisualObjectPrm.

Definition at line 67 of file OMKAddVisualObjectPrm.cpp.

References _configParam.

00068 {
00069   delete _configParam ;
00070 }

AddVisualObjectPrm::AddVisualObjectPrm (  ) 

Default constructor ofAddVisualObjectPrm.

Definition at line 35 of file OMKAddVisualObjectPrm.cpp.

00036 : Base(),
00037   _classId(),
00038   _configParam( 0 )
00039 {
00040 }

AddVisualObjectPrm::AddVisualObjectPrm ( const AddVisualObjectPrm ref  ) 

Copy constructor of AddVisualObjectPrm.

Definition at line 44 of file OMKAddVisualObjectPrm.cpp.

References _copy().

00045 : Base(),
00046   _configParam( 0 )
00047 {
00048   _copy( ref ) ;
00049 }

AddVisualObjectPrm::AddVisualObjectPrm ( const Name objectName,
const Name classId,
const Name VisuName,
const ConfigurationParameterDescriptor configParam 
)

Constructor of AddVisualObjectPrm with all the parameters.

Definition at line 53 of file OMKAddVisualObjectPrm.cpp.

00057 : Base(),
00058   _objectName( objectName ) ,
00059   _classId( classId ) ,
00060   _visuName( VisuName ) ,
00061   _configParam( configParam ? configParam->clone() : 0 ) 
00062 {
00063 }

AddVisualObjectPrm::~AddVisualObjectPrm (  )  [virtual]

Destructor of AddVisualObjectPrm.

Definition at line 67 of file OMKAddVisualObjectPrm.cpp.

References _configParam.

00068 {
00069   delete _configParam ;
00070 }


Member Function Documentation

void AddVisualObjectPrm::resetDefaultValues (  )  [virtual]

Reset the default values of AddVisualObjectPrm.

Definition at line 74 of file OMKAddVisualObjectPrm.cpp.

References _classId, and _configParam.

Referenced by loadParameters().

00075 {
00076   //=== Reset default parameters
00077   _classId = Name() ;
00078   delete _configParam ;
00079   _configParam = 0 ;
00080 }

bool AddVisualObjectPrm::loadParameters ( const ConfigurationParameterDescriptor node,
const std::string &  prefix = "",
SimulatedObject p = 0 
) [virtual]

Configuration parameters loader of AddVisualObjectPrm.

Parameters:
[in] node the root node of the configuration parameter
[in] prefix the text that prefix the parameters name. No prefix by default. For example the parameter named "position" by default is loaded in the configuration parameters under the name "Position" (first is upper case), and with the prefix "first" will be loaded under the name "firstPosition" (could start with a lower case).
[in] p the simulated object use by the OMKParameterAccessor to display error messages.
Returns:
true if all needed parameters can be read else false.
Reads in the configuration node the values to set the attributs.

Definition at line 84 of file OMKAddVisualObjectPrm.cpp.

References innerParametersLoader(), and resetDefaultValues().

Referenced by OMK::Vis::VisObjectExtension::loadObjectParameters().

00087 {
00088   resetDefaultValues() ;
00089   return innerParametersLoader( node, prefix, p );
00090 }

bool AddVisualObjectPrm::innerParametersLoader ( const ConfigurationParameterDescriptor node,
const std::string &  prefix = "",
SimulatedObject p = 0 
) [protected]

Protected loader, does not reset the default values.

Definition at line 94 of file OMKAddVisualObjectPrm.cpp.

References _classId, _configParam, _objectName, _visuName, OMK::ConfigurationParameterDescriptor::clone(), OMK::debugMsg(), OMK::ParametersAccessor::get(), and OMERROR.

Referenced by loadParameters().

00095 {
00096   // Tests the configuration parameter node
00097   if( !node )
00098   { // No valid node => display error message and return false
00099     std::ostringstream txt ;
00100     txt << "Error in AddVisualObjectPrm::innerParametersLoader";
00101     if( p ) txt << " for " << OMK::debugMsg( p ) ;
00102     txt << std::endl << ">>> :-( Invalid node" << std::endl ; 
00103     OMERROR( txt.str() ) ;
00104     return false ;
00105   }
00106   // return value
00107   bool ok = true ;
00108 
00109   //=== The optional parameters => no test
00110   // Load the value of VisuName
00111   ParametersAccessor::get( node, prefix + "VisuName", _visuName ) ;
00112   // Load the value of ObjectName
00113   ParametersAccessor::get( node, prefix + "ObjectName", _objectName ) ;
00114 
00115   //=== The needed parameters => tested
00116   // Load the value of ClassId
00117   ok = ParametersAccessor::get( node, prefix + "Class", _classId, p ) && ok ;
00118   // save the value of ConfigParam
00119   _configParam = node->clone() ;
00120 
00121   return ok ;
00122 }

void OMK::Type::AddVisualObjectPrm::setObjectName ( const Name objectName  )  [inline]

Set the objectName value of AddVisualObjectPrm.

Definition at line 206 of file OMKAddVisualObjectPrm.h.

Referenced by OMK::Vis::VisObjectExtension::loadObjectParameters().

00206 { _objectName = objectName ; }

const Name& OMK::Type::AddVisualObjectPrm::getObjectName (  )  const [inline]

Return the objectName value of AddVisualObjectPrm.

Definition at line 208 of file OMKAddVisualObjectPrm.h.

Referenced by _copy(), insertInStream(), operator!=(), and pack().

00208 { return _objectName ; }

void OMK::Type::AddVisualObjectPrm::setClassId ( const Name classId  )  [inline]

Set the classId value of AddVisualObjectPrm.

Definition at line 211 of file OMKAddVisualObjectPrm.h.

00211 { _classId = classId ; }

const Name& OMK::Type::AddVisualObjectPrm::getClassId (  )  const [inline]

Return the classId value of AddVisualObjectPrm.

Definition at line 213 of file OMKAddVisualObjectPrm.h.

Referenced by _copy(), insertInStream(), operator!=(), and pack().

00213 { return _classId ; }

void OMK::Type::AddVisualObjectPrm::setVisuName ( const Name VisuName  )  [inline]

Set the VisuName value of AddVisualObjectPrm.

Definition at line 216 of file OMKAddVisualObjectPrm.h.

00216 { _visuName = VisuName ; }

const Name& OMK::Type::AddVisualObjectPrm::getVisuName (  )  const [inline]

Return the VisuName value of AddVisualObjectPrm.

Definition at line 218 of file OMKAddVisualObjectPrm.h.

Referenced by _copy(), insertInStream(), OMK::Vis::VisObjectExtension::loadObjectParameters(), operator!=(), and pack().

00218 { return _visuName ; }

void OMK::Type::AddVisualObjectPrm::setConfigParam ( const ConfigurationParameterDescriptor configParam  )  [inline]

Set the configParam value of AddVisualObjectPrm.

Definition at line 221 of file OMKAddVisualObjectPrm.h.

00221 { _configParam = configParam ; }

const ConfigurationParameterDescriptor* OMK::Type::AddVisualObjectPrm::getConfigParam (  )  const [inline]

Return the configParam value of AddVisualObjectPrm.

Definition at line 223 of file OMKAddVisualObjectPrm.h.

Referenced by _copy(), insertInStream(), operator!=(), and pack().

00223 { return _configParam ; }

bool OMK::Type::AddVisualObjectPrm::operator== ( const AddVisualObjectPrm ref  )  const [inline]

Comparison operator for equality.

Definition at line 229 of file OMKAddVisualObjectPrm.h.

00229 { return !( *this != ref ) ; } 

bool AddVisualObjectPrm::operator!= ( const AddVisualObjectPrm ref  )  const

Comparison operator for difference.

Definition at line 127 of file OMKAddVisualObjectPrm.cpp.

References _classId, _configParam, _objectName, _visuName, getClassId(), getConfigParam(), getObjectName(), and getVisuName().

00128 {
00129   return _objectName != ref.getObjectName()
00130       || _classId != ref.getClassId()
00131       || _visuName != ref.getVisuName()
00132       || _configParam != ref.getConfigParam() ;
00133 }

AddVisualObjectPrm & AddVisualObjectPrm::operator= ( const AddVisualObjectPrm ref  ) 

Copy operator.

Definition at line 137 of file OMKAddVisualObjectPrm.cpp.

References _copy().

00138 {
00139   if ( this != &ref ) 
00140   {
00141     _copy( ref ) ;
00142   }
00143   return *this ;
00144 }  

void AddVisualObjectPrm::insertInStream ( std::ostream &  = std::cout  )  const [virtual]

Insert datas in an output stream.

Implements OMK::Flowable.

Definition at line 148 of file OMKAddVisualObjectPrm.cpp.

References getClassId(), getConfigParam(), getObjectName(), and getVisuName().

00149 {
00150   out << getObjectName() << " "
00151       << getClassId() << " "
00152       << getVisuName() << " "
00153       << *getConfigParam() << " " 
00154           << " " ;
00155 }

void AddVisualObjectPrm::extract ( std::istream &  = std::cin  )  [virtual]

Extract datas from an input stream.

Implements OMK::Flowable.

Definition at line 159 of file OMKAddVisualObjectPrm.cpp.

References _classId, _configParam, _objectName, and _visuName.

00160 {
00161   in >> _objectName
00162      >> _classId
00163      >> _visuName ;
00164   // At this step we must retrieve the configuration parameters
00165   // we assume that is a MultipleConfigurationParameter
00166   MultipleConfigurationParameter* configParamTmp = new MultipleConfigurationParameter ;
00167   in >> ( *configParamTmp ) ;
00168   delete _configParam ;
00169   _configParam = configParamTmp ;
00170 }

void AddVisualObjectPrm::pack ( OutgoingSynchronisationMessage out  )  const [virtual]

Pack datas in the message.

Reimplemented from OMK::Flowable.

Definition at line 174 of file OMKAddVisualObjectPrm.cpp.

References getClassId(), getConfigParam(), getObjectName(), and getVisuName().

00175 {
00176   out << getObjectName()
00177       << getClassId()
00178       << getVisuName() 
00179           << *getConfigParam() ;
00180 }

void AddVisualObjectPrm::unpack ( IncomingSynchronisationMessage in  )  [virtual]

Unpack datas from the message.

Reimplemented from OMK::Flowable.

Definition at line 184 of file OMKAddVisualObjectPrm.cpp.

References _classId, _configParam, _objectName, and _visuName.

00185 {
00186   in >> _objectName
00187      >> _classId
00188      >> _visuName ;
00189   // At this step we must retrieve the configuration parameters
00190   // we assume that is a MultipleConfigurationParameter
00191   MultipleConfigurationParameter* configParamTmp = new MultipleConfigurationParameter ;
00192   in >> ( *configParamTmp ) ;
00193   delete _configParam ;
00194   _configParam = configParamTmp ;
00195 }

PolatorNT * AddVisualObjectPrm::createPolator (  )  [virtual]

Default polator creator.

Implements OMK::Type::Base.

Definition at line 199 of file OMKAddVisualObjectPrm.cpp.

00200 {
00201   return new Polator<AddVisualObjectPrm>() ;
00202 }

void AddVisualObjectPrm::_copy ( const AddVisualObjectPrm ref  )  [protected]

Copy methods call by constructor and operator.

Definition at line 206 of file OMKAddVisualObjectPrm.cpp.

References _classId, _configParam, _objectName, _visuName, OMK::ConfigurationParameterDescriptor::clone(), getClassId(), getConfigParam(), getObjectName(), and getVisuName().

Referenced by AddVisualObjectPrm(), and operator=().

00207 {
00208   _objectName = ref.getObjectName() ; 
00209   _classId = ref.getClassId() ; 
00210   _visuName = ref.getVisuName() ; 
00211   delete _configParam ;
00212   _configParam = ref.getConfigParam() ? ref.getConfigParam()->clone() : 0 ; 
00213 }


Member Data Documentation

Name OMK::Type::AddVisualObjectPrm::_objectName [protected]

This member holds the ObjectName value of AddVisualObjectPrm.

The name of the visual object

Definition at line 261 of file OMKAddVisualObjectPrm.h.

Referenced by _copy(), extract(), innerParametersLoader(), operator!=(), and unpack().

Name OMK::Type::AddVisualObjectPrm::_classId [protected]

This member holds the ClassId value of AddVisualObjectPrm.

The class id to identify the class of the visual object and to create a new one

Definition at line 265 of file OMKAddVisualObjectPrm.h.

Referenced by _copy(), extract(), innerParametersLoader(), operator!=(), resetDefaultValues(), and unpack().

Name OMK::Type::AddVisualObjectPrm::_visuName [protected]

This member holds the VisuName value of AddVisualObjectPrm.

The name of the visualisation. If null the message will be broadcasted, if not only the specified visualisation will received the message.

Definition at line 269 of file OMKAddVisualObjectPrm.h.

Referenced by _copy(), extract(), innerParametersLoader(), operator!=(), and unpack().

const ConfigurationParameterDescriptor* OMK::Type::AddVisualObjectPrm::_configParam [protected]

This member holds the configParam value of AddVisualObjectPrm.

Informations to buid the object

Definition at line 273 of file OMKAddVisualObjectPrm.h.

Referenced by _copy(), extract(), innerParametersLoader(), operator!=(), resetDefaultValues(), unpack(), and ~AddVisualObjectPrm().


logo OpenMask

Documentation generated on Mon Jun 9 11:46:05 2008

Generated with doxygen by Dimitri van Heesch ,   1997-2007