| |
| |
|
|
| |
| |
| |
| #ifdef WIN32 |
| #pragma warning(disable : 4996) |
| #endif |
| #include <math.h> |
| #include <stdlib.h> |
| #include <string.h> |
| #include "PatternMapParam.h" |
| |
| #include "SDef.h" |
| #include "SError.h" |
| #include "Pattern.h" |
| |
| |
| |
| |
| CPatternMapParam::CPatternMapParam() |
| { |
| null(); |
| } |
| |
| CPatternMapParam::CPatternMapParam(const int argc, const char *argv[], |
| const int shrink) |
| { |
| try { |
| null(); |
| if (argc == 12) { |
| double scale = shrink > 0 ? 1.0 / (double)shrink : 1.0; |
| |
| |
| |
| |
| |
| m_ink.set(argv[0], 4095); |
| |
| m_maxScale = MAX(atof(argv[1]) * scale, atof(argv[2]) * scale); |
| m_minScale = MIN(atof(argv[1]) * scale, atof(argv[2]) * scale); |
| |
| m_maxDirAngle = MAX(atof(argv[3]), atof(argv[4])); |
| m_minDirAngle = MIN(atof(argv[3]), atof(argv[4])); |
| m_isRandomDir = atoi(argv[5]) > 0 ? true : false; |
| |
| double dmax = MAX(atof(argv[6]) * scale, 1.0); |
| double dmin = MAX(atof(argv[7]) * scale, 1.0); |
| m_maxDist = MAX(dmax, dmin); |
| m_minDist = MIN(dmax, dmin); |
| m_density = shrink > 0 ? atof(argv[8]) * (double)shrink : atof(argv[8]); |
| |
| m_isKeepContour = atoi(argv[9]) > 0 ? true : false; |
| m_isUseInkColor = atoi(argv[10]) > 0 ? true : false; |
| m_isIncludeAlpha = atoi(argv[11]) > 0 ? true : false; |
| } |
| } catch (SError) { |
| throw; |
| } |
| } |
| |
| CPatternMapParam::~CPatternMapParam() |
| { |
| } |
| |
| void CPatternMapParam::null() |
| { |
| m_patternFn[0] = '\0'; |
| m_ink.m_nb = 0; |
| m_isKeepContour = false; |
| m_isRandomDir = false; |
| m_minDirAngle = 0.0; |
| m_maxDirAngle = 0.0; |
| m_minScale = 0.2; |
| m_maxScale = 0.2; |
| m_isUseInkColor = true; |
| m_isIncludeAlpha = true; |
| m_density = 0.2; |
| m_minDist = 3.0; |
| m_maxDist = 3.0; |
| } |
| |
| void CPatternMapParam::testValue() |
| { |
| strcpy(m_patternFn, "d:\\toonz_fx\\test\\artcontour\\e.ttt"); |
| |
| m_ink.m_nb = 1; |
| m_ink.m_ci[0] = 0; |
| |
| m_isKeepContour = false; |
| |
| m_isRandomDir = false; |
| m_minDirAngle = 0.0; |
| m_maxDirAngle = 0.0; |
| |
| m_minScale = 0.3; |
| m_maxScale = 0.4; |
| |
| m_isUseInkColor = true; |
| m_isIncludeAlpha = true; |
| m_density = 0.0; |
| m_minDist = 3.0; |
| m_maxDist = 3.0; |
| } |
| |
| bool CPatternMapParam::isOK() |
| { |
| return true; |
| } |
| |