MayaFlux 1.0.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 273 of file UniversalTransformer.hpp.

274 {
275 if (name == "strategy") {
276 auto strategy_result = safe_any_cast<TransformationStrategy>(value);
277 if (strategy_result) {
278 m_strategy = *strategy_result.value;
279 return;
280 }
281 auto str_result = safe_any_cast<std::string>(value);
282 if (str_result) {
283 auto strategy_enum = Reflect::string_to_enum_case_insensitive<TransformationStrategy>(*str_result.value);
284 if (strategy_enum) {
285 m_strategy = *strategy_enum;
286 return;
287 }
288 }
289 }
290 if (name == "quality") {
291 auto quality_result = safe_any_cast<TransformationQuality>(value);
292 if (quality_result) {
293 m_quality = *quality_result.value;
294 return;
295 }
296 auto str_result = safe_any_cast<std::string>(value);
297 if (str_result) {
298 auto quality_enum = Reflect::string_to_enum_case_insensitive<TransformationQuality>(*str_result.value);
299 if (quality_enum) {
300 m_quality = *quality_enum;
301 return;
302 }
303 }
304 }
305 if (name == "scope") {
306 auto scope_result = safe_any_cast<TransformationScope>(value);
307 if (scope_result) {
308 m_scope = *scope_result.value;
309 return;
310 }
311 auto str_result = safe_any_cast<std::string>(value);
312 if (str_result) {
313 auto scope_enum = Reflect::string_to_enum_case_insensitive<TransformationScope>(*str_result.value);
314 if (scope_enum) {
315 m_scope = *scope_enum;
316 return;
317 }
318 }
319 }
321 }
glm::vec3 value
std::string name
Definition VKDevice.cpp:123
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.

References MayaFlux::Yantra::UniversalTransformer< InputType, OutputType >::m_quality, MayaFlux::Yantra::UniversalTransformer< InputType, OutputType >::m_scope, MayaFlux::Yantra::UniversalTransformer< InputType, OutputType >::m_strategy, name, MayaFlux::Yantra::UniversalTransformer< InputType, OutputType >::set_transformation_parameter(), and value.

Referenced by MayaFlux::Yantra::ConvolutionTransformer< InputType, OutputType >::ConvolutionTransformer(), MayaFlux::Yantra::MathematicalTransformer< InputType, OutputType >::MathematicalTransformer(), MayaFlux::Yantra::ConvolutionTransformer< InputType, OutputType >::set_default_parameters(), MayaFlux::Yantra::MathematicalTransformer< InputType, OutputType >::set_default_parameters(), MayaFlux::Yantra::SpectralTransformer< InputType, OutputType >::set_default_parameters(), MayaFlux::Yantra::TemporalTransformer< InputType, OutputType >::set_default_parameters(), MayaFlux::Yantra::SpectralTransformer< InputType, OutputType >::SpectralTransformer(), and MayaFlux::Yantra::TemporalTransformer< InputType, OutputType >::TemporalTransformer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: