MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ set_parameter()

template<ComputeData InputType = Kakshya::DataVariant, ComputeData OutputType = InputType>
void MayaFlux::Yantra::UniversalTransformer< InputType, OutputType >::set_parameter ( const std::string &  name,
std::any  value 
)
inlineoverridevirtual

Type-safe parameter management with transformation-specific defaults.

Parameters
nameParameter name
valueParameter value (type-erased)

Handles core transformer parameters (strategy, quality, scope) and delegates transformer-specific parameters to set_transformation_parameter().

Core parameters:

  • "strategy": TransformationStrategy enum or string
  • "quality": TransformationQuality enum or string
  • "scope": TransformationScope enum or string

Implements MayaFlux::Yantra::ComputeOperation< InputType, OutputType >.

Definition at line 247 of file UniversalTransformer.hpp.

248 {
249 if (name == "strategy") {
250 auto strategy_result = safe_any_cast<TransformationStrategy>(value);
251 if (strategy_result) {
252 m_strategy = *strategy_result.value;
253 return;
254 }
255 auto str_result = safe_any_cast<std::string>(value);
256 if (str_result) {
257 auto strategy_enum = Reflect::string_to_enum_case_insensitive<TransformationStrategy>(*str_result.value);
258 if (strategy_enum) {
259 m_strategy = *strategy_enum;
260 return;
261 }
262 }
263 }
264 if (name == "quality") {
265 auto quality_result = safe_any_cast<TransformationQuality>(value);
266 if (quality_result) {
267 m_quality = *quality_result.value;
268 return;
269 }
270 auto str_result = safe_any_cast<std::string>(value);
271 if (str_result) {
272 auto quality_enum = Reflect::string_to_enum_case_insensitive<TransformationQuality>(*str_result.value);
273 if (quality_enum) {
274 m_quality = *quality_enum;
275 return;
276 }
277 }
278 }
279 if (name == "scope") {
280 auto scope_result = safe_any_cast<TransformationScope>(value);
281 if (scope_result) {
282 m_scope = *scope_result.value;
283 return;
284 }
285 auto str_result = safe_any_cast<std::string>(value);
286 if (str_result) {
287 auto scope_enum = Reflect::string_to_enum_case_insensitive<TransformationScope>(*str_result.value);
288 if (scope_enum) {
289 m_scope = *scope_enum;
290 return;
291 }
292 }
293 }
294 set_transformation_parameter(name, std::move(value));
295 }
TransformationScope m_scope
Current processing scope.
TransformationStrategy m_strategy
Core transformation configuration.
virtual void set_transformation_parameter(const std::string &name, std::any value)
Transformation-specific parameter handling (override for custom parameters)
TransformationQuality m_quality
Current quality level.