X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Fmod_noise%2Fnoise.cpp;h=4558624b6842f2f31082dedfe2bc82321f47613c;hb=334e15ce6c4d9b1f30a168a55e7ef4d31320d568;hp=ece2728d0e7761514f43abd42dcefd84e19f7e64;hpb=5ddcf36f04cfbd10fabda4e3c5633cb27cdd4c0a;p=synfig.git diff --git a/synfig-core/trunk/src/modules/mod_noise/noise.cpp b/synfig-core/trunk/src/modules/mod_noise/noise.cpp index ece2728..4558624 100644 --- a/synfig-core/trunk/src/modules/mod_noise/noise.cpp +++ b/synfig-core/trunk/src/modules/mod_noise/noise.cpp @@ -1,11 +1,12 @@ /* === S Y N F I G ========================================================= */ /*! \file noise.cpp -** \brief blehh +** \brief Implementation of the "Noise Gradient" layer ** -** $Id: noise.cpp,v 1.2 2005/01/13 06:48:39 darco Exp $ +** $Id$ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -52,10 +53,10 @@ using namespace etl; SYNFIG_LAYER_INIT(Noise); SYNFIG_LAYER_SET_NAME(Noise,"noise"); -SYNFIG_LAYER_SET_LOCAL_NAME(Noise,_("Noise Gradient")); -SYNFIG_LAYER_SET_CATEGORY(Noise,_("Gradients")); +SYNFIG_LAYER_SET_LOCAL_NAME(Noise,N_("Noise Gradient")); +SYNFIG_LAYER_SET_CATEGORY(Noise,N_("Gradients")); SYNFIG_LAYER_SET_VERSION(Noise,"0.0"); -SYNFIG_LAYER_SET_CVS_ID(Noise,"$Id: noise.cpp,v 1.2 2005/01/13 06:48:39 darco Exp $"); +SYNFIG_LAYER_SET_CVS_ID(Noise,"$Id$"); /* === P R O C E D U R E S ================================================= */ @@ -65,7 +66,7 @@ Noise::Noise(): size(1,1), gradient(Color::black(), Color::white()) { - smooth=2; + smooth=Random::SMOOTH_COSINE; detail=4; speed=0; do_alpha=false; @@ -79,7 +80,7 @@ Noise::Noise(): inline Color -Noise::color_func(const Point &point, float pixel_size,Context context)const +Noise::color_func(const Point &point, float pixel_size,Context /*context*/)const { Color ret(0,0,0,0); @@ -96,9 +97,9 @@ Noise::color_func(const Point &point, float pixel_size,Context context)const int i; Time time; time=speed*curr_time; - int smooth((!speed && Noise::smooth==3)?5:Noise::smooth); + Random::SmoothType smooth((!speed && Noise::smooth == Random::SMOOTH_SPLINE) ? Random::SMOOTH_FAST_SPLINE : Noise::smooth); - float t(time); + float ftime(time); { float amount=0.0f; @@ -107,15 +108,15 @@ Noise::color_func(const Point &point, float pixel_size,Context context)const float alpha=0.0f; for(i=0;i1)amount=1; if(super_sample&&pixel_size) { - amount2=random(smooth,0+(detail-i)*5,x2,y,t)+amount2*0.5; + amount2=random(smooth,0+(detail-i)*5,x2,y,ftime)+amount2*0.5; if(amount2<-1)amount2=-1;if(amount2>1)amount2=1; - amount3=random(smooth,0+(detail-i)*5,x,y2,t)+amount3*0.5; + amount3=random(smooth,0+(detail-i)*5,x,y2,ftime)+amount3*0.5; if(amount3<-1)amount3=-1;if(amount3>1)amount3=1; if(turbulent) @@ -130,7 +131,7 @@ Noise::color_func(const Point &point, float pixel_size,Context context)const if(do_alpha) { - alpha=random(smooth,3+(detail-i)*5,x,y,t)+alpha*0.5; + alpha=random(smooth,3+(detail-i)*5,x,y,ftime)+alpha*0.5; if(alpha<-1)alpha=-1;if(alpha>1)alpha=1; } @@ -142,7 +143,7 @@ Noise::color_func(const Point &point, float pixel_size,Context context)const x*=0.5f; y*=0.5f; - //t*=0.5f; + //ftime*=0.5f; } if(!turbulent) @@ -169,7 +170,7 @@ Noise::color_func(const Point &point, float pixel_size,Context context)const } inline float -Noise::calc_supersample(const synfig::Point &x, float pw,float ph)const +Noise::calc_supersample(const synfig::Point &/*x*/, float /*pw*/,float /*ph*/)const { return 0.0f; } @@ -203,7 +204,7 @@ Noise::hit_check(synfig::Context context, const synfig::Point &point)const bool Noise::set_param(const String & param, const ValueBase &value) { - if(param=="seed" && value.same_as(int())) + if(param=="seed" && value.same_type_as(int())) { random.set_seed(value.get(int())); return true; @@ -258,11 +259,11 @@ Noise::get_param_vocab()const .set_local_name(_("Interpolation")) .set_description(_("What type of interpolation to use")) .set_hint("enum") - .add_enum_value(0,"nearest",_("Nearest Neighbor")) - .add_enum_value(1,"linear",_("Linear")) - .add_enum_value(2,"cosine",_("Cosine")) - .add_enum_value(3,"spline",_("Spline")) - .add_enum_value(4,"cubic",_("Cubic")) + .add_enum_value(Random::SMOOTH_DEFAULT, "nearest", _("Nearest Neighbor")) + .add_enum_value(Random::SMOOTH_LINEAR, "linear", _("Linear")) + .add_enum_value(Random::SMOOTH_COSINE, "cosine", _("Cosine")) + .add_enum_value(Random::SMOOTH_SPLINE, "spline", _("Spline")) + .add_enum_value(Random::SMOOTH_CUBIC, "cubic", _("Cubic")) ); ret.push_back(ParamDesc("detail") .set_local_name(_("Detail"))