OMK::Type Namespace Reference
[Interaction objects and ids]

Namespace of the interactor/inspector/interactive objects. More...


Classes

class  ColorPolator
class  NumericPolatorT
 a not so basic polator for numeric types. More...
class  Polator
 Defines the most basic polator : always returns a produced value. More...
class  PolatorNT
 Base class for a polator. More...
class  Base
 This class defines what a data type is for OpenMASK. More...
class  Color
 Color Type. More...
class  SimpleTypeT
 A OMKType with a type which can be used as the type itself. More...
class  Transform
 Type Transform. More...
class  AddAnimatorPrm
 Event processed by the visualisation to add a animator to a visual object. More...
class  AddVisualObjectPrm
 Event processed by the visualisation to add a animator to a visual object. More...
class  AccessibleParameterPrm
 Class AccessibleParameterPrm generated. More...
class  AccessLevelList
 A access level and a list. More...
class  AccessGroup
 Class AccessGroup generated. More...
class  TwoIdsPrm
 Class TwoIdsPrm generated. More...
class  ControlTakeOverPrm
 Class ControlTakeOverPrm generated. More...
typedef std::list< AccessibleParameterPrmAccessibleParametersListPrm
 Datas and events.
typedef std::pair< Name, std::list<
Name > > 
ControlTakenOfParameterPrm
typedef std::list< ControlTakenOfParameterPrmControlTakenPrm
typedef std::pair< Name, NameControlUpdatedPrm
typedef AccessGroup GetAccessibleParametersPrm
typedef AccessLevelList< ControlTakeOverPrmTakeOverAndGetCurrentValuesPrm
typedef std::list< NameControlReleasePrm
typedef AccessLevelList< std::pair<
Name, AccessGroupLevel > > 
ControlFreezePrm
typedef std::list< NameControlUnfreezePrm
typedef AccessLevelList< NameGetCurrentValuesPrm
typedef std::pair< Name, NameNewValueAvailablePrm
 DECLARE_TYPE_EVENT_LISTENER (AccessibleParametersListPrm, AccessibleParametersList, OMK::Iii::InteractorExtension)
 DECLARE_TYPE_EVENT_LISTENER (ControlTakenPrm, ControlTaken, OMK::Iii::InteractorExtension)
 DECLARE_EVENT_LISTENER (Name, ControlReleased, OMK::Iii::InteractorExtension)
 DECLARE_EVENT_LISTENER (Name, ControlEnded, OMK::Iii::InteractorExtension)
 DECLARE_TYPE_EVENT_LISTENER (ControlUpdatedPrm, ControlUpdated, OMK::Iii::InteractorExtension)
 DECLARE_TYPE_EVENT_LISTENER (GetAccessibleParametersPrm, GetAccessibleParameters, OMK::Iii::InteractiveExtension)
 DECLARE_TYPE_EVENT_LISTENER (TakeOverAndGetCurrentValuesPrm, TakeOverAndGetCurrentValues, OMK::Iii::InteractiveExtension)
 DECLARE_TYPE_EVENT_LISTENER (ControlReleasePrm, ControlRelease, OMK::Iii::InteractiveExtension)
 DECLARE_TYPE_EVENT_LISTENER (ControlFreezePrm, ControlFreeze, OMK::Iii::InteractiveExtension)
 DECLARE_TYPE_EVENT_LISTENER (ControlUnfreezePrm, ControlUnfreeze, OMK::Iii::InteractiveExtension)
 DECLARE_TYPE_EVENT_LISTENER (GetCurrentValuesPrm, GetCurrentValues, OMK::Iii::InteractiveExtension)
 DECLARE_TYPE_EVENT_LISTENER (NewValueAvailablePrm, NewValueAvailable, OMK::Iii::InteractiveExtension)

Typedefs

typedef SimpleTypeT< std::string > StringType
typedef SimpleTypeT< boolBoolType
typedef SimpleTypeT< intIntType
typedef SimpleTypeT< float > FloatType
typedef SimpleTypeT< double > DoubleType
typedef SimpleTypeT< ColorColorType
typedef SimpleTypeT< TransformTransformType
typedef std::pair< Name, NameVisuInfoPrm
typedef OMK::Type::SimpleTypeT<
AccessibleParameterPrm
AccessibleParameterPrmType
 Type definition for easy use of AccessibleParameterPrm.
