35 #ifndef IE_COREMAYA_FROMMAYAPLUGCONVERTER_H
36 #define IE_COREMAYA_FROMMAYAPLUGCONVERTER_H
38 #include "IECoreMaya/FromMayaConverter.h"
40 #include "IECore/Object.h"
42 #include "maya/MPlug.h"
43 #include "maya/MFnNumericData.h"
44 #include "maya/MFnUnitAttribute.h"
51 IE_CORE_FORWARDDECLARE( FromMayaPlugConverter );
63 const MPlug &
plug()
const;
70 static FromMayaConverterPtr
create(
const MPlug &plug,
IECore::TypeId resultType=IECore::InvalidTypeId );
86 static FromMayaPlugConverterPtr creator(
const MPlug &
object );
91 typedef FromMayaPlugConverterPtr (*CreatorFn)(
const MPlug &
plug );
92 static void registerConverter( MFnNumericData::Type fromType,
IECore::TypeId resultType,
bool isDefaultConverter, CreatorFn creator );
93 static void registerConverter( MFnData::Type fromType,
IECore::TypeId resultType,
bool isDefaultConverter, CreatorFn creator );
94 static void registerConverter( MFnUnitAttribute::Type fromType,
IECore::TypeId resultType,
bool isDefaultConverter, CreatorFn creator );
96 typedef std::pair<MFnNumericData::Type, IECore::TypeId> NumericTypePair;
97 typedef std::map<NumericTypePair, CreatorFn> NumericTypesToFnsMap;
98 typedef std::map<MFnNumericData::Type, NumericTypesToFnsMap::const_iterator> NumericDefaultConvertersMap;
99 static NumericTypesToFnsMap &numericTypesToFns();
100 static NumericDefaultConvertersMap &numericDefaultConverters();
102 typedef std::pair<MFnData::Type, IECore::TypeId> TypedTypePair;
103 typedef std::map<TypedTypePair, CreatorFn> TypedTypesToFnsMap;
104 typedef std::map<MFnData::Type, TypedTypesToFnsMap::const_iterator> TypedDefaultConvertersMap;
105 static TypedTypesToFnsMap &typedTypesToFns();
106 static TypedDefaultConvertersMap &typedDefaultConverters();
108 typedef std::pair<MFnUnitAttribute::Type, IECore::TypeId> UnitTypePair;
109 typedef std::map<UnitTypePair, CreatorFn> UnitTypesToFnsMap;
110 typedef std::map<MFnUnitAttribute::Type, UnitTypesToFnsMap::const_iterator> UnitDefaultConvertersMap;
111 static UnitTypesToFnsMap &unitTypesToFns();
112 static UnitDefaultConvertersMap &unitDefaultConverters();
120 #include "IECoreMaya/FromMayaPlugConverter.inl"
122 #endif // IE_COREMAYA_FROMMAYAPLUGCONVERTER_H
Definition: FromMayaConverter.h:48
static FromMayaConverterPtr create(const MPlug &plug, IECore::TypeId resultType=IECore::InvalidTypeId)
TypeId
Definition: TypeIds.h:46
const MPlug & plug() const
The MPlug which will be converted by the convert() function.
The IECoreMaya namespace holds all the functionality of libIECoreMaya.
Definition: BoolParameterHandler.h:44
Definition: FromMayaPlugConverter.h:79
Definition: FromMayaPlugConverter.h:55