38 #ifndef IE_CORE_TYPEDOBJECTPARAMETER_H
39 #define IE_CORE_TYPEDOBJECTPARAMETER_H
43 #include "IECore/ObjectParameter.h"
48 IE_CORE_FORWARDDECLARE( Renderable )
49 IE_CORE_FORWARDDECLARE( StateRenderable )
50 IE_CORE_FORWARDDECLARE( AttributeState )
51 IE_CORE_FORWARDDECLARE( Shader )
52 IE_CORE_FORWARDDECLARE( Transform )
53 IE_CORE_FORWARDDECLARE( MatrixMotionTransform )
54 IE_CORE_FORWARDDECLARE( MatrixTransform )
55 IE_CORE_FORWARDDECLARE( VisibleRenderable )
56 IE_CORE_FORWARDDECLARE( Group )
57 IE_CORE_FORWARDDECLARE( ObjectVector )
58 IE_CORE_FORWARDDECLARE( SmoothSkinningData )
68 typedef typename T::Ptr ObjectTypePtr;
69 typedef typename T::ConstPtr ConstObjectTypePtr;
70 typedef std::pair<std::string, ObjectTypePtr> ObjectPreset;
71 typedef std::vector<ObjectPreset> ObjectPresetsContainer;
73 TypedObjectParameter(
const std::string &name,
const std::string &description,
typename T::Ptr defaultValue,
const ObjectPresetsContainer &presets = ObjectPresetsContainer(),
bool presetsOnly =
false,ConstCompoundObjectPtr userData=
nullptr );
78 bool valueValid(
const Object *value, std::string *reason =
nullptr )
const override;
82 static PresetsContainer makePresets(
const ObjectPresetsContainer &presets );
86 static TypeDescription<TypedObjectParameter<T> > g_typeDescription;
103 IE_CORE_DECLAREPTR( RenderableParameter );
104 IE_CORE_DECLAREPTR( StateRenderableParameter );
105 IE_CORE_DECLAREPTR( AttributeStateParameter );
106 IE_CORE_DECLAREPTR( ShaderParameter );
107 IE_CORE_DECLAREPTR( TransformParameter );
108 IE_CORE_DECLAREPTR( MatrixMotionTransformParameter );
109 IE_CORE_DECLAREPTR( MatrixTransformParameter );
110 IE_CORE_DECLAREPTR( VisibleRenderableParameter );
111 IE_CORE_DECLAREPTR( GroupParameter );
112 IE_CORE_DECLAREPTR( CompoundObjectParameter );
113 IE_CORE_DECLAREPTR( ObjectVectorParameter );
114 IE_CORE_DECLAREPTR( SmoothSkinningDataParameter );
118 #endif // IE_CORE_TYPEDOBJECTPARAMETER_H
Definition: ObjectParameter.h:48
std::vector< Preset > PresetsContainer
A type to store a bunch of preset values for the Parameter.
Definition: Parameter.h:63
Definition: TypedObjectParameter.h:63
This namespace contains all components of the core library.
Definition: AddSmoothSkinningInfluencesOp.h:43