typedef int AccessLevel
typedef std::map< Name, Type::AccessLevelAccessGroupLevel
typedef OMK::Type::SimpleTypeT<
AccessGroup
AccessGroupType
 Type definition for easy use of AccessGroup.
typedef OMK::Type::SimpleTypeT<
TwoIdsPrm
TwoIdsPrmType
 Type definition for easy use of TwoIdsPrm.
typedef OMK::Type::SimpleTypeT<
ControlTakeOverPrm
ControlTakeOverPrmType
 Type definition for easy use of ControlTakeOverPrm.

Functions

bool operator== (const Color &c0, const Color &c1)
bool operator!= (const Color &c0, const Color &c1)
Transform product (const Transform &A, const Transform &B)
bool operator== (const Transform &t0, const Transform &t1)
bool operator!= (const Transform &t0, const Transform &t1)
 DECLARE_TYPE_EVENT (VisuInfoPrm, VisuInfo)
bool operator!= (const AccessibleParameterPrm &a0, const AccessibleParameterPrm &a1)
bool operator!= (const AccessGroup &a0, const AccessGroup &a1)
bool operator!= (const TwoIdsPrm &t0, const TwoIdsPrm &t1)
bool operator!= (const ControlTakeOverPrm &c0, const ControlTakeOverPrm &c1)
 DECLARE_TYPE_EVENT (HBT::PostureData, PostureData)
 DECLARE_TYPE_EVENT (HBT::InitialisationSequence, InitialisationSequence)

Variables

template class OMK_API SimpleTypeT< bool >
template class OMK_API SimpleTypeT< int >
template class OMK_API SimpleTypeT< float >
template class OMK_API SimpleTypeT< double >
template class OMK_API SimpleTypeT< Color >
template class OMK_API SimpleTypeT< Transform >


Detailed Description

Namespace of the interactor/inspector/interactive objects.

Date:
2006-10-22
Author:
Benoît Chanclou


Typedef Documentation

typedef std::map< Name, Type::AccessLevel > OMK::Type::AccessGroupLevel

Definition at line 40 of file OMKControlTakeOverPrm.h.

typedef OMK::Type::SimpleTypeT< AccessGroup > OMK::Type::AccessGroupType

Type definition for easy use of AccessGroup.

Definition at line 211 of file OMKControlTakeOverPrm.h.

typedef OMK::Type::SimpleTypeT< AccessibleParameterPrm > OMK::Type::AccessibleParameterPrmType

Type definition for easy use of AccessibleParameterPrm.

Definition at line 216 of file OMKAccessibleParameterPrm.h.

typedef int OMK::Type::AccessLevel

Definition at line 39 of file OMKControlTakeOverPrm.h.

typedef SimpleTypeT< bool > OMK::Type::BoolType

Definition at line 35 of file OMKBaseType.h.

typedef SimpleTypeT< Color > OMK::Type::ColorType

Definition at line 36 of file OMKColorType.h.

typedef OMK::Type::SimpleTypeT< ControlTakeOverPrm > OMK::Type::ControlTakeOverPrmType

Type definition for easy use of ControlTakeOverPrm.

Definition at line 570 of file OMKControlTakeOverPrm.h.

typedef SimpleTypeT< double > OMK::Type::DoubleType

Definition at line 38 of file OMKBaseType.h.

typedef SimpleTypeT< float > OMK::Type::FloatType

Definition at line 37 of file OMKBaseType.h.

typedef SimpleTypeT< int > OMK::Type::IntType

Definition at line 36 of file OMKBaseType.h.

typedef SimpleTypeT< std::string > OMK::Type::StringType

Definition at line 34 of file OMKBaseType.h.

typedef SimpleTypeT< Transform > OMK::Type::TransformType

Definition at line 36 of file OMKTransformType.h.

typedef OMK::Type::SimpleTypeT< TwoIdsPrm > OMK::Type::TwoIdsPrmType

Type definition for easy use of TwoIdsPrm.

