public void Set(CommonOptions.InsCanvas can)
        {
            RuledLineDensity = can.RuledLineDensity;
            RuledLineInvSize = (1.0f / (can.RuledLineSize * 0.001f)) * PI;
            RuledLineAngle   = can.RuledLineAngle;

            float ruledLineAngle = Deg2Rad * RuledLineAngle;
            float c = Cos(ruledLineAngle);
            float s = Sin(ruledLineAngle);

            RuledLineRotMat = new Vector4(c, -s, s, c);
        }
        public void Set(InsWCR wcr, CommonOptions.InsCanvas can)
        {
            Bleeding               = wcr.Bleeding;
            Opacity                = wcr.Opacity;
            HandTremorLen          = wcr.HandTremorLen;
            HandTremorScale        = wcr.HandTremorScale;
            HandTremorDrawCount    = wcr.HandTremorDrawCount;
            HandTremorInvDrawCount = 1.0f / wcr.HandTremorDrawCount;
            HandTremorOverlapCount = wcr.HandTremorOverlapCount;
            PigmentDispersionScale = wcr.PigmentDispersionScale;
            TurbulenceFowScale1    = wcr.TurbulenceFowScale1;
            TurbulenceFowScale2    = wcr.TurbulenceFowScale2;
            WetInWetLenRatio       = 1.0f - wcr.WetInWetLenRatio;
            WetInWetInvLenRatio    = 1.0f / wcr.WetInWetLenRatio;
            WetInWetLow            = wcr.WetInWetLow;
            WetInWetHigh           = wcr.WetInWetHigh;
            WetInWetDarkToLight    = wcr.WetInWetDarkToLight ? 1.0f : 0.0f;
            WetInWetHueSimilarity  = wcr.WetInWetHueSimilarity;
            EdgeDarkingLenRatio    = 1.0f - wcr.EdgeDarkingLenRatio;
            EdgeDarkingInvLenRatio = 1.0f / wcr.EdgeDarkingLenRatio;
            EdgeDarkingSize        = wcr.EdgeDarkingSize;
            EdgeDarkingScale       = wcr.EdgeDarkingScale;

            SNoiseUpdateTime = wcr.NoiseUpdateTime;
            SNoise1.Size.Set(wcr.HandTremorWaveLen1, wcr.HandTremorWaveLen2,
                             wcr.TurbulenceFowWaveLen1, wcr.TurbulenceFowWaveLen2);
            SNoise1.Scale.Set(wcr.HandTremorAmplitude1, wcr.HandTremorAmplitude2,
                              wcr.TurbulenceFowAmplitude1, wcr.TurbulenceFowAmplitude2);
            //SNoise1.Speed.Set(0.1f, 0.1f, 0.1f, 0.1f);
            SNoise1.Speed.Set(0.0f, 0.0f, 0.0f, 0.0f);
            SNoise1.RT = 6;

            SNoise2.Size.Set(wcr.WetInWetWaveLen, 1.0f, 1.0f, can.WrinkleWaveLen);
            SNoise2.Scale.Set(wcr.WetInWetAmplitude, 1.0f, 1.0f, can.WrinkleAmplitude);
            //SNoise2.Speed.Set(0.1f, 0.1f, 0.1f, 0.1f);
            SNoise2.Speed.Set(0.0f, 0.0f, 0.0f, 0.0f);
            SNoise2.RT = 7;
        }