| 489 | } |
| 490 | |
| 491 | void CreateOpVecFromOpData(OpRcPtrVec & ops, |
| 492 | const ConstOpDataRcPtr & opData, |
| 493 | TransformDirection dir) |
| 494 | { |
| 495 | switch (opData->getType()) |
| 496 | { |
| 497 | case OpData::CDLType: |
| 498 | { |
| 499 | auto cdlSrc = std::dynamic_pointer_cast<const CDLOpData>(opData); |
| 500 | auto cdl = std::make_shared<CDLOpData>(*cdlSrc); |
| 501 | CreateCDLOp(ops, cdl, dir); |
| 502 | break; |
| 503 | } |
| 504 | |
| 505 | case OpData::ExponentType: |
| 506 | { |
| 507 | auto expSrc = std::dynamic_pointer_cast<const ExponentOpData>(opData); |
| 508 | auto exp = std::make_shared<ExponentOpData>(*expSrc); |
| 509 | CreateExponentOp(ops, exp, dir); |
| 510 | break; |
| 511 | } |
| 512 | |
| 513 | case OpData::ExposureContrastType: |
| 514 | { |
| 515 | auto ecSrc = std::dynamic_pointer_cast<const ExposureContrastOpData>(opData); |
| 516 | auto ec = ecSrc->clone(); |
| 517 | CreateExposureContrastOp(ops, ec, dir); |
| 518 | break; |
| 519 | } |
| 520 | |
| 521 | case OpData::FixedFunctionType: |
| 522 | { |
| 523 | auto ffSrc = std::dynamic_pointer_cast<const FixedFunctionOpData>(opData); |
| 524 | auto ff = std::make_shared<FixedFunctionOpData>(*ffSrc); |
| 525 | CreateFixedFunctionOp(ops, ff, dir); |
| 526 | break; |
| 527 | } |
| 528 | |
| 529 | case OpData::GammaType: |
| 530 | { |
| 531 | auto gammaSrc = std::dynamic_pointer_cast<const GammaOpData>(opData); |
| 532 | auto gamma = std::make_shared<GammaOpData>(*gammaSrc); |
| 533 | CreateGammaOp(ops, gamma, dir); |
| 534 | break; |
| 535 | } |
| 536 | |
| 537 | case OpData::GradingPrimaryType: |
| 538 | { |
| 539 | auto primarySrc = std::dynamic_pointer_cast<const GradingPrimaryOpData>(opData); |
| 540 | auto primary = std::make_shared<GradingPrimaryOpData>(*primarySrc); |
| 541 | CreateGradingPrimaryOp(ops, primary, dir); |
| 542 | break; |
| 543 | } |
| 544 | |
| 545 | case OpData::GradingRGBCurveType: |
| 546 | { |
| 547 | auto rgbSrc = std::dynamic_pointer_cast<const GradingRGBCurveOpData>(opData); |
| 548 | auto rgb = std::make_shared<GradingRGBCurveOpData>(*rgbSrc); |
no test coverage detected