Definition at line 389 of file OMKControlTakeOverPrm.h.

typedef std::pair< Name, Name > OMK::Type::VisuInfoPrm

Definition at line 12 of file OMKVisServiceExtension.h.


Function Documentation

OMK::Type::DECLARE_TYPE_EVENT ( HBT::InitialisationSequence  ,
InitialisationSequence   
)

OMK::Type::DECLARE_TYPE_EVENT ( HBT::PostureData  ,
PostureData   
)

OMK::Type::DECLARE_TYPE_EVENT ( VisuInfoPrm  ,
VisuInfo   
)

bool OMK::Type::operator!= ( const ControlTakeOverPrm c0,
const ControlTakeOverPrm c1 
)

Definition at line 409 of file OMKControlTakeOverPrm.cpp.

References OMK::Type::ControlTakeOverPrm::_accessGroup.

00410 {
00411   return (OMK::Type::TwoIdsPrm)c0 != (OMK::Type::TwoIdsPrm)c1
00412       || c0._accessGroup != c1._accessGroup ;
00413 }

bool OMK::Type::operator!= ( const TwoIdsPrm t0,
const TwoIdsPrm t1 
)

Definition at line 245 of file OMKControlTakeOverPrm.cpp.

References OMK::Type::TwoIdsPrm::_id, and OMK::Type::TwoIdsPrm::_secondId.

00246 {
00247   return t0._id != t1._id
00248       || t0._secondId != t1._secondId ;
00249 }

bool OMK::Type::operator!= ( const AccessGroup a0,
const AccessGroup a1 
)

Definition at line 92 of file OMKControlTakeOverPrm.cpp.

References OMK::Type::AccessGroup::_groupName, and OMK::Type::AccessGroup::_level.

00093 {
00094   return a0._groupName != a1._groupName
00095       || a0._level != a1._level ;
00096 }

bool OMK::Type::operator!= ( const AccessibleParameterPrm a0,
const AccessibleParameterPrm a1 
)

Definition at line 117 of file OMKAccessibleParameterPrm.cpp.

References OMK::Type::AccessibleParameterPrm::_accessible, OMK::Type::AccessibleParameterPrm::_category, OMK::Type::AccessibleParameterPrm::_id, OMK::Type::AccessibleParameterPrm::_levels, OMK::Type::AccessibleParameterPrm::_toolsInUse, and OMK::Type::AccessibleParameterPrm::_type.

00118 {
00119   return a0._id != a1._id
00120       || a0._category != a1._category
00121       || a0._type != a1._type
00122       || a0._accessible != a1._accessible
00123       || a0._levels != a1._levels
00124       || a0._toolsInUse != a1._toolsInUse ;
00125 }

bool OMK::Type::operator!= ( const Transform t0,
const Transform t1 
)

Definition at line 606 of file OMKTransform.cpp.

00607 {
00608   return !( t0 == t1 ) ;
00609 }

bool OMK::Type::operator!= ( const Color c0,
const Color c1 
)

Definition at line 82 of file OMKColor.cpp.

00083 {
00084   return !( c0 == c1 ) ;
00085 }

bool OMK::Type::operator== ( const Transform t0,
const Transform t1 
)

Definition at line 593 of file OMKTransform.cpp.

References OMK::Type::Transform::_identity, OMK::Type::Transform::_matrix, OMK::Type::Transform::_scale, OMK::Type::Transform::_translate, and OMK::Type::Transform::_uniformScale.

00594 {
00595   return (  t0._identity == t1._identity &&
00596             t0._uniformScale == t1._uniformScale && 
00597             t0._translate == t1._translate && 
00598             t0._scale == t1._scale && 
00599             t0._matrix == t1._matrix ) ;
00600 }

bool OMK::Type::operator== ( const Color c0,
const Color c1 
)

Definition at line 74 of file OMKColor.cpp.

References OMK::Type::Color::_array.

00075 {
00076   return c0._array[0] == c1._array[0]
00077       && c0._array[1] == c1._array[1]
00078       && c0._array[2] == c1._array[2]
00079       && c0._array[3] == c1._array[3] ;
00080 }

Transform OMK::Type::product ( const Transform A,
const Transform B 
)

