MayaFlux 0.1.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 242 of file UniversalTransformer.hpp.

243 {
244 if (name == "strategy") {
245 auto strategy_result = safe_any_cast<TransformationStrategy>(value);
246 if (strategy_result) {
247 m_strategy = *strategy_result.value;
248 return;
249 }
250 auto str_result = safe_any_cast<std::string>(value);
251 if (str_result) {
252 auto strategy_enum = Utils::string_to_enum_case_insensitive<TransformationStrategy>(*str_result.value);
253 if (strategy_enum) {
254 m_strategy = *strategy_enum;
255 return;
256 }
257 }
258 }
259 if (name == "quality") {
260 auto quality_result = safe_any_cast<TransformationQuality>(value);
261 if (quality_result) {
262 m_quality = *quality_result.value;
263 return;
264 }
265 auto str_result = safe_any_cast<std::string>(value);
266 if (str_result) {
267 auto quality_enum = Utils::string_to_enum_case_insensitive<TransformationQuality>(*str_result.value);
268 if (quality_enum) {
269 m_quality = *quality_enum;
270 return;
271 }
272 }
273 }
274 if (name == "scope") {
275 auto scope_result = safe_any_cast<TransformationScope>(value);
276 if (scope_result) {
277 m_scope = *scope_result.value;
278 return;
279 }
280 auto str_result = safe_any_cast<std::string>(value);
281 if (str_result) {
282 auto scope_enum = Utils::string_to_enum_case_insensitive<TransformationScope>(*str_result.value);
283 if (scope_enum) {
284 m_scope = *scope_enum;
285 return;
286 }
287 }
288 }
289 set_transformation_parameter(name, std::move(value));
290 }
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.