Parameters:
[in] A The first tranformation
[in] B The second tranformation
Returns:
$C=A.B$

Definition at line 439 of file OMKTransform.cpp.

References OMK::Type::Transform::_matrix, OMK::Type::Transform::_scale, OMK::Type::Transform::_translate, OMK::Type::Transform::_uniformScale, OMK::Type::Transform::getScale(), OMK::Type::Transform::getUniformScale(), OMK::Type::Transform::isIdentity(), OMK::Type::Transform::isUniformScale(), OMK::Type::Transform::setRotate(), OMK::Type::Transform::setScale(), OMK::Type::Transform::setTranslate(), and OMK::Type::Transform::setUniformScale().

Referenced by OMK::Iii::Joint::currentJointPosition(), OMK::Iii::HingeSlideJoint::currentObjectPosition(), OMK::Iii::BallJoint::currentObjectPosition(), OMK::Iii::Joint::currentObjectPosition(), OMK::Iii::Joint::establishLink(), OMK::Inp::PlusMinusExtension< T >::increment(), OMK::Iii::HingeSlideJoint::retroPropagation(), OMK::Iii::BallJoint::retroPropagation(), and OMK::Iii::Joint::retroPropagation().

00440 {
00441   Transform output ;
00442   if( A.isIdentity() )
00443   {
00444     output = B ;
00445   }
00446   else if( B.isIdentity() )
00447   {
00448     output = A ;
00449   }
00450   else
00451   {
00452     if( !A.isUniformScale() )
00453     {
00454       // set correctly "_uniformScale" boolean in A if needed
00455       const_cast< Transform& >( A )._uniformScale = ( A._scale[0] == A._scale[1] && A._scale[1] == A._scale[2] ) ;
00456     }
00457 
00458     output.setRotate( A._matrix * B._matrix ) ;
00459 
00460     if( A.isUniformScale() )
00461     {
00462       output.setTranslate( A.getUniformScale() * ( A._matrix * B._translate ) + A._translate ) ;
00463 
00464       if ( B.isUniformScale() )
00465       {
00466         output.setUniformScale( A.getUniformScale() * B.getUniformScale() ) ;
00467       }
00468       else
00469       {
00470         output.setScale( A.getUniformScale() * B.getScale() ) ;
00471       }
00472     }
00473     else
00474     {
00475       Wm4::Vector3f v0_translate( A._matrix * B._translate ) ;
00476       Wm4::Vector3f v1_translate( A.getScale()[0] * v0_translate[0],
00477                                   A.getScale()[1] * v0_translate[1],
00478                                   A.getScale()[2] * v0_translate[2] ) ;
00479       output.setTranslate( v1_translate + A._translate ) ;
00480 
00481       if ( B.isUniformScale() )
00482       {
00483         output.setScale( A.getScale() * B.getUniformScale() ) ;
00484       }
00485       else
00486       {
00487         Wm4::Vector3f v0_scale( A._matrix * B._scale ) ;
00488         Wm4::Vector3f v1_scale( A.getScale()[0] * v0_scale[0],
00489                                 A.getScale()[1] * v0_scale[1],
00490                                 A.getScale()[2] * v0_scale[2] ) ;
00491         output.setScale( v1_scale ) ;
00492       }
00493     }
00494   }
00495   return output ;
00496 }


Variable Documentation

template class OMK_API OMK::Type::SimpleTypeT< bool >

Definition at line 53 of file OMKBaseType.h.

template class OMK_API OMK::Type::SimpleTypeT< Color >

Definition at line 44 of file OMKColorType.h.

template class OMK_API OMK::Type::SimpleTypeT< double >

Definition at line 56 of file OMKBaseType.h.

template class OMK_API OMK::Type::SimpleTypeT< float >

Definition at line 55 of file OMKBaseType.h.

template class OMK_API OMK::Type::SimpleTypeT< int >

Definition at line 54 of file OMKBaseType.h.

template class OMK_API OMK::Type::SimpleTypeT< Transform >

Definition at line 44 of file OMKTransformType.h.


logo OpenMask

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

Generated with doxygen by Dimitri van Heesch ,   1997-2007